MCPcopy Create free account
hub / github.com/InteractiveComputerGraphics/splashsurf / test_discrete_kernel

Function test_discrete_kernel

splashsurf_lib/src/kernel.rs:548–579  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

546
547#[test]
548fn test_discrete_kernel() {
549 let n = 10000;
550 let h = 0.025;
551
552 let discrete_kernel = DiscreteSquaredDistanceCubicKernel::new::<f64>(n, h);
553 let kernel = CubicSplineKernel::new(h);
554
555 // Test the pre-computed values using a linear stepping
556 let dr = h / (n as f64);
557 for i in 0..n {
558 let r = (i as f64) * dr;
559 let rr = r * r;
560
561 let discrete = discrete_kernel.evaluate(rr);
562 let continuous = kernel.evaluate(r);
563
564 let diff = (discrete - continuous).abs();
565 let rel_diff = diff / continuous;
566 if rel_diff > 5e-2 && diff > 1e-1 {
567 eprintln!(
568 "at r={}, r/h={}, discrete: {}, continuous: {}, diff: {}, rel_diff: {}",
569 r,
570 r / h,
571 discrete,
572 continuous,
573 diff,
574 rel_diff
575 );
576 assert!(false);
577 }
578 }
579}

Callers

nothing calls this directly

Calls 1

evaluateMethod · 0.45

Tested by

no test coverage detected