fn eval(&self, mut inputs: TVec<Arc<Tensor>>) -> TractResult<TVec<Arc<Tensor>>> {
        let (input, dims) = args_2!(inputs);
        let dims: Vec<usize> = dims.to_array_view::<i64>()?.iter().map(|i| *i as usize).collect();
        let dims = crate::broadcast::multi_broadcast(&[&*dims, &*input.shape()])
            .ok_or("incompatible shapes")?;
        dispatch_datum!(Self::eval_t(input.datum_type())(&*input, &*dims))
    }
/// Evaluates the operation given the input tensors.
Evaluates the operation given the input tensors.
Evaluates the operation given the input tensors .
fn eval(&self, mut inputs: TVec<Arc<Tensor>>) -> TractResult<TVec<Arc<Tensor>>> {
        let (input, dims) = args_2!(inputs);
        let dims: Vec<usize> = dims.to_array_view::<i64>()?.iter().map(|i| *i as usize).collect();
        let dims = crate::broadcast::multi_broadcast(&[&*dims, &*input.shape()])
            .ok_or("incompatible shapes")?;
        dispatch_datum!(Self::eval_t(input.datum_type())(&*input, &*dims))
    }
fn eval ( & self , mut inputs : TVec < Arc < Tensor > > ) -> TractResult < TVec < Arc < Tensor > > > { let ( input , dims ) = args_2 ! ( inputs ) ; let dims : Vec < usize > = dims . to_array_view :: < i64 > ( ) ? . iter ( ) . map ( | i | * i as usize ) . collect ( ) ; let dims = crate :: broadcast :: multi_broadcast ( & [ & * dims , & * input . shape ( ) ] ) . ok_or ( " " ) ? ; dispatch_datum ! ( Self eval_t ( input datum_type ( ) ) ( input dims ) ) }
Evaluates the operation given the input tensors.
Evaluates the operation given the input tensors .
&self
inputs
TVec<Arc<Tensor>>
&self
inputs
TVec<Arc<Tensor>>