pub struct CpuBackend { /* private fields */ }Expand description
rustfft-based CPU backend with plans cached for low- and high-resolution grids.
Implementations§
Trait Implementations§
Source§impl Backend for CpuBackend
impl Backend for CpuBackend
Source§fn capabilities(&self) -> BackendCapabilities
fn capabilities(&self) -> BackendCapabilities
Reports memory and resident-buffer capabilities.
Source§fn resident_backend(&self) -> Option<&dyn ResidentBackend>
fn resident_backend(&self) -> Option<&dyn ResidentBackend>
Returns optional resident-buffer operations when declared by
Self::capabilities.Source§impl Clone for CpuBackend
impl Clone for CpuBackend
Source§fn clone(&self) -> CpuBackend
fn clone(&self) -> CpuBackend
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 ResidentBackend for CpuBackend
impl ResidentBackend for CpuBackend
Source§fn allocate_complex(&self, len: usize) -> Result<Box<dyn ComplexBuffer>>
fn allocate_complex(&self, len: usize) -> Result<Box<dyn ComplexBuffer>>
Allocates
len uninitialized or zeroed complex elements according to backend policy.Source§fn allocate_real(&self, len: usize) -> Result<Box<dyn RealBuffer>>
fn allocate_real(&self, len: usize) -> Result<Box<dyn RealBuffer>>
Allocates
len uninitialized or zeroed real elements according to backend policy.Source§fn upload_complex(
&self,
destination: &mut dyn ComplexBuffer,
source: &[Complex64],
) -> Result<()>
fn upload_complex( &self, destination: &mut dyn ComplexBuffer, source: &[Complex64], ) -> Result<()>
Copies a host complex slice into an equal-length resident buffer.
Source§fn download_complex(
&self,
source: &dyn ComplexBuffer,
destination: &mut [Complex64],
) -> Result<()>
fn download_complex( &self, source: &dyn ComplexBuffer, destination: &mut [Complex64], ) -> Result<()>
Copies an equal-length resident complex buffer into a host slice.
Source§fn upload_real(
&self,
destination: &mut dyn RealBuffer,
source: &[f64],
) -> Result<()>
fn upload_real( &self, destination: &mut dyn RealBuffer, source: &[f64], ) -> Result<()>
Copies a host real slice into an equal-length resident buffer.
Source§fn download_real(
&self,
source: &dyn RealBuffer,
destination: &mut [f64],
) -> Result<()>
fn download_real( &self, source: &dyn RealBuffer, destination: &mut [f64], ) -> Result<()>
Copies an equal-length resident real buffer into a host slice.
Source§fn fft2_resident(
&self,
values: &mut dyn ComplexBuffer,
shape: (usize, usize),
direction: FftDirection,
) -> Result<()>
fn fft2_resident( &self, values: &mut dyn ComplexBuffer, shape: (usize, usize), direction: FftDirection, ) -> Result<()>
Applies an in-place two-dimensional FFT to
values shaped (height, width).Auto Trait Implementations§
impl Freeze for CpuBackend
impl !RefUnwindSafe for CpuBackend
impl Send for CpuBackend
impl Sync for CpuBackend
impl Unpin for CpuBackend
impl UnsafeUnpin for CpuBackend
impl !UnwindSafe for CpuBackend
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