diff --git a/src/environment.rs b/src/environment.rs index 112d01f..c90f1a9 100644 --- a/src/environment.rs +++ b/src/environment.rs @@ -1132,18 +1132,16 @@ impl<'src> Environment<'src> { }), ); + let mut consts = Consts::new().unwrap(); + env.add_variable( "e", - Value::Number(BigFloat::from(1.0).exp( - config.precision, - config.rounding_mode, - &mut Consts::new().unwrap(), - )), + Value::Number(consts.e(config.precision, config.rounding_mode)), ); env.add_variable( "pi", - Value::Number(BigFloat::from_f64(std::f64::consts::PI, config.precision)), + Value::Number(consts.pi(config.precision, config.rounding_mode)), ); env.add_variable( diff --git a/tests/integration.rs b/tests/integration.rs index 474963d..954ad2c 100644 --- a/tests/integration.rs +++ b/tests/integration.rs @@ -490,7 +490,7 @@ fn cosecant() -> Result { Test::new()? .program("println(csc(pi/2))") .expected_status(0) - .expected_stdout(Contains("1.00000")) + .expected_stdout(Exact("1\n")) .run()?; Test::new()? @@ -511,7 +511,7 @@ fn secant() -> Result { Test::new()? .program("println(sec(pi/3))") .expected_status(0) - .expected_stdout(Contains("1.99")) // ~2.0000... + .expected_stdout(Exact("2\n")) // ~2.0000... .run() } @@ -829,7 +829,7 @@ fn functions_with_constants() -> Result { .argument("53") .program("println(arc(pi / 4))") .expected_status(0) - .expected_stdout(Exact("0.66577375002835384465\n")) + .expected_stdout(Exact("0.66577375002835386362\n")) .run()?; Test::new()? @@ -845,7 +845,7 @@ fn functions_with_constants() -> Result { .argument("53") .program("println(e(pi))") .expected_status(0) - .expected_stdout(Exact("23.140692632779266172\n")) + .expected_stdout(Exact("23.140692632779269006\n")) .run() }