extendr_api::prelude

Trait AsArray

Source
pub trait AsArray<'a, A, D = Dim<[usize; 1]>>: Into<ArrayBase<ViewRepr<&'a A>, D>>
where A: 'a, D: Dimension,
{ }
Expand description

Argument conversion into an array view

The trait is parameterized over A, the element type, and D, the dimensionality of the array. D defaults to one-dimensional.

Use .into() to do the conversion.

use ndarray::AsArray;

fn sum<'a, V: AsArray<'a, f64>>(data: V) -> f64 {
    let array_view = data.into();
    array_view.sum()
}

assert_eq!(
    sum(&[1., 2., 3.]),
    6.
);

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'a, A, D, T> AsArray<'a, A, D> for T
where A: 'a, T: Into<ArrayBase<ViewRepr<&'a A>, D>>, D: Dimension,