lak-kernels 0.1.1

BLAS-like linear algebra kernels in fully-safe Rust.
Documentation
// copy.rs 

use crate::types::{VecRef, VecMut}; 
use crate::assert_length_eq; 

/// copies x into y 
///
/// args: 
/// * x: [VecRef] - vector x 
/// * y: [VecMut] - vector y 
pub fn copy<T>( 
    x: VecRef<'_, T>, 
    mut y: VecMut<'_, T>, 
) 
where T: Copy 
{
    assert_length_eq!(x, y); 

    let x_slice = x.as_slice(); 
    let y_slice = y.as_slice_mut(); 

    // no simd needed, already fast 
    for (&xv, yv) in x_slice.iter().zip(y_slice.iter_mut()) { 
        *yv = xv; 
    }
}