pub struct NTTShape {
pub log_x: usize,
pub log_y: usize,
pub log_z: usize,
}
Expand description
Shape of a batched NTT operation on a 3-dimensional tensor.
The tensor has three dimensions. Elements are indexed first along axis X (width), then axis Y (height), then axis Z (depth). In other words, the range of elements sharing Y and Z coordinates are contiguous in memory, elements sharing X and Z coordinates are strided by the tensor width, and elements sharing X and Y coordinates are strided by the width times height.
The tensor has power-of-two length in each dimension.
The NTT operation performs a parallel NTT along the Y axis, meaning each the operation transforms each column independently.
Fields§
§log_x: usize
Log length along the X axis (width). This is the interleaved batch size.
log_y: usize
Log length along the Y axis (height). This is the size of the NTT transform.
log_z: usize
Log length along the Z axis (depth). This is the consecutive batch size.
Trait Implementations§
impl Copy for NTTShape
Auto Trait Implementations§
impl Freeze for NTTShape
impl RefUnwindSafe for NTTShape
impl Send for NTTShape
impl Sync for NTTShape
impl Unpin for NTTShape
impl UnwindSafe for NTTShape
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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