tensor_rs/tensor_trait/
reduction.rs

1pub trait ReduceTensor where Self: std::marker::Sized {
2
3    fn argmax(&self, dim: Option<&[usize]>, keep_dim: bool) -> Self;
4    fn argmin(&self, dim: Option<&[usize]>, keep_dim: bool) -> Self;
5    fn dist();
6    /// log(sum(exp(x))),
7    /// dim is the dimension along which sum is applied.
8    /// if keep_dim, the dimension along which sum is applied will be kept and be 1.
9    fn logsumexp(&self, dim: Option<&[usize]>, keep_dim: bool) -> Self;
10    fn mean(&self, dim: Option<&[usize]>, keepdim: bool) -> Self;
11    fn median();
12    fn mode();
13    fn prod(&self, dim: Option<&[usize]>, keepdim: bool) -> Self;
14    fn std(&self, dim: Option<&[usize]>, keepdim: bool) -> Self;
15    fn std_mean();
16    //fn sum(&self, dim: usize, keepdim: bool) -> Self::TensorType;
17    fn sum(&self, dim: Option<&[usize]>, keepdim: bool) -> Self;
18    fn unique();
19    fn unique_consecutive();
20    fn var(&self, dim: Option<&[usize]>, keepdim: bool) -> Self;
21    fn var_mean();
22
23    fn max(&self, dim: Option<&[usize]>, keepdim: bool) -> Self;
24    fn min(&self, dim: Option<&[usize]>, keepdim: bool) -> Self;
25}