Chapter 3
Ada Language Reference
3-34
ni.com
The data in the
sp_fxp
parameters represent the operators and conversion
used in the currently scoped subsystem or procedure. No assumptions can
be made about the order within a given list parameter. However, the
n
th
element in one list does relate to the
n
th element in another list, depending
on the purpose of the lists.
For the
sp_fxp_operatorid_li
and
sp_fxp_conversionid_li
parameters, these contain the type of operator or conversion to be
instantiated. The lists can indicate duplicates with respect to all of the
operators or conversion in the model. Therefore, operators that are
indicated to be duplicate are not duplicate with respect to the currently
scoped subsystem or procedure. So, that operator must be instantiated.
This is done by subtracting 1,000 from the value and continuing processing
as normal.
You should loop through all of the subsystems and procedures of a model,
scope it, then generate the operator and conversion instantiations. It is
implied that different packages must be used for each subsystem and
procedure as there might be duplicate operators or procedures between
subsystems and procedures.
System Scope Operators and Conversions
A so-called system scope exists for operators and conversions that are used
somewhere other than a subsystem or procedure. When using the
subsystem-level parameters to generate instantiations, you must also
generate instantiations for these system scope operators and conversions.
Unfortunately, the
sp_fxp
parameters are not available when scoped to
just a system. Therefore, you must use the system-level parameters to
generate these instantiations.
The system-level parameters will contain all of the operators and
conversions in some order. The only guarantee is that the system scoped
operators and conversions appear in the system-level parameter lists after
all of the subsystem and procedure operators and conversions. Thus, to find
the beginning of the system scoped operators and conversions, you must
compute the sum of all of the subsystem and procedure operators, then the
sum of all of the subsystem and procedure conversions. These two sums
represent the starting index of the system scoped operators and conversions.
The total number of system scoped operators or conversions must be
computed as the difference between the total number of operators or
conversions using the system-level parameters and the computed sum of
the number of subsystem and procedure operators or conversions using the
subsystem-level parameters. For an example, refer to the
ada_fxpt_sub.tpl
template.