pub struct FftPlanSpec { /* private fields */ }Expand description
Validated, backend-neutral description of one FFT request.
Backends receive this value only after the public FFT surface has validated dtype, rank, axis, requested length, and inverse-spectrum shape. The layout requirement is explicit so a backend can reject unsupported storage without silently materializing or transferring the input.
§Examples
use tenferro_fft::{FftOperation, FftPlanSpec};
fn inspect(spec: &FftPlanSpec) {
let operation: FftOperation = spec.operation();
assert_eq!(operation, spec.operation());
assert!(spec.requires_compact_column_major());
}Implementations§
Source§impl FftPlanSpec
impl FftPlanSpec
Sourcepub const fn operation(&self) -> FftOperation
pub const fn operation(&self) -> FftOperation
Return the transform operation.
Sourcepub const fn normalized_axis(&self) -> usize
pub const fn normalized_axis(&self) -> usize
Return the non-negative, validated axis.
Sourcepub const fn requested_len(&self) -> Option<usize>
pub const fn requested_len(&self) -> Option<usize>
Return the caller-requested transform length, if one was supplied.
Sourcepub const fn input_dtype(&self) -> DType
pub const fn input_dtype(&self) -> DType
Return the validated input dtype.
Sourcepub fn input_shape(&self) -> &[usize]
pub fn input_shape(&self) -> &[usize]
Return the validated input shape.
Sourcepub const fn requires_compact_column_major(&self) -> bool
pub const fn requires_compact_column_major(&self) -> bool
Return whether execution requires compact column-major storage.
Trait Implementations§
Source§impl Clone for FftPlanSpec
impl Clone for FftPlanSpec
Source§fn clone(&self) -> FftPlanSpec
fn clone(&self) -> FftPlanSpec
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 Debug for FftPlanSpec
impl Debug for FftPlanSpec
Source§impl PartialEq for FftPlanSpec
impl PartialEq for FftPlanSpec
Source§fn eq(&self, other: &FftPlanSpec) -> bool
fn eq(&self, other: &FftPlanSpec) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for FftPlanSpec
impl StructuralPartialEq for FftPlanSpec
Auto Trait Implementations§
impl Freeze for FftPlanSpec
impl RefUnwindSafe for FftPlanSpec
impl Send for FftPlanSpec
impl Sync for FftPlanSpec
impl Unpin for FftPlanSpec
impl UnsafeUnpin for FftPlanSpec
impl UnwindSafe for FftPlanSpec
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