From: Mark Date: Wed, 24 May 2023 19:43:52 +0000 (-0600) Subject: affirm integers as rational/1 (#1810) X-Git-Tag: v0.9.2~123^2~16 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=dae34b60099cdd000d8dc16513d9d6311c9d2251;p=scryer-prolog.git affirm integers as rational/1 (#1810) --- diff --git a/src/machine/dispatch.rs b/src/machine/dispatch.rs index 1d310bcd..a6e7963a 100644 --- a/src/machine/dispatch.rs +++ b/src/machine/dispatch.rs @@ -2600,7 +2600,7 @@ impl Machine { read_heap_cell!(d, (HeapCellValueTag::Cons, ptr) => { match_untyped_arena_ptr!(ptr, - (ArenaHeaderTag::Rational, _r) => { + (ArenaHeaderTag::Rational | ArenaHeaderTag::Integer, _r) => { self.machine_st.p += 1; } _ => { @@ -2608,6 +2608,9 @@ impl Machine { } ); } + (HeapCellValueTag::Fixnum) => { + self.machine_st.p += 1; + } _ => { self.machine_st.backtrack(); } @@ -2619,7 +2622,7 @@ impl Machine { read_heap_cell!(d, (HeapCellValueTag::Cons, ptr) => { match_untyped_arena_ptr!(ptr, - (ArenaHeaderTag::Rational, _r) => { + (ArenaHeaderTag::Rational | ArenaHeaderTag::Integer, _r) => { self.machine_st.p = self.machine_st.cp; } _ => { @@ -2627,6 +2630,9 @@ impl Machine { } ); } + (HeapCellValueTag::Fixnum) => { + self.machine_st.p = self.machine_st.cp; + } _ => { self.machine_st.backtrack(); }