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<A: Access<T>, T: CType> ElementwiseBooleanScalar<A, T> for Platform
impl<A: Access<T>, T: CType> ElementwiseBooleanScalar<A, T> for Platform
type Op = Scalar<A, T, u8>
fn and_scalar( self, left: A, right: T, ) -> Result<AccessOp<Self::Op, Self>, Error>
fn or_scalar(self, left: A, right: T) -> Result<AccessOp<Self::Op, Self>, Error>
fn xor_scalar( self, left: A, right: T, ) -> Result<AccessOp<Self::Op, Self>, Error>
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 PlatformInstance for Platform
impl PlatformInstance for Platform
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 StructuralPartialEq for Platform
Auto Trait Implementations§
impl Freeze for Platform
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more