Trait RangesArg

Source
pub trait RangesArg<const D2: usize> {
    // Required method
    fn into_ranges(self, shape: Shape) -> [Range<usize>; D2];

    // Provided methods
    fn handle_negative_index(start: i64, end: i64, dim: usize) -> (usize, usize) { ... }
    fn clamp_range(start: usize, end: usize, dim: usize) -> (usize, usize) { ... }
}
Expand description

Trait used for slice arguments

Required Methods§

Source

fn into_ranges(self, shape: Shape) -> [Range<usize>; D2]

Converts into a set of ranges to [core::ops::Range<usize>; D2] for the tensor.slice() function

Provided Methods§

Source

fn handle_negative_index(start: i64, end: i64, dim: usize) -> (usize, usize)

Handles negative index values

Source

fn clamp_range(start: usize, end: usize, dim: usize) -> (usize, usize)

Clamps the range to the shape dimensions

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.

Implementations on Foreign Types§

Source§

impl<const D2: usize> RangesArg<D2> for [(i64, i64); D2]

Source§

fn into_ranges(self, shape: Shape) -> [Range<usize>; D2]

Source§

impl<const D2: usize> RangesArg<D2> for [Option<(i64, i64)>; D2]

Source§

fn into_ranges(self, shape: Shape) -> [Range<usize>; D2]

Source§

impl<const D2: usize> RangesArg<D2> for [Range<usize>; D2]

Source§

fn into_ranges(self, shape: Shape) -> [Range<usize>; D2]

Implementors§