#[cfg(test)]
pub mod aux {
use crate::shapes::{GeoKind, Scratchpad};
use russell_lab::math::SQRT_2;
pub const NOISE: f64 = 1234.56;
pub fn gen_pad_lin2(l: f64) -> Scratchpad {
let mut pad = Scratchpad::new(2, GeoKind::Lin2).unwrap();
pad.set_xx(0, 0, 3.0);
pad.set_xx(0, 1, 4.0);
pad.set_xx(1, 0, 3.0 + l / SQRT_2);
pad.set_xx(1, 1, 4.0 + l / SQRT_2);
pad
}
pub fn gen_pad_tri3() -> Scratchpad {
let mut pad = Scratchpad::new(2, GeoKind::Tri3).unwrap();
pad.set_xx(0, 0, 3.0);
pad.set_xx(0, 1, 4.0);
pad.set_xx(1, 0, 8.0);
pad.set_xx(1, 1, 4.0);
pad.set_xx(2, 0, 5.0);
pad.set_xx(2, 1, 9.0);
pad
}
pub fn gen_pad_qua4(xc: f64, yc: f64, a: f64, b: f64) -> Scratchpad {
let mut pad = Scratchpad::new(2, GeoKind::Qua4).unwrap();
pad.set_xx(0, 0, xc - a);
pad.set_xx(0, 1, yc - b);
pad.set_xx(1, 0, xc + a);
pad.set_xx(1, 1, yc - b);
pad.set_xx(2, 0, xc + a);
pad.set_xx(2, 1, yc + b);
pad.set_xx(3, 0, xc - a);
pad.set_xx(3, 1, yc + b);
pad
}
pub fn gen_pad_qua8(xc: f64, yc: f64, a: f64, b: f64) -> Scratchpad {
let mut pad = Scratchpad::new(2, GeoKind::Qua8).unwrap();
pad.set_xx(0, 0, xc - a);
pad.set_xx(0, 1, yc - b);
pad.set_xx(1, 0, xc + a);
pad.set_xx(1, 1, yc - b);
pad.set_xx(2, 0, xc + a);
pad.set_xx(2, 1, yc + b);
pad.set_xx(3, 0, xc - a);
pad.set_xx(3, 1, yc + b);
pad.set_xx(4, 0, xc);
pad.set_xx(4, 1, yc - b);
pad.set_xx(5, 0, xc + a);
pad.set_xx(5, 1, yc);
pad.set_xx(6, 0, xc);
pad.set_xx(6, 1, yc + b);
pad.set_xx(7, 0, xc - a);
pad.set_xx(7, 1, yc);
pad
}
pub fn gen_pad_tet4() -> Scratchpad {
let mut pad = Scratchpad::new(3, GeoKind::Tet4).unwrap();
pad.set_xx(0, 0, 2.0);
pad.set_xx(0, 1, 3.0);
pad.set_xx(0, 2, 4.0);
pad.set_xx(1, 0, 6.0);
pad.set_xx(1, 1, 3.0);
pad.set_xx(1, 2, 2.0);
pad.set_xx(2, 0, 2.0);
pad.set_xx(2, 1, 5.0);
pad.set_xx(2, 2, 1.0);
pad.set_xx(3, 0, 4.0);
pad.set_xx(3, 1, 3.0);
pad.set_xx(3, 2, 6.0);
pad
}
}