yyerror(0, 0, 0, 0, "modulo on floats");
if ($3.ival == 0)
yyerror(0, 0, 0, 0, "divide by zero");
- else
+ else {
$$.ival = $1.ival % $3.ival;
+ $$.dval = $$.ival;
+ }
$$.has_error = $1.has_error || $3.has_error;
}
| expression '^' expression {
tmp = 1.0;
$$.has_error = 1;
} else {
- tmp = pow((double) $1.ival,
- (double) $3.ival);
+ double x = (double) $1.ival;
+ double y = (double) $3.ival;
+ tmp = pow(x, y);
}
$$.ival = (long long) tmp;
}