1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #ifndef SHELL_MATH_H
- #define SHELL_MATH_H 1
- PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
- #if ENABLE_FEATURE_SH_MATH_64
- typedef long long arith_t;
- #define ARITH_FMT "%lld"
- #define strto_arith_t strtoull
- #else
- typedef long arith_t;
- #define ARITH_FMT "%ld"
- #define strto_arith_t strtoul
- #endif
- typedef const char* FAST_FUNC (*arith_var_lookup_t)(const char *name);
- typedef void FAST_FUNC (*arith_var_set_t)(const char *name, const char *val);
- typedef struct arith_state_t {
- const char *errmsg;
- arith_var_lookup_t lookupvar;
- arith_var_set_t setvar;
- void *list_of_recursed_names;
- } arith_state_t;
- arith_t FAST_FUNC arith(arith_state_t *state, const char *expr);
- POP_SAVED_FUNCTION_VISIBILITY
- #endif
|