We have three types of 'scalar data' instances:
where * is REAL, INTEGER, BOOLEAN, SYMBOL and SET.
(Sets are a little weird and should perhaps not be grouped under this wildcard)
The word 'atom' is used a little loosely in naming of functions in this file. Many places it implies any of these types, but in some it implies exclusively *_ATOM_INST types. So read your headers carefully.
Atoms are the 'variables' in the ASCEND language.
_INST are the children of Atoms.
Constants are the 'structural variables' and 'real constants'. Constants do not have children and cannot be children of Atoms. Constants may be refined up until they are actually assigned a value (and in the case of reals a dimensionality). Constants in a clique (bad style, IMHO) all have the same value/dims: assigning one assigns them all. ARE_THE_SAME is usually a better style.
Future work: LIST replaces SET in the Atom group; the atomic SET becoming the constant SET. REAL_ATOM_INST becomes the parametric reals of a model and a new SOLVER_ATOM_INST becomes the real variables of a model.
-- BAA.
Requires: none
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Data Structures | |
| struct | Instance |
Defines | |
| #define | IREAL 0x1 |
| #define | IINT 0x2 |
| #define | IBOOL 0x4 |
| #define | ISYM 0x8 |
| #define | ISET 0x10 |
| #define | IARR 0x20 |
| #define | IENUM 0x40 |
| #define | IFUND 0x80 |
| #define | ICONS 0x100 |
| #define | IATOM 0x200 |
| #define | ICOMP 0x400 |
| #define | IMOD 0x800 |
| #define | IRELN 0x1000 |
| #define | ILRELN 0x2000 |
| #define | IWHEN 0x4000 |
| #define | IAUTO 0x8000 |
| #define | IDUMB 0x10000 |
| #define | ICHILDLESS (IFUND | ICONS | IWHEN | IDUMB) |
| #define | IERRINST |
| #define | ASC_ENUM_DECLS(D, X) |
| #define | ENUM_D(NAME, VALUE) NAME = VALUE |
| #define | ENUM_X , |
Enumerations | |
| enum | inst_t { NAME, ENUM_X } |
1.5.1