Merge branch 'add_float_integer_part_and_float_fractional_part_standard_functions' of https://github.com/pmoura/scryer-prolog into pmoura-add_float_integer_part_and_float_fractional_part_standard_functions

This commit is contained in:
Mark
2023-07-21 15:13:29 -06:00
4 changed files with 47 additions and 0 deletions

View File

@@ -743,6 +743,10 @@ enum InstructionTemplate {
Ceiling(ArithmeticTerm, usize),
#[strum_discriminants(strum(props(Arity = "1", Name = "floor")))]
Floor(ArithmeticTerm, usize),
#[strum_discriminants(strum(props(Arity = "1", Name = "float_fractional_part")))]
FloatFractionalPart(ArithmeticTerm, usize),
#[strum_discriminants(strum(props(Arity = "1", Name = "float_integer_part")))]
FloatIntegerPart(ArithmeticTerm, usize),
#[strum_discriminants(strum(props(Arity = "1", Name = "neg")))]
Neg(ArithmeticTerm, usize),
#[strum_discriminants(strum(props(Arity = "1", Name = "plus")))]
@@ -1463,6 +1467,12 @@ fn generate_instruction_preface() -> TokenStream {
&Instruction::Floor(ref at, t) => {
arith_instr_unary_functor(h, atom!("floor"), arena, at, t)
}
&Instruction::FloatFractionalPart(ref at, t) => {
arith_instr_unary_functor(h, atom!("float_fractional_part"), arena, at, t)
}
&Instruction::FloatIntegerPart(ref at, t) => {
arith_instr_unary_functor(h, atom!("float_integer_part"), arena, at, t)
}
&Instruction::Neg(ref at, t) => arith_instr_unary_functor(
h,
atom!("-"),