pub struct InputSpecializationRequirements { /* private fields */ }Expand description
Per-input specialization requirements.
§Examples
use tenferro_runtime::InputSpecializationRequirements;
let requirements = InputSpecializationRequirements::builder().build()?;
assert!(!requirements.specializes_dtype());Implementations§
Source§impl InputSpecializationRequirements
impl InputSpecializationRequirements
Sourcepub fn builder() -> InputSpecializationRequirementsBuilder
pub fn builder() -> InputSpecializationRequirementsBuilder
Return a new requirements builder.
§Examples
use tenferro_runtime::InputSpecializationRequirements;
let mut builder = InputSpecializationRequirements::builder();
builder.dtype(true);
assert!(builder.build()?.specializes_dtype());Sourcepub fn specializes_dtype(&self) -> bool
pub fn specializes_dtype(&self) -> bool
Return whether dtype is specialized.
§Examples
use tenferro_runtime::InputSpecializationRequirements;
let mut builder = InputSpecializationRequirements::builder();
builder.dtype(true);
assert!(builder.build()?.specializes_dtype());Sourcepub fn specializes_rank(&self) -> bool
pub fn specializes_rank(&self) -> bool
Return whether rank is specialized.
§Examples
use tenferro_runtime::InputSpecializationRequirements;
let mut builder = InputSpecializationRequirements::builder();
builder.rank(true);
assert!(builder.build()?.specializes_rank());Sourcepub fn concrete_dimensions(&self) -> &[u32]
pub fn concrete_dimensions(&self) -> &[u32]
Return concrete-dimension axes.
§Examples
use tenferro_runtime::InputSpecializationRequirements;
let mut builder = InputSpecializationRequirements::builder();
builder.rank(true).concrete_dimensions(vec![1]);
assert_eq!(builder.build()?.concrete_dimensions(), &[1]);Sourcepub fn placement(&self) -> PlacementSpecialization
pub fn placement(&self) -> PlacementSpecialization
Return the placement specialization mode.
§Examples
use tenferro_runtime::{InputSpecializationRequirements, PlacementSpecialization};
let mut builder = InputSpecializationRequirements::builder();
builder.placement(PlacementSpecialization::Device);
assert_eq!(builder.build()?.placement(), PlacementSpecialization::Device);Sourcepub fn layout(&self) -> LayoutSpecialization
pub fn layout(&self) -> LayoutSpecialization
Return the layout specialization mode.
§Examples
use tenferro_runtime::{InputSpecializationRequirements, LayoutSpecialization};
let mut builder = InputSpecializationRequirements::builder();
builder.layout(LayoutSpecialization::Class);
assert_eq!(builder.build()?.layout(), LayoutSpecialization::Class);Sourcepub fn alignment_log2(&self) -> Option<u8>
pub fn alignment_log2(&self) -> Option<u8>
Return the required alignment class, if any.
§Examples
use tenferro_runtime::InputSpecializationRequirements;
let mut builder = InputSpecializationRequirements::builder();
builder.alignment_log2(Some(2));
assert_eq!(builder.build()?.alignment_log2(), Some(2));Trait Implementations§
Source§impl Clone for InputSpecializationRequirements
impl Clone for InputSpecializationRequirements
Source§fn clone(&self) -> InputSpecializationRequirements
fn clone(&self) -> InputSpecializationRequirements
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl PartialEq for InputSpecializationRequirements
impl PartialEq for InputSpecializationRequirements
Source§fn eq(&self, other: &InputSpecializationRequirements) -> bool
fn eq(&self, other: &InputSpecializationRequirements) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for InputSpecializationRequirements
impl StructuralPartialEq for InputSpecializationRequirements
Auto Trait Implementations§
impl Freeze for InputSpecializationRequirements
impl RefUnwindSafe for InputSpecializationRequirements
impl Send for InputSpecializationRequirements
impl Sync for InputSpecializationRequirements
impl Unpin for InputSpecializationRequirements
impl UnsafeUnpin for InputSpecializationRequirements
impl UnwindSafe for InputSpecializationRequirements
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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