pub(crate) mod ewald;
pub(crate) mod ewald_truncated;
pub(crate) mod plain;
pub(crate) mod poisson;
pub(crate) mod reactionfield;
#[cfg(test)]
pub(crate) mod test_utils {
macro_rules! assert_vec_zero {
($vec:expr, $eps:expr) => {{
let v: crate::NalgebraVector3 = $vec.into();
approx::assert_relative_eq!(v.norm(), 0.0, epsilon = $eps);
}};
}
macro_rules! assert_vec3_eq {
($vec:expr, [$x:expr, $y:expr, $z:expr], $eps:expr) => {{
let v: crate::NalgebraVector3 = $vec.into();
approx::assert_relative_eq!(v[0], $x, epsilon = $eps);
approx::assert_relative_eq!(v[1], $y, epsilon = $eps);
approx::assert_relative_eq!(v[2], $z, epsilon = $eps);
}};
}
macro_rules! assert_vec_x_equals_norm {
($vec:expr, $expected:expr, $eps:expr) => {{
let v: crate::NalgebraVector3 = $vec.into();
approx::assert_relative_eq!(v[0], $expected, epsilon = $eps);
approx::assert_relative_eq!(v.norm(), $expected, epsilon = $eps);
}};
}
pub(crate) use assert_vec3_eq;
pub(crate) use assert_vec_x_equals_norm;
pub(crate) use assert_vec_zero;
}