Change default ULP to use enum matching

Migrate from string to enum matching and tie this to `CheckCtx::new`, so
no tests need to explicitly set ULP.
This commit is contained in:
Trevor Gross
2024-11-02 23:03:41 -05:00
committed by Trevor Gross
parent 0f76ef074f
commit 5032fcf139
6 changed files with 47 additions and 59 deletions

View File

@@ -10,9 +10,7 @@
#![cfg(feature = "build-musl")]
use libm_test::gen::{CachedInput, random};
use libm_test::{
CheckBasis, CheckCtx, CheckOutput, GenerateInput, MathOp, TupleCall, musl_allowed_ulp,
};
use libm_test::{CheckBasis, CheckCtx, CheckOutput, GenerateInput, MathOp, TupleCall};
macro_rules! musl_rand_tests {
(
@@ -34,9 +32,7 @@ where
Op: MathOp,
CachedInput: GenerateInput<Op::RustArgs>,
{
let name = Op::NAME;
let ulp = musl_allowed_ulp(name);
let ctx = CheckCtx::new(ulp, Op::IDENTIFIER, CheckBasis::Musl);
let ctx = CheckCtx::new(Op::IDENTIFIER, CheckBasis::Musl);
let cases = random::get_test_cases::<Op::RustArgs>(&ctx);
for input in cases {

View File

@@ -4,9 +4,7 @@
use libm_test::gen::{CachedInput, random};
use libm_test::mpfloat::MpOp;
use libm_test::{
CheckBasis, CheckCtx, CheckOutput, GenerateInput, MathOp, TupleCall, multiprec_allowed_ulp,
};
use libm_test::{CheckBasis, CheckCtx, CheckOutput, GenerateInput, MathOp, TupleCall};
/// Implement a test against MPFR with random inputs.
macro_rules! multiprec_rand_tests {
@@ -29,11 +27,8 @@ where
Op: MathOp + MpOp,
CachedInput: GenerateInput<Op::RustArgs>,
{
let name = Op::NAME;
let ulp = multiprec_allowed_ulp(name);
let mut mp_vals = Op::new_mp();
let ctx = CheckCtx::new(ulp, Op::IDENTIFIER, CheckBasis::Mpfr);
let ctx = CheckCtx::new(Op::IDENTIFIER, CheckBasis::Mpfr);
let cases = random::get_test_cases::<Op::RustArgs>(&ctx);
for input in cases {