1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
use array::Array;


/// Applies given function on given array elements and returns new array
///
/// # Arguments
///
/// * `array` - source array
/// * `function` - function to apply
fn apply<T, S, R>(array: &Array<T>, function: S ) -> Array<R>
    where T: Clone, R: Clone, S: FnMut(&T) -> R,
{
        let data = array.data.borrow().iter().map(function).collect();
        return Array::new(data, array.get_shape().clone());
}

mod unit_type;
pub mod hyperbolic;
pub mod trigonometric;