Enum ha_ndarray::Platform
source · pub enum Platform {
Host(Host),
}
Expand description
The global platform, responsible for delegating to specific hardware platforms
Variants§
Trait Implementations§
source§impl<L, R, T> ElementwiseBoolean<L, R, T> for Platform
impl<L, R, T> ElementwiseBoolean<L, R, T> for Platform
source§impl<L, R, T> ElementwiseCompare<L, R, T> for Platform
impl<L, R, T> ElementwiseCompare<L, R, T> for Platform
type Op = Dual<L, R, T, u8>
fn eq(self, left: L, right: R) -> Result<AccessOp<Self::Op, Self>, Error>
fn ge(self, left: L, right: R) -> Result<AccessOp<Self::Op, Self>, Error>
fn gt(self, left: L, right: R) -> Result<AccessOp<Self::Op, Self>, Error>
fn le(self, left: L, right: R) -> Result<AccessOp<Self::Op, Self>, Error>
fn lt(self, left: L, right: R) -> Result<AccessOp<Self::Op, Self>, Error>
fn ne(self, left: L, right: R) -> Result<AccessOp<Self::Op, Self>, Error>
source§impl<L, R, T> ElementwiseDual<L, R, T> for Platform
impl<L, R, T> ElementwiseDual<L, R, T> for Platform
type Op = Dual<L, R, T, T>
fn add(self, left: L, right: R) -> Result<AccessOp<Self::Op, Self>, Error>
fn div(self, left: L, right: R) -> Result<AccessOp<Self::Op, Self>, Error>
fn log(self, arg: L, base: R) -> Result<AccessOp<Self::Op, Self>, Error>
fn mul(self, left: L, right: R) -> Result<AccessOp<Self::Op, Self>, Error>
fn pow(self, arg: L, exp: R) -> Result<AccessOp<Self::Op, Self>, Error>
fn rem(self, left: L, right: R) -> Result<AccessOp<Self::Op, Self>, Error>
fn sub(self, left: L, right: R) -> Result<AccessOp<Self::Op, Self>, Error>
source§impl<A: Access<T>, T: CType> ElementwiseScalar<A, T> for Platform
impl<A: Access<T>, T: CType> ElementwiseScalar<A, T> for Platform
type Op = Scalar<A, T, T>
fn add_scalar( self, left: A, right: T ) -> Result<AccessOp<Self::Op, Self>, Error>
fn div_scalar( self, left: A, right: T ) -> Result<AccessOp<Self::Op, Self>, Error>
fn log_scalar(self, arg: A, base: T) -> Result<AccessOp<Self::Op, Self>, Error>
fn mul_scalar( self, left: A, right: T ) -> Result<AccessOp<Self::Op, Self>, Error>
fn pow_scalar(self, arg: A, exp: T) -> Result<AccessOp<Self::Op, Self>, Error>
fn rem_scalar( self, left: A, right: T ) -> Result<AccessOp<Self::Op, Self>, Error>
fn sub_scalar( self, left: A, right: T ) -> Result<AccessOp<Self::Op, Self>, Error>
source§impl<A: Access<T>, T: CType> ElementwiseScalarCompare<A, T> for Platform
impl<A: Access<T>, T: CType> ElementwiseScalarCompare<A, T> for Platform
type Op = Scalar<A, T, u8>
fn eq_scalar(self, left: A, right: T) -> Result<AccessOp<Self::Op, Self>, Error>
fn ge_scalar(self, left: A, right: T) -> Result<AccessOp<Self::Op, Self>, Error>
fn gt_scalar(self, left: A, right: T) -> Result<AccessOp<Self::Op, Self>, Error>
fn le_scalar(self, left: A, right: T) -> Result<AccessOp<Self::Op, Self>, Error>
fn lt_scalar(self, left: A, right: T) -> Result<AccessOp<Self::Op, Self>, Error>
fn ne_scalar(self, left: A, right: T) -> Result<AccessOp<Self::Op, Self>, Error>
source§impl<A: Access<T>, T: CType> ElementwiseTrig<A, T> for Platform
impl<A: Access<T>, T: CType> ElementwiseTrig<A, T> for Platform
type Op = Unary<A, T, <T as CType>::Float>
fn sin(self, access: A) -> Result<AccessOp<Self::Op, Self>, Error>
fn asin(self, access: A) -> Result<AccessOp<Self::Op, Self>, Error>
fn sinh(self, access: A) -> Result<AccessOp<Self::Op, Self>, Error>
fn cos(self, access: A) -> Result<AccessOp<Self::Op, Self>, Error>
fn acos(self, access: A) -> Result<AccessOp<Self::Op, Self>, Error>
fn cosh(self, access: A) -> Result<AccessOp<Self::Op, Self>, Error>
fn tan(self, access: A) -> Result<AccessOp<Self::Op, Self>, Error>
fn atan(self, access: A) -> Result<AccessOp<Self::Op, Self>, Error>
fn tanh(self, access: A) -> Result<AccessOp<Self::Op, Self>, Error>
source§impl<A: Access<T>, T: CType> ElementwiseUnary<A, T> for Platform
impl<A: Access<T>, T: CType> ElementwiseUnary<A, T> for Platform
type Op = Unary<A, T, T>
fn abs(self, access: A) -> Result<AccessOp<Self::Op, Self>, Error>
fn exp(self, access: A) -> Result<AccessOp<Self::Op, Self>, Error>
fn ln(self, access: A) -> Result<AccessOp<Self::Op, Self>, Error>
fn round(self, access: A) -> Result<AccessOp<Self::Op, Self>, Error>
source§impl<A, L, R, T> GatherCond<A, L, R, T> for Platform
impl<A, L, R, T> GatherCond<A, L, R, T> for Platform
source§impl<L, R, T> LinAlgDual<L, R, T> for Platform
impl<L, R, T> LinAlgDual<L, R, T> for Platform
source§impl PartialEq for Platform
impl PartialEq for Platform
source§impl PlatformInstance for Platform
impl PlatformInstance for Platform
source§impl Random for Platform
impl Random for Platform
type Normal = RandomNormal
type Uniform = RandomUniform
fn random_normal( self, size: usize ) -> Result<AccessOp<Self::Normal, Self>, Error>
fn random_uniform( self, size: usize ) -> Result<AccessOp<Self::Uniform, Self>, Error>
source§impl<A: Access<T>, T: CType> ReduceAll<A, T> for Platform
impl<A: Access<T>, T: CType> ReduceAll<A, T> for Platform
fn all(self, access: A) -> Result<bool, Error>
fn any(self, access: A) -> Result<bool, Error>
fn max(self, access: A) -> Result<T, Error>
fn min(self, access: A) -> Result<T, Error>
fn product(self, access: A) -> Result<T, Error>
fn sum(self, access: A) -> Result<T, Error>
source§impl<A: Access<T>, T: CType> ReduceAxes<A, T> for Platform
impl<A: Access<T>, T: CType> ReduceAxes<A, T> for Platform
type Op = Reduce<A, T>
fn max( self, access: A, stride: usize ) -> Result<AccessOp<Self::Op, Self>, Error>
fn min( self, access: A, stride: usize ) -> Result<AccessOp<Self::Op, Self>, Error>
fn product( self, access: A, stride: usize ) -> Result<AccessOp<Self::Op, Self>, Error>
fn sum( self, access: A, stride: usize ) -> Result<AccessOp<Self::Op, Self>, Error>
source§impl<A: Access<T>, T: CType> Transform<A, T> for Platform
impl<A: Access<T>, T: CType> Transform<A, T> for Platform
type Broadcast = View<A, T>
type Slice = Slice<A, T>
type Transpose = View<A, T>
fn broadcast( self, access: A, shape: Shape, broadcast: Shape ) -> Result<AccessOp<Self::Broadcast, Self>, Error>
fn slice( self, access: A, shape: &[usize], range: Range ) -> Result<AccessOp<Self::Slice, Self>, Error>
fn transpose( self, access: A, shape: Shape, permutation: Axes ) -> Result<AccessOp<Self::Transpose, Self>, Error>
impl Copy for Platform
impl Eq for Platform
impl StructuralEq for Platform
impl StructuralPartialEq for Platform
Auto Trait Implementations§
impl RefUnwindSafe for Platform
impl Send for Platform
impl Sync for Platform
impl Unpin for Platform
impl UnwindSafe for Platform
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more