From: Mark Thom Date: Sat, 11 Dec 2021 23:29:26 +0000 (-0700) Subject: fix unify_float X-Git-Tag: v0.9.0^2~99 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=4211151fe6560ea3979d038fdf41ee97707f4425;p=scryer-prolog.git fix unify_float --- diff --git a/src/machine/machine_state_impl.rs b/src/machine/machine_state_impl.rs index e408a6e9..4f42756e 100644 --- a/src/machine/machine_state_impl.rs +++ b/src/machine/machine_state_impl.rs @@ -667,9 +667,17 @@ impl MachineState { read_heap_cell!(value, (HeapCellValueTag::F64, f2) => { - if *f1 != *f2 { - self.fail = true; - } + self.fail = **f1 != **f2; + } + (HeapCellValueTag::Cons, cons_ptr) => { + match_untyped_arena_ptr!(cons_ptr, + (ArenaHeaderTag::F64, f2) => { + self.fail = **f1 != **F64Ptr(f2); + } + _ => { + self.fail = true; + } + ); } _ => { self.fail = true;