3 #include "expr_types.h"
9 #define P_TYPE_DOUBLE 2
12 #define P_FLAG_READONLY 1
13 #define P_FLAG_USERDEF (1 << 1)
14 #define P_FLAG_QVAR (1 << 2)
15 #define P_FLAG_TVAR (1 << 3)
16 #define P_FLAG_ALWAYS_MATRIX (1 << 4)
17 #define P_FLAG_DONT_FREE_MATRIX (1 << 5)
18 #define P_FLAG_PER_PIXEL (1 << 6)
19 #define P_FLAG_PER_POINT (1 << 7)
21 typedef union VALUE_T {
28 typedef struct PARAM_T {
29 char name[MAX_TOKEN_SIZE]; /* name of the parameter, not necessary but useful neverthless */
30 short int type; /* parameter number type (int, bool, or double) */
31 short int flags; /* read, write, user defined, etc */
32 short int matrix_flag; /* for optimization purposes */
33 void * engine_val; /* pointer to the engine variable */
34 void * matrix; /* per pixel / per point matrix for this variable */
35 value_t default_init_val; /* a default initial condition value */
36 value_t upper_bound; /* this parameter's upper bound */
37 value_t lower_bound; /* this parameter's lower bound */