Test tube length

This commit is contained in:
numzero 2024-06-11 14:12:53 +03:00
parent 8ad9f04ece
commit f2e2767156

View File

@ -628,7 +628,7 @@ mod fns {
use crate::FloatExt2;
#[cfg(test)]
use approx::abs_diff_eq;
use approx::{abs_diff_eq, assert_abs_diff_eq};
pub struct TubeX {
pub min: f32,
@ -674,6 +674,10 @@ mod fns {
let δ = 1.0 / 8.0; // Mathematically, you want this to be small. Computationally, you dont.
let margin = 1.0 / 16.0;
let mul = 1.0 + margin;
assert_abs_diff_eq!(testee.u(testee.external), testee.internal, epsilon = ε);
assert_abs_diff_eq!(testee.u(-testee.external), -testee.internal, epsilon = ε);
assert_abs_diff_eq!(testee.du(testee.external), 1., epsilon = ε);
assert_abs_diff_eq!(testee.du(-testee.external), 1., epsilon = ε);
for x in itertools_num::linspace(-mul * testee.external, mul * testee.external, 100) {
let ux = testee.u(x);
let xux = testee.x(ux);