Trait BoolTensorOps
pub trait BoolTensorOps<B>where
B: Backend,{
Show 33 methods
// Required methods
fn bool_empty(
shape: Shape,
device: &<B as Backend>::Device,
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_zeros(
shape: Shape,
device: &<B as Backend>::Device,
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_ones(
shape: Shape,
device: &<B as Backend>::Device,
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_into_data(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> impl Future<Output = TensorData> + Send;
fn bool_from_data(
data: TensorData,
device: &<B as Backend>::Device,
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_into_int(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::IntTensorPrimitive;
fn bool_into_float(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::FloatTensorPrimitive;
fn bool_device(
tensor: &<B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::Device;
fn bool_to_device(
tensor: <B as Backend>::BoolTensorPrimitive,
device: &<B as Backend>::Device,
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_reshape(
tensor: <B as Backend>::BoolTensorPrimitive,
shape: Shape,
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_slice(
tensor: <B as Backend>::BoolTensorPrimitive,
slices: &[Slice],
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_slice_assign(
tensor: <B as Backend>::BoolTensorPrimitive,
slices: &[Slice],
value: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_equal(
lhs: <B as Backend>::BoolTensorPrimitive,
rhs: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_not(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_and(
tensor: <B as Backend>::BoolTensorPrimitive,
rhs: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_or(
tensor: <B as Backend>::BoolTensorPrimitive,
rhs: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_swap_dims(
tensor: <B as Backend>::BoolTensorPrimitive,
dim1: usize,
dim2: usize,
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_permute(
tensor: <B as Backend>::BoolTensorPrimitive,
axes: &[usize],
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_flip(
tensor: <B as Backend>::BoolTensorPrimitive,
axes: &[usize],
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_expand(
tensor: <B as Backend>::BoolTensorPrimitive,
shape: Shape,
) -> <B as Backend>::BoolTensorPrimitive;
fn bool_unfold(
tensor: <B as Backend>::BoolTensorPrimitive,
dim: usize,
size: usize,
step: usize,
) -> <B as Backend>::BoolTensorPrimitive;
// Provided methods
fn bool_select(
tensor: <B as Backend>::BoolTensorPrimitive,
dim: usize,
indices: <B as Backend>::IntTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive { ... }
fn bool_select_assign(
tensor: <B as Backend>::BoolTensorPrimitive,
dim: usize,
indices: <B as Backend>::IntTensorPrimitive,
value: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive { ... }
fn bool_repeat_dim(
tensor: <B as Backend>::BoolTensorPrimitive,
dim: usize,
times: usize,
) -> <B as Backend>::BoolTensorPrimitive { ... }
fn bool_cat(
tensors: Vec<<B as Backend>::BoolTensorPrimitive>,
dim: usize,
) -> <B as Backend>::BoolTensorPrimitive { ... }
fn bool_not_equal(
lhs: <B as Backend>::BoolTensorPrimitive,
rhs: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive { ... }
fn bool_xor(
lhs: <B as Backend>::BoolTensorPrimitive,
rhs: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive { ... }
fn bool_transpose(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive { ... }
fn bool_any(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive { ... }
fn bool_any_dim(
tensor: <B as Backend>::BoolTensorPrimitive,
dim: usize,
) -> <B as Backend>::BoolTensorPrimitive { ... }
fn bool_all(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive { ... }
fn bool_all_dim(
tensor: <B as Backend>::BoolTensorPrimitive,
dim: usize,
) -> <B as Backend>::BoolTensorPrimitive { ... }
fn bool_argwhere(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> impl Future<Output = <B as Backend>::IntTensorPrimitive> + Send + 'static { ... }
}Expand description
Bool Tensor API for basic operations, see tensor for documentation on each function.
Required Methods§
fn bool_empty(
shape: Shape,
device: &<B as Backend>::Device,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_empty( shape: Shape, device: &<B as Backend>::Device, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_zeros(
shape: Shape,
device: &<B as Backend>::Device,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_zeros( shape: Shape, device: &<B as Backend>::Device, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_ones(
shape: Shape,
device: &<B as Backend>::Device,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_ones( shape: Shape, device: &<B as Backend>::Device, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_into_data(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> impl Future<Output = TensorData> + Send
fn bool_into_data( tensor: <B as Backend>::BoolTensorPrimitive, ) -> impl Future<Output = TensorData> + Send
fn bool_from_data(
data: TensorData,
device: &<B as Backend>::Device,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_from_data( data: TensorData, device: &<B as Backend>::Device, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_into_int(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::IntTensorPrimitive
fn bool_into_int( tensor: <B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::IntTensorPrimitive
fn bool_into_float(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::FloatTensorPrimitive
fn bool_into_float( tensor: <B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::FloatTensorPrimitive
fn bool_device(
tensor: &<B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::Device
fn bool_device( tensor: &<B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::Device
fn bool_to_device(
tensor: <B as Backend>::BoolTensorPrimitive,
device: &<B as Backend>::Device,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_to_device( tensor: <B as Backend>::BoolTensorPrimitive, device: &<B as Backend>::Device, ) -> <B as Backend>::BoolTensorPrimitive
Moves the tensor to the device.
fn bool_reshape(
tensor: <B as Backend>::BoolTensorPrimitive,
shape: Shape,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_reshape( tensor: <B as Backend>::BoolTensorPrimitive, shape: Shape, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_slice(
tensor: <B as Backend>::BoolTensorPrimitive,
slices: &[Slice],
) -> <B as Backend>::BoolTensorPrimitive
fn bool_slice( tensor: <B as Backend>::BoolTensorPrimitive, slices: &[Slice], ) -> <B as Backend>::BoolTensorPrimitive
fn bool_slice_assign(
tensor: <B as Backend>::BoolTensorPrimitive,
slices: &[Slice],
value: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_slice_assign( tensor: <B as Backend>::BoolTensorPrimitive, slices: &[Slice], value: <B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_equal(
lhs: <B as Backend>::BoolTensorPrimitive,
rhs: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_equal( lhs: <B as Backend>::BoolTensorPrimitive, rhs: <B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_not(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_not( tensor: <B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_and(
tensor: <B as Backend>::BoolTensorPrimitive,
rhs: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_and( tensor: <B as Backend>::BoolTensorPrimitive, rhs: <B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_or(
tensor: <B as Backend>::BoolTensorPrimitive,
rhs: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_or( tensor: <B as Backend>::BoolTensorPrimitive, rhs: <B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_swap_dims(
tensor: <B as Backend>::BoolTensorPrimitive,
dim1: usize,
dim2: usize,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_swap_dims( tensor: <B as Backend>::BoolTensorPrimitive, dim1: usize, dim2: usize, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_permute(
tensor: <B as Backend>::BoolTensorPrimitive,
axes: &[usize],
) -> <B as Backend>::BoolTensorPrimitive
fn bool_permute( tensor: <B as Backend>::BoolTensorPrimitive, axes: &[usize], ) -> <B as Backend>::BoolTensorPrimitive
fn bool_flip(
tensor: <B as Backend>::BoolTensorPrimitive,
axes: &[usize],
) -> <B as Backend>::BoolTensorPrimitive
fn bool_flip( tensor: <B as Backend>::BoolTensorPrimitive, axes: &[usize], ) -> <B as Backend>::BoolTensorPrimitive
Reverse the order of elements in a tensor along the given axes.
§Arguments
tensor- The tensor to reverse.axes- The axes to reverse.
The tensor with the elements reversed.
fn bool_expand(
tensor: <B as Backend>::BoolTensorPrimitive,
shape: Shape,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_expand( tensor: <B as Backend>::BoolTensorPrimitive, shape: Shape, ) -> <B as Backend>::BoolTensorPrimitive
Broadcasts the bool tensor to the given shape.
fn bool_unfold(
tensor: <B as Backend>::BoolTensorPrimitive,
dim: usize,
size: usize,
step: usize,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_unfold( tensor: <B as Backend>::BoolTensorPrimitive, dim: usize, size: usize, step: usize, ) -> <B as Backend>::BoolTensorPrimitive
Unfold windows along a dimension.
Returns a view of the tensor with all complete windows of size size in dimension dim;
where windows are advanced by step at each index.
The number of windows is max(0, (shape[dim] - size).ceil_div(step)).
§Arguments
tensor- The input tensor to unfold; of shape[pre=..., dim shape, post=...]dim- the selected dim.size- the size of each unfolded window.step- the step between each window.
§Returns
A tensor view with shape [pre=..., windows, size, post=...].
Provided Methods§
fn bool_select(
tensor: <B as Backend>::BoolTensorPrimitive,
dim: usize,
indices: <B as Backend>::IntTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_select( tensor: <B as Backend>::BoolTensorPrimitive, dim: usize, indices: <B as Backend>::IntTensorPrimitive, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_select_assign(
tensor: <B as Backend>::BoolTensorPrimitive,
dim: usize,
indices: <B as Backend>::IntTensorPrimitive,
value: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_select_assign( tensor: <B as Backend>::BoolTensorPrimitive, dim: usize, indices: <B as Backend>::IntTensorPrimitive, value: <B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::BoolTensorPrimitive
Assign the selected elements along the given dimension corresponding to the given indices to the given value.
§Arguments
tensor- The tensor to assign the values to.dim- The dimension to select from.indices- The indices of the elements to assign.value- The values to assign.
§Returns
The tensor with the assigned values.
fn bool_repeat_dim(
tensor: <B as Backend>::BoolTensorPrimitive,
dim: usize,
times: usize,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_repeat_dim( tensor: <B as Backend>::BoolTensorPrimitive, dim: usize, times: usize, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_cat(
tensors: Vec<<B as Backend>::BoolTensorPrimitive>,
dim: usize,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_cat( tensors: Vec<<B as Backend>::BoolTensorPrimitive>, dim: usize, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_not_equal(
lhs: <B as Backend>::BoolTensorPrimitive,
rhs: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_not_equal( lhs: <B as Backend>::BoolTensorPrimitive, rhs: <B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_xor(
lhs: <B as Backend>::BoolTensorPrimitive,
rhs: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_xor( lhs: <B as Backend>::BoolTensorPrimitive, rhs: <B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_transpose(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_transpose( tensor: <B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_any(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_any( tensor: <B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_any_dim(
tensor: <B as Backend>::BoolTensorPrimitive,
dim: usize,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_any_dim( tensor: <B as Backend>::BoolTensorPrimitive, dim: usize, ) -> <B as Backend>::BoolTensorPrimitive
Tests if any element in the boolean tensor evaluates to True along a given dimension dim.
§Arguments
tensor- The tensor to test.dim- The axis along which to test.
§Returns
A boolean tensor Tensor<B, D, Bool> with the same size as input tensor, except in the dim axis
where the size is 1. The elem in the dim axis is True if any element along this dim in the input
evaluates to True, False otherwise.
fn bool_all(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_all( tensor: <B as Backend>::BoolTensorPrimitive, ) -> <B as Backend>::BoolTensorPrimitive
fn bool_all_dim(
tensor: <B as Backend>::BoolTensorPrimitive,
dim: usize,
) -> <B as Backend>::BoolTensorPrimitive
fn bool_all_dim( tensor: <B as Backend>::BoolTensorPrimitive, dim: usize, ) -> <B as Backend>::BoolTensorPrimitive
Tests if all elements in the boolean tensor evaluate to True along a given dimension dim.
§Arguments
tensor- The tensor to test.dim- The axis along which to test.
§Returns
A boolean tensor Tensor<B, D, Bool> with the same size as input tensor, except in the dim axis
where the size is 1. The elem in the dim axis is True if all elements along this dim in the input
evaluates to True, False otherwise.
fn bool_argwhere(
tensor: <B as Backend>::BoolTensorPrimitive,
) -> impl Future<Output = <B as Backend>::IntTensorPrimitive> + Send + 'static
fn bool_argwhere( tensor: <B as Backend>::BoolTensorPrimitive, ) -> impl Future<Output = <B as Backend>::IntTensorPrimitive> + Send + 'static
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.