affirm integers as rational/1 (#1810)

This commit is contained in:
Mark
2023-05-24 13:43:52 -06:00
parent 94a1313916
commit 0e374c2e96

View File

@@ -2601,7 +2601,7 @@ impl Machine {
read_heap_cell!(d, read_heap_cell!(d,
(HeapCellValueTag::Cons, ptr) => { (HeapCellValueTag::Cons, ptr) => {
match_untyped_arena_ptr!(ptr, match_untyped_arena_ptr!(ptr,
(ArenaHeaderTag::Rational, _r) => { (ArenaHeaderTag::Rational | ArenaHeaderTag::Integer, _r) => {
self.machine_st.p += 1; self.machine_st.p += 1;
} }
_ => { _ => {
@@ -2609,6 +2609,9 @@ impl Machine {
} }
); );
} }
(HeapCellValueTag::Fixnum) => {
self.machine_st.p += 1;
}
_ => { _ => {
self.machine_st.backtrack(); self.machine_st.backtrack();
} }
@@ -2620,7 +2623,7 @@ impl Machine {
read_heap_cell!(d, read_heap_cell!(d,
(HeapCellValueTag::Cons, ptr) => { (HeapCellValueTag::Cons, ptr) => {
match_untyped_arena_ptr!(ptr, match_untyped_arena_ptr!(ptr,
(ArenaHeaderTag::Rational, _r) => { (ArenaHeaderTag::Rational | ArenaHeaderTag::Integer, _r) => {
self.machine_st.p = self.machine_st.cp; 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(); self.machine_st.backtrack();
} }