pub struct InputScalar { /* private fields */ }Expand description
A way to define an input scalar without a generic attached to it.
It uses comptime enum with zero-cost runtime abstraction for kernel generation.
Implementations§
Source§impl InputScalar
impl InputScalar
Sourcepub fn new<E: ToPrimitive>(val: E, dtype: impl Into<StorageType>) -> Self
pub fn new<E: ToPrimitive>(val: E, dtype: impl Into<StorageType>) -> Self
Creates an InputScalar from the given element and dtype.
§Panics
If the given numeric element can’t be transformed into the passed ElemType.
Source§impl InputScalar
impl InputScalar
Sourcepub fn get<C: CubePrimitive>(&self) -> C
pub fn get<C: CubePrimitive>(&self) -> C
Reads the scalar with the given element type.
Performs casting if necessary.
pub fn __expand_get<C: CubePrimitive>( scope: &mut Scope, this: <Self as CubeType>::ExpandType, ) -> <C as CubeType>::ExpandType
Trait Implementations§
Source§impl<R: Runtime> ArgSettings<R> for InputScalar
impl<R: Runtime> ArgSettings<R> for InputScalar
Source§fn register(&self, launcher: &mut KernelLauncher<R>)
fn register(&self, launcher: &mut KernelLauncher<R>)
Register the information of an argument to the KernelLauncher.
Source§impl Clone for InputScalar
impl Clone for InputScalar
Source§fn clone(&self) -> InputScalar
fn clone(&self) -> InputScalar
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl CubeType for InputScalar
impl CubeType for InputScalar
type ExpandType = InputScalarExpand
Source§fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
Wrapper around the init method, necessary to type inference.
Source§impl LaunchArg for InputScalar
impl LaunchArg for InputScalar
Source§type RuntimeArg<'a, R: Runtime> = InputScalar
type RuntimeArg<'a, R: Runtime> = InputScalar
The runtime argument for the kernel.
Source§type CompilationArg = InputScalarCompilationArg
type CompilationArg = InputScalarCompilationArg
Compilation argument.
fn compilation_arg<R: Runtime>( arg: &Self::RuntimeArg<'_, R>, ) -> Self::CompilationArg
Source§fn expand(
arg: &Self::CompilationArg,
builder: &mut KernelBuilder,
) -> <Self as CubeType>::ExpandType
fn expand( arg: &Self::CompilationArg, builder: &mut KernelBuilder, ) -> <Self as CubeType>::ExpandType
Register an input variable during compilation that fill the KernelBuilder.
Source§fn expand_output(
arg: &Self::CompilationArg,
builder: &mut KernelBuilder,
) -> Self::ExpandType
fn expand_output( arg: &Self::CompilationArg, builder: &mut KernelBuilder, ) -> Self::ExpandType
Register an output variable during compilation that fill the KernelBuilder.
impl Copy for InputScalar
Auto Trait Implementations§
impl Freeze for InputScalar
impl RefUnwindSafe for InputScalar
impl Send for InputScalar
impl Sync for InputScalar
impl Unpin for InputScalar
impl UnwindSafe for InputScalar
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