diff --git a/tinyexpr.c b/tinyexpr.c index 914a950..2f828c2 100644 --- a/tinyexpr.c +++ b/tinyexpr.c @@ -130,7 +130,11 @@ static double add(double a, double b) {return a + b;} static double sub(double a, double b) {return a - b;} static double mul(double a, double b) {return a * b;} static double divide(double a, double b) {return a / b;} -static double mod(double a, double b) {return ((long long)b) ? ((long long)a % (long long)b) : (0.0/0.0);} +static double mod(double a, double b) { + if (a!=a || b!=b) return 0.0/0.0; + if (((long long)b) == 0) return 0.0/0.0; + return ((long long)a % (long long)b); +} static double negate(double a) {return -a;}