# orcvariable

## Structures

### _OrcVariable

## Enumerations

### OrcVarType

    typedef enum {
      ORC_VAR_TYPE_TEMP,
      ORC_VAR_TYPE_SRC,
      ORC_VAR_TYPE_DEST,
      ORC_VAR_TYPE_CONST,
      ORC_VAR_TYPE_PARAM,
      ORC_VAR_TYPE_ACCUMULATOR
    } OrcVarType;

#### Members

`ORC_VAR_TYPE_TEMP` (0) –
No description available
`ORC_VAR_TYPE_SRC` (1) –
No description available
`ORC_VAR_TYPE_DEST` (2) –
No description available
`ORC_VAR_TYPE_CONST` (3) –
No description available
`ORC_VAR_TYPE_PARAM` (4) –
No description available
`ORC_VAR_TYPE_ACCUMULATOR` (5) –
No description available

### _OrcParamType

    typedef enum _OrcParamType {
      ORC_PARAM_TYPE_INT = 0,
      ORC_PARAM_TYPE_FLOAT,
      ORC_PARAM_TYPE_INT64,
      ORC_PARAM_TYPE_DOUBLE
    } OrcParamType;

#### Members

`ORC_PARAM_TYPE_INT` (0) –
No description available
`ORC_PARAM_TYPE_FLOAT` (1) –
No description available
`ORC_PARAM_TYPE_INT64` (2) –
No description available
`ORC_PARAM_TYPE_DOUBLE` (3) –
No description available

### _OrcVariableId

    typedef enum _OrcVariableId {
      /* Destination variables */
      ORC_VAR_D1,
      ORC_VAR_D2,
      ORC_VAR_D3,
      ORC_VAR_D4,
      /* Source variables */
      ORC_VAR_S1,
      ORC_VAR_S2,
      ORC_VAR_S3,
      ORC_VAR_S4,
      ORC_VAR_S5,
      ORC_VAR_S6,
      ORC_VAR_S7,
      ORC_VAR_S8,
      /* accumulators */
      // exec pointer (arrays) or m (params)
      ORC_VAR_A1,
      // OrcCode pointer (arrays) or m_index (params)
      ORC_VAR_A2,
      // elapsed time (params)
      ORC_VAR_A3,
      ORC_VAR_A4,
      /* constant variables */
      // row pointers (arrays [i+X]).
      // the stride for the array above is in params[i+X]
      ORC_VAR_C1,
      ORC_VAR_C2,
      ORC_VAR_C3,
      ORC_VAR_C4,
      ORC_VAR_C5,
      ORC_VAR_C6,
      ORC_VAR_C7,
      ORC_VAR_C8,
      /* parameter table index */
      ORC_VAR_P1,
      ORC_VAR_P2,
      ORC_VAR_P3,
      ORC_VAR_P4,
      ORC_VAR_P5,
      ORC_VAR_P6,
      ORC_VAR_P7,
      ORC_VAR_P8,
      /* temporary variables */
      // high half of params (params)
      ORC_VAR_T1,
      ORC_VAR_T2,
      ORC_VAR_T3,
      ORC_VAR_T4,
      ORC_VAR_T5,
      ORC_VAR_T6,
      ORC_VAR_T7,
      ORC_VAR_T8,
      ORC_VAR_T9,
      ORC_VAR_T10,
      ORC_VAR_T11,
      ORC_VAR_T12,
      ORC_VAR_T13,
      ORC_VAR_T14,
      ORC_VAR_T15,
      ORC_VAR_T16
    } OrcVariableId;

#### Members

`ORC_VAR_D1` (0) –
No description available
`ORC_VAR_D2` (1) –
No description available
`ORC_VAR_D3` (2) –
No description available
`ORC_VAR_D4` (3) –
No description available
`ORC_VAR_S1` (4) –
No description available
`ORC_VAR_S2` (5) –
No description available
`ORC_VAR_S3` (6) –
No description available
`ORC_VAR_S4` (7) –
No description available
`ORC_VAR_S5` (8) –
No description available
`ORC_VAR_S6` (9) –
No description available
`ORC_VAR_S7` (10) –
No description available
`ORC_VAR_S8` (11) –
No description available
`ORC_VAR_A1` (12) –
No description available
`ORC_VAR_A2` (13) –
No description available
`ORC_VAR_A3` (14) –
No description available
`ORC_VAR_A4` (15) –
No description available
`ORC_VAR_C1` (16) –
No description available
`ORC_VAR_C2` (17) –
No description available
`ORC_VAR_C3` (18) –
No description available
`ORC_VAR_C4` (19) –
No description available
`ORC_VAR_C5` (20) –
No description available
`ORC_VAR_C6` (21) –
No description available
`ORC_VAR_C7` (22) –
No description available
`ORC_VAR_C8` (23) –
No description available
`ORC_VAR_P1` (24) –
No description available
`ORC_VAR_P2` (25) –
No description available
`ORC_VAR_P3` (26) –
No description available
`ORC_VAR_P4` (27) –
No description available
`ORC_VAR_P5` (28) –
No description available
`ORC_VAR_P6` (29) –
No description available
`ORC_VAR_P7` (30) –
No description available
`ORC_VAR_P8` (31) –
No description available
`ORC_VAR_T1` (32) –
No description available
`ORC_VAR_T2` (33) –
No description available
`ORC_VAR_T3` (34) –
No description available
`ORC_VAR_T4` (35) –
No description available
`ORC_VAR_T5` (36) –
No description available
`ORC_VAR_T6` (37) –
No description available
`ORC_VAR_T7` (38) –
No description available
`ORC_VAR_T8` (39) –
No description available
`ORC_VAR_T9` (40) –
No description available
`ORC_VAR_T10` (41) –
No description available
`ORC_VAR_T11` (42) –
No description available
`ORC_VAR_T12` (43) –
No description available
`ORC_VAR_T13` (44) –
No description available
`ORC_VAR_T14` (45) –
No description available
`ORC_VAR_T15` (46) –
No description available
`ORC_VAR_T16` (47) –
No description available

### _OrcVariableUpdateType

    typedef enum _OrcVariableUpdateType {
      ORC_VARIABLE_UPDATE_TYPE_NONE,
      ORC_VARIABLE_UPDATE_TYPE_HALF,
      ORC_VARIABLE_UPDATE_TYPE_FULL,
    } OrcVariableUpdateType;

#### Members

`ORC_VARIABLE_UPDATE_TYPE_NONE` (0) –
No description available
`ORC_VARIABLE_UPDATE_TYPE_HALF` (1) –
No description available
`ORC_VARIABLE_UPDATE_TYPE_FULL` (2) –
No description available

## Aliases

### OrcParamType

    typedef enum _OrcParamType  OrcParamType

### OrcVariable

    typedef struct _OrcVariable  OrcVariable

The OrcVariable structure has no public members

### OrcVariableId

    typedef enum _OrcVariableId  OrcVariableId

### OrcVariableUpdateType

    typedef enum _OrcVariableUpdateType  OrcVariableUpdateType

ORC_VARIABLE_UPDATE_TYPE_NONE: No automatic update will be done, the rule implementation handles it ORC_VARIABLE_UPDATE_TYPE_HALF: Automatic update will be done shifting half of the current shift ORC_VARIABLE_UPDATE_TYPE_FULL: Automatic update will be done fully shifting to the current shift

This enum defines how the OrcCompiler should update an array variable after an unrolled loop iteration

The results of the search are