use crate::{array::Array, error::Result};
impl Array {
pub fn slice(&self, start: &[i32], stop: &[i32], strides: &[i32]) -> Result<Array> {
crate::ops::indexing::slice(self, start, stop, strides)
}
pub fn take(&self, indices: &Array) -> Result<Array> {
crate::ops::indexing::take(self, indices)
}
pub fn take_axis(&self, indices: &Array, axis: i32) -> Result<Array> {
crate::ops::indexing::take_axis(self, indices, axis)
}
pub fn take_along_axis(&self, indices: &Array, axis: i32) -> Result<Array> {
crate::ops::indexing::take_along_axis(self, indices, axis)
}
pub fn put_along_axis(&self, indices: &Array, values: &Array, axis: i32) -> Result<Array> {
crate::ops::indexing::put_along_axis(self, indices, values, axis)
}
pub fn gather(&self, indices: &[&Array], axes: &[i32], slice_sizes: &[i32]) -> Result<Array> {
crate::ops::indexing::gather(self, indices, axes, slice_sizes)
}
pub fn slice_update(
&self,
update: &Array,
start: &[i32],
stop: &[i32],
strides: &[i32],
) -> Result<Array> {
crate::ops::indexing::slice_update(self, update, start, stop, strides)
}
pub fn slice_update_add(
&self,
update: &Array,
start: &[i32],
stop: &[i32],
strides: &[i32],
) -> Result<Array> {
crate::ops::indexing::slice_update_add(self, update, start, stop, strides)
}
pub fn slice_update_max(
&self,
update: &Array,
start: &[i32],
stop: &[i32],
strides: &[i32],
) -> Result<Array> {
crate::ops::indexing::slice_update_max(self, update, start, stop, strides)
}
pub fn slice_update_min(
&self,
update: &Array,
start: &[i32],
stop: &[i32],
strides: &[i32],
) -> Result<Array> {
crate::ops::indexing::slice_update_min(self, update, start, stop, strides)
}
pub fn slice_update_prod(
&self,
update: &Array,
start: &[i32],
stop: &[i32],
strides: &[i32],
) -> Result<Array> {
crate::ops::indexing::slice_update_prod(self, update, start, stop, strides)
}
pub fn slice_update_dynamic(&self, update: &Array, start: &Array, axes: &[i32]) -> Result<Array> {
crate::ops::indexing::slice_update_dynamic(self, update, start, axes)
}
}