-
-
Notifications
You must be signed in to change notification settings - Fork 91
Closed
Description
GreaterThanOrEqual/LessThanOrEqual generates wrong result when parameter is NaN.
var p1 = Expression.Parameter(typeof(double));
var e1 = Expression.GreaterThanOrEqual(p1, Expression.Constant(0.0));
var e2 = Expression.Lambda<Func<double, bool>>(e1, p1);
var cmp1 = e2.Compile();
var cmp2 = e2.CompileFast();
Console.WriteLine("{0} {1} {2}", double.NaN >= 0.0, cmp1(double.NaN), cmp2(double.NaN));
resulting:
False False True