#[non_exhaustive]#[repr(u16)]pub enum ReduceKind {
Show 15 variants
Sum = 0,
Mean = 1,
Max = 2,
Min = 3,
Prod = 4,
Var = 5,
Std = 6,
Norm2 = 7,
Argmax = 8,
Argmin = 9,
Any = 10,
All = 11,
LogSumExp = 12,
Trace = 13,
CountNonzero = 14,
}Expand description
Reduction op discriminant — Phase 4 (Category E).
Output shape differs from input: the reduced axis collapses to size 1 (keepdim convention). Other variants are reserved for fanout.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Sum = 0
Sum along the reduced axis. Phase 4 trailblazer.
Mean = 1
Arithmetic mean along the reduced axis.
Max = 2
Maximum value along the reduced axis.
Min = 3
Minimum value along the reduced axis.
Prod = 4
Product along the reduced axis.
Var = 5
Sample variance (Bessel-corrected) along the reduced axis.
Std = 6
Sample standard deviation along the reduced axis.
Norm2 = 7
||x||_2 along the reduced axis.
Argmax = 8
argmax along the reduced axis — returns indices (different
output dtype). Will need a separate plan shape, reserved here.
Argmin = 9
argmin along the reduced axis. Will need a separate plan
shape.
Any = 10
any (logical OR) along the reduced axis.
All = 11
all (logical AND) along the reduced axis.
LogSumExp = 12
logsumexp(x) = log(sum(exp(x - max))), numerically stable.
Trace = 13
trace(M) = sum(diag(M)) — sum of the diagonal of a 2-D
square matrix. Reduces both axes via the i == i constraint
rather than a single reduce-axis, so dispatch goes through a
dedicated TracePlan (separate from ReducePlan); the
discriminant lives here for telemetry / SKU-tagging consistency
with the rest of the reduction family.
CountNonzero = 14
count_nonzero(x) along the reduced axis — output is i64
(PyTorch torch.count_nonzero returns int64). Heterogeneous
output dtype (always i64 regardless of input), so dispatch
goes through a dedicated CountReducePlan (separate from
ReducePlan); the discriminant lives here for telemetry /
SKU-tagging consistency with the rest of the reduction family.
Trait Implementations§
Source§impl Clone for ReduceKind
impl Clone for ReduceKind
Source§fn clone(&self) -> ReduceKind
fn clone(&self) -> ReduceKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ReduceKind
Source§impl Debug for ReduceKind
impl Debug for ReduceKind
impl Eq for ReduceKind
Source§impl Hash for ReduceKind
impl Hash for ReduceKind
Source§impl PartialEq for ReduceKind
impl PartialEq for ReduceKind
Source§fn eq(&self, other: &ReduceKind) -> bool
fn eq(&self, other: &ReduceKind) -> bool
self and other values to be equal, and is used by ==.