initial commit
This commit is contained in:
51
examples/matrix_example.rs
Normal file
51
examples/matrix_example.rs
Normal file
@@ -0,0 +1,51 @@
|
||||
use rmath::HMatrix;
|
||||
use rmath::SMatrix;
|
||||
|
||||
fn main() {
|
||||
let mut acc = 0;
|
||||
let mut m1 = HMatrix::new(3, 3, |_| {
|
||||
let res = acc;
|
||||
acc += 1;
|
||||
res
|
||||
});
|
||||
println!("{}", m1);
|
||||
println!("{}", &m1 + &m1);
|
||||
println!("{}", m1.clone() - m1.clone());
|
||||
println!("{}", &m1 * &m1);
|
||||
|
||||
acc = 0;
|
||||
let mut m2: SMatrix<i32, 3, 3> = SMatrix::new(|_| {
|
||||
let res = acc;
|
||||
acc += 1;
|
||||
res
|
||||
});
|
||||
println!("{}", m2);
|
||||
println!("{}", m2 + m2);
|
||||
println!("{}", m2 - m2);
|
||||
println!("{}", m2 * m2);
|
||||
|
||||
for (i, j, v) in m2 {
|
||||
println!("{} {} {}", i, j, v);
|
||||
}
|
||||
for (i, j, v) in &mut m2 {
|
||||
println!("{} {} {}", i, j, v);
|
||||
*v = 5;
|
||||
}
|
||||
println!("{}", m2);
|
||||
println!("{}", m1 == m1);
|
||||
println!("{}", m1 == &m1 + &m1);
|
||||
println!("{}", m2 == m2);
|
||||
println!("{}", m2 == m2 + m2);
|
||||
|
||||
for (i, j, v) in &mut m1 {
|
||||
println!("{} {} {}", i, j, v);
|
||||
*v = 0;
|
||||
}
|
||||
|
||||
let a: SMatrix<i32, 3, 2> =
|
||||
SMatrix::new(|(i, j)| i32::try_from(i).unwrap() - i32::try_from(j).unwrap());
|
||||
let b: SMatrix<i32, 2, 3> =
|
||||
SMatrix::new(|(i, j)| i32::try_from(i).unwrap() - i32::try_from(j).unwrap());
|
||||
println!("{}", a * b);
|
||||
println!("{}", b * a);
|
||||
}
|
Reference in New Issue
Block a user