/home/doxygen/libascend/compiler/instance_enum.h File Reference


Detailed Description

Ascend Instance Tree Type Definitions

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 }


Generated on Thu Jul 17 04:00:25 2008 for libascend by  doxygen 1.5.1