break;
}
- return eval_check_number(n, error);
+ // return eval_check_number(n, error);
+ return n;
}
calculated_number eval_and(EVAL_EXPRESSION *exp, EVAL_NODE *op, int *error) {
calculated_number n = operators[op->operator].eval(exp, op, error);
- return eval_check_number(n, error);
+ // return eval_check_number(n, error);
+ return n;
}
// ----------------------------------------------------------------------------
static inline void print_parsed_as_constant(BUFFER *out, calculated_number n) {
if(unlikely(isnan(n))) {
- buffer_strcat(out, "NaN");
+ buffer_strcat(out, "nan");
return;
}
if(unlikely(isinf(n))) {
- buffer_strcat(out, "INFINITE");
+ buffer_strcat(out, "inf");
return;
}
static inline int parse_constant(const char **string, calculated_number *number) {
char *end = NULL;
calculated_number n = strtold(*string, &end);
- if(unlikely(!end || *string == end || isnan(n) || isinf(n))) {
+ if(unlikely(!end || *string == end)) {
*number = 0;
return 0;
}
buffer_reset(exp->error_msg);
exp->result = eval_node(exp, (EVAL_NODE *)exp->nodes, &exp->error);
+ if(exp->error == EVAL_ERROR_OK)
+ exp->result = eval_check_number(exp->result, &exp->error);
+
if(exp->error != EVAL_ERROR_OK) {
exp->result = NAN;