Skip to main content

ResidentBackend

Trait ResidentBackend 

Source
pub trait ResidentBackend: Send + Sync {
    // Required methods
    fn allocate_complex(&self, len: usize) -> Result<Box<dyn ComplexBuffer>>;
    fn allocate_real(&self, len: usize) -> Result<Box<dyn RealBuffer>>;
    fn upload_complex(
        &self,
        destination: &mut dyn ComplexBuffer,
        source: &[Complex64],
    ) -> Result<()>;
    fn download_complex(
        &self,
        source: &dyn ComplexBuffer,
        destination: &mut [Complex64],
    ) -> Result<()>;
    fn upload_real(
        &self,
        destination: &mut dyn RealBuffer,
        source: &[f64],
    ) -> Result<()>;
    fn download_real(
        &self,
        source: &dyn RealBuffer,
        destination: &mut [f64],
    ) -> Result<()>;
    fn fft2_resident(
        &self,
        values: &mut dyn ComplexBuffer,
        shape: (usize, usize),
        direction: FftDirection,
    ) -> Result<()>;
}
Expand description

Optional typed-buffer operations for backends that can keep reconstruction state resident in their preferred memory domain.

Required Methods§

Source

fn allocate_complex(&self, len: usize) -> Result<Box<dyn ComplexBuffer>>

Source

fn allocate_real(&self, len: usize) -> Result<Box<dyn RealBuffer>>

Source

fn upload_complex( &self, destination: &mut dyn ComplexBuffer, source: &[Complex64], ) -> Result<()>

Source

fn download_complex( &self, source: &dyn ComplexBuffer, destination: &mut [Complex64], ) -> Result<()>

Source

fn upload_real( &self, destination: &mut dyn RealBuffer, source: &[f64], ) -> Result<()>

Source

fn download_real( &self, source: &dyn RealBuffer, destination: &mut [f64], ) -> Result<()>

Source

fn fft2_resident( &self, values: &mut dyn ComplexBuffer, shape: (usize, usize), direction: FftDirection, ) -> Result<()>

Implementors§