[ibis-macro] Re: Table usage

  • From: Mike Steinberger <msteinb@xxxxxxxxxx>
  • To: ibis-macro@xxxxxxxxxxxxx
  • Date: Thu, 30 Sep 2010 11:28:49 -0500

Guys-

I agree that we've always needed some way to get an array-type value into a parameter string, and I agree that Table is the construct that came closest to being able to do that.

I hope you realize, however, that the syntax you're proposing is incompatible with the syntax we've used to date.

The syntax we've used to date expects a name/value pair inside a set of parentheses. The value can be another branch of the parameter tree or an array of values. Either way, what comes after the open paren is a name. What you're proposing doesn't have a name after the open paren. Rather, your proposal is to skip the name and go straight to the value.

There are a number of possible solutions:
1. Put in a name even if it doesn't get used. That's what we do in our Dependency Table structure. Ambrish's example would then become something like

(Model_Specific
    (fwd (Usage In)(Type Float)(Format Table (idunno -0.169 1.403 0.330)))
    (bwd (Usage In)(Type Float)(Format Table (dummy -0.738 -0.29 -0.069 -0.070 -0.059)))
)

2. Agree that a Table must have at least two values in its array and that the name of the parameter tree leaf that defines the array is actually the first value of the array.

3. Drop the innermost set of parentheses and agree that the value of a Table is an array, just like we do with other Formats such as List, Range, and Corner.

Of the above three options, I think that 3. is by far the cleanest and most straightforward, both to understand and to implement. I do not believe, however, that there's any excuse for creating a totally incompatible syntax as you've proposed here.

Mike S.

On 09/30/2010 10:57 AM, Ambrish Varma wrote:

Thanks Ken,

I think I also promised an example of Table. Here is a model specific section of a model we use:

 

     (Model_Specific

      (fwd (usage in) (Type Float) (Format Table ( -0.169324 1.40308 0.330246)))

      (bwd (usage in) (Type Float) (Format Table ( -0.738358 -0.293473 -0.0691206 -0.0703122 -0.0586222)))

     )

 

The dll expects something like this for the 2 parameters:

(fwd -0.169324 1.40308 0.330246 )

(bwd -0.738358 -0.293473 -0.0691206 -0.0703122 -0.0586222 )

 

Thanks,
Ambrish.

 

 

Ambrish Varma   |  Member of Consulting Staff

P: 978.262.6431   www.cadence.com

 

 

 

 


From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Ken Willis
Sent: Thursday, September 30, 2010 11:50 AM
To: IBIS-ATM
Subject: [ibis-macro] Table usage

 

Hi,

 

Following up from the last call, here is an example of Table being used in an AMI file:

 

(abc (Usage In) (Type Float) (Format Table (10.1 20.2 30.3)) (Description "Table example"))

 

Here is what it looks like when being passed to the DLL:

 

(abc 10.1 20.2 30.3 )

 

Thanks,

 

Ken Willis

Sigrity, Inc.

860-871-7070

kwillis@xxxxxxxxxxx

 

 


Other related posts: