From 0e374c2e96cdece4e16bc74eaa3454c05e37a40f Mon Sep 17 00:00:00 2001 From: Mark Date: Wed, 24 May 2023 13:43:52 -0600 Subject: [PATCH] affirm integers as rational/1 (#1810) --- src/machine/dispatch.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/machine/dispatch.rs b/src/machine/dispatch.rs index 3067ecb9..9599766d 100644 --- a/src/machine/dispatch.rs +++ b/src/machine/dispatch.rs @@ -2601,7 +2601,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; } _ => { @@ -2609,6 +2609,9 @@ impl Machine { } ); } + (HeapCellValueTag::Fixnum) => { + self.machine_st.p += 1; + } _ => { self.machine_st.backtrack(); } @@ -2620,7 +2623,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; } _ => { @@ -2628,6 +2631,9 @@ impl Machine { } ); } + (HeapCellValueTag::Fixnum) => { + self.machine_st.p = self.machine_st.cp; + } _ => { self.machine_st.backtrack(); } -- 2.54.0