From 8c7839ef23ab75d510e627097c5cda4113447959 Mon Sep 17 00:00:00 2001 From: Lewis Van Winkle Date: Tue, 26 Jan 2016 13:37:57 -0600 Subject: [PATCH] Fixed case of NaN input to modulus. --- tinyexpr.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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;}