add

Function add 

Source
pub fn add<T: Numeric<T>>(
    a: &Sprs<T>,
    b: &Sprs<T>,
    alpha: T,
    beta: T,
) -> Sprs<T>
Expand description

C = alpha * A + beta * B

ยงExample:

let a = [
    vec![2., 2., 4., 4., 1.],
    vec![3., 4., 5., 8., 3.],
    vec![2., 6., 3., 9., 3.],
    vec![5., 7., 6., 7., 1.],
    vec![7., 1., 8., 9., 2.],
];
let mut a_sparse = rsparse::data::Sprs::new();
a_sparse.from_vec(&a);

let b = [
    vec![8., 8., 6., 6., 2.],
    vec![4., 9., 7., 5., 9.],
    vec![2., 3., 8., 4., 1.],
    vec![4., 7., 6., 8., 9.],
    vec![9., 1., 8., 7., 1.],
];
let mut b_sparse = rsparse::data::Sprs::new();
b_sparse.from_vec(&b);

let r = [
    vec![10., 10., 10., 10., 3.],
    vec![7., 13., 12., 13., 12.],
    vec![4., 9., 11., 13., 4.],
    vec![9., 14., 12., 15., 10.],
    vec![16., 2., 16., 16., 3.],
];
let mut r_sparse = rsparse::data::Sprs::new();
r_sparse.from_vec(&r);

// Check as dense
assert_eq!(rsparse::add(&a_sparse, &b_sparse, 1., 1.).to_dense(), r);