pub fn validate_quad(p: &[[f64; 2]; 4]) -> Result<(), &'static str>Expand description
A quad needs distinct nodes and a positive det J at all four reference corners.
det J of a bilinear map is linear in (xi, eta), so positivity at the
corners is necessary and sufficient for positivity everywhere; positivity
at the Gauss points alone is not (a quad with one reflex corner can have
all Gauss-point determinants positive).