use-math 0.0.6

Utility-first facade crate for RustUse math utilities
Documentation
#[cfg(feature = "equation")]
#[test]
fn facade_supports_equation_namespace_and_root_reexports() {
    use use_math::{
        LinearEquation, LinearSystem2, QuadraticEquation, RootSolver, Roots, equation,
        solve_linear, solve_quadratic,
    };

    assert_eq!(solve_linear(2.0, -4.0), Roots::One(2.0));
    assert_eq!(solve_quadratic(1.0, -3.0, 2.0), Roots::Two(1.0, 2.0));
    assert_eq!(
        equation::solve_2x2(2.0, 1.0, 5.0, 1.0, -1.0, 1.0),
        Some((2.0, 1.0))
    );
    assert_eq!(LinearEquation::new(2.0, -4.0).solve(), Roots::One(2.0));
    assert_eq!(
        QuadraticEquation::new(1.0, -2.0, 1.0).solve(),
        Roots::One(1.0)
    );
    assert_eq!(
        LinearSystem2::new(2.0, 1.0, 5.0, 1.0, -1.0, 1.0).solve(),
        Some((2.0, 1.0))
    );
}

#[cfg(all(feature = "equation", feature = "polynomial"))]
#[test]
fn facade_supports_equation_polynomial_bridge() {
    use use_math::{Roots, equation, solve_polynomial_degree_1_or_2};

    let polynomial = use_math::polynomial::Polynomial::new(vec![2.0, -3.0, 1.0]);

    assert_eq!(
        solve_polynomial_degree_1_or_2(&polynomial),
        Some(Roots::Two(1.0, 2.0))
    );
    assert_eq!(
        equation::solve_polynomial_degree_1_or_2(&polynomial),
        Some(Roots::Two(1.0, 2.0))
    );
}