#[macro_use]
extern crate static_math;
use static_math::matrix6x6::M66;
use static_math::traits::LinearAlgebra;
use static_math::vector6::V6;
fn main() {
let a = m66_new!( 1.0, 1.0, 3.0, 4.0, 9.0, 3.0;
10.0, 10.0, 1.0, 2.0, 2.0, 5.0;
2.0, 9.0, 6.0, 10.0, 10.0, 9.0;
10.0, 9.0, 9.0, 7.0, 3.0, 6.0;
7.0, 6.0, 6.0, 2.0, 9.0, 5.0;
3.0, 8.0, 1.0, 4.0, 1.0, 5.0);
let b = V6::new([0.0, 1.0, 3.0, 0.0, 1.0, 2.0]);
if let Some(inv) = a.inverse() {
let solution = inv * b;
println!("the solution is: {}", solution);
println!("verification: a * solution = b?: {}", a * solution);
println!("b: {}", b);
}
}