Skip to main content

AltRealData

Trait AltRealData 

Source
pub trait AltRealData: AltrepLen {
    // Required method
    fn elt(&self, i: usize) -> f64;

    // Provided methods
    fn as_slice(&self) -> Option<&[f64]> { ... }
    fn get_region(&self, start: usize, len: usize, buf: &mut [f64]) -> usize { ... }
    fn is_sorted(&self) -> Option<Sortedness> { ... }
    fn no_na(&self) -> Option<bool> { ... }
    fn sum(&self, _na_rm: bool) -> Option<f64> { ... }
    fn min(&self, _na_rm: bool) -> Option<f64> { ... }
    fn max(&self, _na_rm: bool) -> Option<f64> { ... }
}
Expand description

Trait for types that can back an ALTREAL vector.

Required Methods§

Source

fn elt(&self, i: usize) -> f64

Get the real element at index i.

Provided Methods§

Source

fn as_slice(&self) -> Option<&[f64]>

Optional: return a pointer to contiguous data if available.

Source

fn get_region(&self, start: usize, len: usize, buf: &mut [f64]) -> usize

Optional: bulk read into buffer (clamped to available data).

Same contract and override guidance as AltIntegerData::get_region: fill at most len.min(buf.len()).min(self.altrep_len() - start) elements and return the count written.

Source

fn is_sorted(&self) -> Option<Sortedness>

Optional: sortedness hint.

Source

fn no_na(&self) -> Option<bool>

Optional: Some(true) promises the vector holds no NA and no NaN.

R reads this hint as “nothing ISNAN”: anyNA() returns FALSE without scanning when it is true, so a vector with a plain NaN must not report Some(true) (anyNA(c(1, NaN)) is TRUE).

Source

fn sum(&self, _na_rm: bool) -> Option<f64>

Optional: optimized sum.

Source

fn min(&self, _na_rm: bool) -> Option<f64>

Optional: optimized min.

Source

fn max(&self, _na_rm: bool) -> Option<f64>

Optional: optimized max.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl AltRealData for &[f64]

Source§

fn elt(&self, i: usize) -> f64

Source§

fn as_slice(&self) -> Option<&[f64]>

Source§

fn get_region(&self, start: usize, len: usize, buf: &mut [f64]) -> usize

Source§

fn no_na(&self) -> Option<bool>

Source§

fn sum(&self, na_rm: bool) -> Option<f64>

Source§

fn min(&self, na_rm: bool) -> Option<f64>

Source§

fn max(&self, na_rm: bool) -> Option<f64>

Source§

impl AltRealData for Arc<[f64]>

Source§

fn elt(&self, i: usize) -> f64

Source§

fn as_slice(&self) -> Option<&[f64]>

Source§

fn get_region(&self, start: usize, len: usize, buf: &mut [f64]) -> usize

Source§

fn no_na(&self) -> Option<bool>

Source§

fn sum(&self, na_rm: bool) -> Option<f64>

Source§

fn min(&self, na_rm: bool) -> Option<f64>

Source§

fn max(&self, na_rm: bool) -> Option<f64>

Source§

impl AltRealData for Box<[f64]>

Source§

fn elt(&self, i: usize) -> f64

Source§

fn as_slice(&self) -> Option<&[f64]>

Source§

fn get_region(&self, start: usize, len: usize, buf: &mut [f64]) -> usize

Source§

fn no_na(&self) -> Option<bool>

Source§

fn sum(&self, na_rm: bool) -> Option<f64>

Source§

fn min(&self, na_rm: bool) -> Option<f64>

Source§

fn max(&self, na_rm: bool) -> Option<f64>

Source§

impl AltRealData for Cow<'static, [f64]>

Source§

fn elt(&self, i: usize) -> f64

Source§

fn as_slice(&self) -> Option<&[f64]>

Source§

fn get_region(&self, start: usize, len: usize, buf: &mut [f64]) -> usize

Source§

fn no_na(&self) -> Option<bool>

Source§

fn sum(&self, na_rm: bool) -> Option<f64>

Source§

fn min(&self, na_rm: bool) -> Option<f64>

Source§

fn max(&self, na_rm: bool) -> Option<f64>

Source§

impl AltRealData for Range<f64>

Source§

fn elt(&self, i: usize) -> f64

Source§

fn is_sorted(&self) -> Option<Sortedness>

Source§

fn no_na(&self) -> Option<bool>

Source§

fn sum(&self, _na_rm: bool) -> Option<f64>

Source§

fn min(&self, _na_rm: bool) -> Option<f64>

Source§

fn max(&self, _na_rm: bool) -> Option<f64>

Source§

impl AltRealData for Rc<[f64]>

Source§

fn elt(&self, i: usize) -> f64

Source§

fn as_slice(&self) -> Option<&[f64]>

Source§

fn get_region(&self, start: usize, len: usize, buf: &mut [f64]) -> usize

Source§

fn no_na(&self) -> Option<bool>

Source§

fn sum(&self, na_rm: bool) -> Option<f64>

Source§

fn min(&self, na_rm: bool) -> Option<f64>

Source§

fn max(&self, na_rm: bool) -> Option<f64>

Source§

impl AltRealData for Vec<f64>

Source§

fn elt(&self, i: usize) -> f64

Source§

fn as_slice(&self) -> Option<&[f64]>

Source§

fn get_region(&self, start: usize, len: usize, buf: &mut [f64]) -> usize

Source§

fn no_na(&self) -> Option<bool>

Source§

fn sum(&self, na_rm: bool) -> Option<f64>

Source§

fn min(&self, na_rm: bool) -> Option<f64>

Source§

fn max(&self, na_rm: bool) -> Option<f64>

Source§

impl AltRealData for VecDeque<f64>

Source§

fn elt(&self, i: usize) -> f64

Source§

fn as_slice(&self) -> Option<&[f64]>

Source§

fn get_region(&self, start: usize, len: usize, out: &mut [f64]) -> usize

Source§

impl<const N: usize> AltRealData for [f64; N]

Source§

fn elt(&self, i: usize) -> f64

Source§

fn as_slice(&self) -> Option<&[f64]>

Source§

fn get_region(&self, start: usize, len: usize, buf: &mut [f64]) -> usize

Source§

fn no_na(&self) -> Option<bool>

Implementors§