From: Mark Thom Date: Tue, 1 Jul 2025 22:47:26 +0000 (-0700) Subject: correct number_chars (#2976) X-Git-Tag: v0.10.0~35^2~7 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=e303e5a805e1b8092e7cc7977680866654ac82b6;p=scryer-prolog.git correct number_chars (#2976) --- diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index 24735325..d301a85a 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -1002,8 +1002,17 @@ impl MachineState { let err = self.syntax_error(err); return Err(self.error_form(err, stub_gen())); } - Ok(Term::Literal(_, cell)) => { - unify!(self, nx, HeapCellValue::from(cell)); + Ok(Term::Literal(_, Literal::Rational(n))) => { + self.unify_rational(n, nx); + } + Ok(Term::Literal(_, Literal::F64Offset(n))) => { + self.unify_f64(n, nx); + } + Ok(Term::Literal(_, Literal::Integer(n))) => { + self.unify_big_int(n, nx); + } + Ok(Term::Literal(_, Literal::Fixnum(n))) => { + self.unify_fixnum(n, nx); } _ => { let err = ParserError::ParseBigInt(0, 0);