|
|
@ -45,12 +45,12 @@ static struct op { |
|
|
void *funcptr; |
|
|
void *funcptr; |
|
|
} ops[] = { |
|
|
} ops[] = { |
|
|
{ |
|
|
{ |
|
|
PT_COMMA, ",", NULL}, { |
|
|
|
|
|
PT_PLUS, "+", (void*) PTplus}, { |
|
|
|
|
|
PT_MINUS, "-", (void*) PTminus}, { |
|
|
|
|
|
PT_TIMES, "*", (void*) PTtimes}, { |
|
|
|
|
|
PT_DIVIDE, "/", (void*) PTdivide}, { |
|
|
|
|
|
PT_POWER, "^", (void*) PTpower} |
|
|
|
|
|
|
|
|
PT_COMMA, ",", NULL}, { |
|
|
|
|
|
PT_PLUS, "+", (void(*)(void)) PTplus}, { |
|
|
|
|
|
PT_MINUS, "-", (void(*)(void)) PTminus}, { |
|
|
|
|
|
PT_TIMES, "*", (void(*)(void)) PTtimes}, { |
|
|
|
|
|
PT_DIVIDE, "/", (void(*)(void)) PTdivide}, { |
|
|
|
|
|
PT_POWER, "^", (void(*)(void)) PTpower} |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
#define NUM_OPS (int)(sizeof (ops) / sizeof (struct op)) |
|
|
#define NUM_OPS (int)(sizeof (ops) / sizeof (struct op)) |
|
|
@ -60,40 +60,40 @@ static struct func { |
|
|
int number; |
|
|
int number; |
|
|
void *funcptr; |
|
|
void *funcptr; |
|
|
} funcs[] = { |
|
|
} funcs[] = { |
|
|
{ "abs", PTF_ABS, (void*) PTabs } , |
|
|
|
|
|
{ "acos", PTF_ACOS, (void*) PTacos } , |
|
|
|
|
|
{ "acosh", PTF_ACOSH, (void*) PTacosh } , |
|
|
|
|
|
{ "asin", PTF_ASIN, (void*) PTasin } , |
|
|
|
|
|
{ "asinh", PTF_ASINH, (void*) PTasinh } , |
|
|
|
|
|
{ "atan", PTF_ATAN, (void*) PTatan } , |
|
|
|
|
|
{ "atanh", PTF_ATANH, (void*) PTatanh } , |
|
|
|
|
|
{ "cos", PTF_COS, (void*) PTcos } , |
|
|
|
|
|
{ "cosh", PTF_COSH, (void*) PTcosh } , |
|
|
|
|
|
{ "exp", PTF_EXP, (void*) PTexp } , |
|
|
|
|
|
{ "ln", PTF_LN, (void*) PTln } , |
|
|
|
|
|
{ "log", PTF_LOG, (void*) PTlog } , |
|
|
|
|
|
{ "sgn", PTF_SGN, (void*) PTsgn } , |
|
|
|
|
|
{ "sin", PTF_SIN, (void*) PTsin } , |
|
|
|
|
|
{ "sinh", PTF_SINH, (void*) PTsinh } , |
|
|
|
|
|
{ "sqrt", PTF_SQRT, (void*) PTsqrt } , |
|
|
|
|
|
{ "tan", PTF_TAN, (void*) PTtan } , |
|
|
|
|
|
{ "tanh", PTF_TANH, (void*) PTtanh } , |
|
|
|
|
|
{ "u", PTF_USTEP, (void*) PTustep } , |
|
|
|
|
|
{ "uramp", PTF_URAMP, (void*) PTuramp } , |
|
|
|
|
|
{ "-", PTF_UMINUS, (void*) PTuminus }, |
|
|
|
|
|
|
|
|
{ "abs", PTF_ABS, (void(*)(void)) PTabs } , |
|
|
|
|
|
{ "acos", PTF_ACOS, (void(*)(void)) PTacos } , |
|
|
|
|
|
{ "acosh", PTF_ACOSH, (void(*)(void)) PTacosh } , |
|
|
|
|
|
{ "asin", PTF_ASIN, (void(*)(void)) PTasin } , |
|
|
|
|
|
{ "asinh", PTF_ASINH, (void(*)(void)) PTasinh } , |
|
|
|
|
|
{ "atan", PTF_ATAN, (void(*)(void)) PTatan } , |
|
|
|
|
|
{ "atanh", PTF_ATANH, (void(*)(void)) PTatanh } , |
|
|
|
|
|
{ "cos", PTF_COS, (void(*)(void)) PTcos } , |
|
|
|
|
|
{ "cosh", PTF_COSH, (void(*)(void)) PTcosh } , |
|
|
|
|
|
{ "exp", PTF_EXP, (void(*)(void)) PTexp } , |
|
|
|
|
|
{ "ln", PTF_LN, (void(*)(void)) PTln } , |
|
|
|
|
|
{ "log", PTF_LOG, (void(*)(void)) PTlog } , |
|
|
|
|
|
{ "sgn", PTF_SGN, (void(*)(void)) PTsgn } , |
|
|
|
|
|
{ "sin", PTF_SIN, (void(*)(void)) PTsin } , |
|
|
|
|
|
{ "sinh", PTF_SINH, (void(*)(void)) PTsinh } , |
|
|
|
|
|
{ "sqrt", PTF_SQRT, (void(*)(void)) PTsqrt } , |
|
|
|
|
|
{ "tan", PTF_TAN, (void(*)(void)) PTtan } , |
|
|
|
|
|
{ "tanh", PTF_TANH, (void(*)(void)) PTtanh } , |
|
|
|
|
|
{ "u", PTF_USTEP, (void(*)(void)) PTustep } , |
|
|
|
|
|
{ "uramp", PTF_URAMP, (void(*)(void)) PTuramp } , |
|
|
|
|
|
{ "-", PTF_UMINUS, (void(*)(void)) PTuminus }, |
|
|
/* MW. cif function added */ |
|
|
/* MW. cif function added */ |
|
|
{ "u2", PTF_USTEP2, (void*) PTustep2}, |
|
|
|
|
|
{ "pwl", PTF_PWL, (void*) PTpwl}, |
|
|
|
|
|
{ "pwl_derivative", PTF_PWL_DERIVATIVE, (void*) PTpwl_derivative}, |
|
|
|
|
|
{ "eq0", PTF_EQ0, (void*) PTeq0}, |
|
|
|
|
|
{ "ne0", PTF_NE0, (void*) PTne0}, |
|
|
|
|
|
{ "gt0", PTF_GT0, (void*) PTgt0}, |
|
|
|
|
|
{ "lt0", PTF_LT0, (void*) PTlt0}, |
|
|
|
|
|
{ "ge0", PTF_GE0, (void*) PTge0}, |
|
|
|
|
|
{ "le0", PTF_LE0, (void*) PTle0}, |
|
|
|
|
|
{ "pow", PTF_POW, (void*) PTpower}, |
|
|
|
|
|
{ "min", PTF_MIN, (void*) PTmin}, |
|
|
|
|
|
{ "max", PTF_MAX, (void*) PTmax}, |
|
|
|
|
|
|
|
|
{ "u2", PTF_USTEP2, (void(*)(void)) PTustep2}, |
|
|
|
|
|
{ "pwl", PTF_PWL, (void(*)(void)) PTpwl}, |
|
|
|
|
|
{ "pwl_derivative", PTF_PWL_DERIVATIVE, (void(*)(void)) PTpwl_derivative}, |
|
|
|
|
|
{ "eq0", PTF_EQ0, (void(*)(void)) PTeq0}, |
|
|
|
|
|
{ "ne0", PTF_NE0, (void(*)(void)) PTne0}, |
|
|
|
|
|
{ "gt0", PTF_GT0, (void(*)(void)) PTgt0}, |
|
|
|
|
|
{ "lt0", PTF_LT0, (void(*)(void)) PTlt0}, |
|
|
|
|
|
{ "ge0", PTF_GE0, (void(*)(void)) PTge0}, |
|
|
|
|
|
{ "le0", PTF_LE0, (void(*)(void)) PTle0}, |
|
|
|
|
|
{ "pow", PTF_POW, (void(*)(void)) PTpower}, |
|
|
|
|
|
{ "min", PTF_MIN, (void(*)(void)) PTmin}, |
|
|
|
|
|
{ "max", PTF_MAX, (void(*)(void)) PTmax}, |
|
|
} ; |
|
|
} ; |
|
|
|
|
|
|
|
|
#define NUM_FUNCS (int)(sizeof (funcs) / sizeof (struct func)) |
|
|
#define NUM_FUNCS (int)(sizeof (funcs) / sizeof (struct func)) |
|
|
|