From bcccb74429c6bd5a9ce48ae8854c38f1275cf228 Mon Sep 17 00:00:00 2001 From: Araq Date: Mon, 23 Mar 2020 12:06:33 +0100 Subject: trees.nim: compare floating points by their bitpatterns because NaN comparisions are always false (WORST design in the history of computing!) --- compiler/trees.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/trees.nim b/compiler/trees.nim index 8c89ccca9..cd26b2b4f 100644 --- a/compiler/trees.nim +++ b/compiler/trees.nim @@ -64,7 +64,7 @@ proc sameTree*(a, b: PNode): bool = result = a.sym.name.id == b.sym.name.id of nkIdent: result = a.ident.id == b.ident.id of nkCharLit..nkUInt64Lit: result = a.intVal == b.intVal - of nkFloatLit..nkFloat64Lit: result = a.floatVal == b.floatVal + of nkFloatLit..nkFloat64Lit: result = cast[uint64](a.floatVal) == cast[uint64](b.floatVal) of nkStrLit..nkTripleStrLit: result = a.strVal == b.strVal of nkEmpty, nkNilLit, nkType: result = true else: -- cgit 1.4.1-2-gfad0