Test riemann::trace_iter
This commit is contained in:
parent
8ab9ab71e8
commit
d90f473bd6
|
|
@ -169,11 +169,12 @@ pub mod samples {
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
use approx::assert_abs_diff_eq;
|
||||||
|
use super::*;
|
||||||
|
|
||||||
use glam::{Mat2, mat2, vec2};
|
use glam::{Mat2, mat2, vec2};
|
||||||
use rand::{Rng, SeedableRng};
|
use rand::{Rng, SeedableRng};
|
||||||
|
|
||||||
use super::{Decomp2, Metric, samples};
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn uniform_scaled_metric() {
|
fn uniform_scaled_metric() {
|
||||||
let mut rng = rand_pcg::Pcg64Mcg::seed_from_u64(17);
|
let mut rng = rand_pcg::Pcg64Mcg::seed_from_u64(17);
|
||||||
|
|
@ -192,4 +193,16 @@ mod tests {
|
||||||
assert_eq!(metric.globalize(rng.gen(), vec2(0., 1.)), vec2(0., 1. / 4.));
|
assert_eq!(metric.globalize(rng.gen(), vec2(0., 1.)), vec2(0., 1. / 4.));
|
||||||
assert_eq!(metric.globalize(rng.gen(), vec2(1., 1.)), vec2(1. / 3., 1. / 4.));
|
assert_eq!(metric.globalize(rng.gen(), vec2(1., 1.)), vec2(1. / 3., 1. / 4.));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_trace_iter() {
|
||||||
|
let metric = samples::ScaledMetric { scale: vec2(2., 4.) };
|
||||||
|
assert_eq!(trace_iter(&metric, vec2(3., 5.), vec2(1., 0.), 1.).nth(7).unwrap(), vec2(7., 5.));
|
||||||
|
assert_eq!(trace_iter(&metric, vec2(3., 5.), vec2(2., 0.), 1.).nth(7).unwrap(), vec2(7., 5.));
|
||||||
|
assert_eq!(trace_iter(&metric, vec2(3., 5.), vec2(1., 0.), 0.5).nth(7).unwrap(), vec2(5., 5.));
|
||||||
|
assert_eq!(trace_iter(&metric, vec2(3., 5.), vec2(0., 1.), 1.).nth(9).unwrap(), vec2(3., 7.5));
|
||||||
|
assert_eq!(trace_iter(&metric, vec2(3., 5.), vec2(0., 4.), 1.).nth(9).unwrap(), vec2(3., 7.5));
|
||||||
|
assert_eq!(trace_iter(&metric, vec2(3., 5.), vec2(0., 1.), 0.5).nth(9).unwrap(), vec2(3., 6.25));
|
||||||
|
assert_abs_diff_eq!(trace_iter(&metric, vec2(3., 5.), vec2(0.5, 0.25), std::f32::consts::SQRT_2).nth(7).unwrap(), vec2(7., 7.), epsilon=1e-5);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user