affirm integers as rational/1 (#1810)
This commit is contained in:
@@ -2600,7 +2600,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;
|
||||||
}
|
}
|
||||||
_ => {
|
_ => {
|
||||||
@@ -2608,6 +2608,9 @@ impl Machine {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
(HeapCellValueTag::Fixnum) => {
|
||||||
|
self.machine_st.p += 1;
|
||||||
|
}
|
||||||
_ => {
|
_ => {
|
||||||
self.machine_st.backtrack();
|
self.machine_st.backtrack();
|
||||||
}
|
}
|
||||||
@@ -2619,7 +2622,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;
|
||||||
}
|
}
|
||||||
_ => {
|
_ => {
|
||||||
@@ -2627,6 +2630,9 @@ impl Machine {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
(HeapCellValueTag::Fixnum) => {
|
||||||
|
self.machine_st.p = self.machine_st.cp;
|
||||||
|
}
|
||||||
_ => {
|
_ => {
|
||||||
self.machine_st.backtrack();
|
self.machine_st.backtrack();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user