Struct fftw::plan::Plan [−][src]
pub struct Plan<A, B, Plan: PlanSpec> { /* fields omitted */ }
Typed wrapper of fftw_plan
The plan in FFTW manages the contains all information necessary to compute the transform,
including the pointers to the input and output arrays.
However, this wrapper does not modify this pointer once after the plan is created
since it should be unsafe in terms of Rust.
Instead, this plan executes a transform for different arrays with new-array execute functions
with related associated functions, e.g. C2CPlan::c2c
.
Trait Implementations
impl<A, B, P: PlanSpec> Drop for Plan<A, B, P>
[src]
impl<A, B, P: PlanSpec> Drop for Plan<A, B, P>
impl C2CPlan for Plan<c64, c64, Plan64>
[src]
impl C2CPlan for Plan<c64, c64, Plan64>
type Complex = c64
fn new(
shape: &[usize],
in_: &mut [Self::Complex],
out: &mut [Self::Complex],
sign: Sign,
flag: Flag
) -> Result<Self>
[src]
fn new(
shape: &[usize],
in_: &mut [Self::Complex],
out: &mut [Self::Complex],
sign: Sign,
flag: Flag
) -> Result<Self>
Create new plan
fn c2c(
&mut self,
in_: &mut [Self::Complex],
out: &mut [Self::Complex]
) -> Result<()>
[src]
fn c2c(
&mut self,
in_: &mut [Self::Complex],
out: &mut [Self::Complex]
) -> Result<()>
Execute complex-to-complex transform
fn aligned(shape: &[usize], sign: Sign, flag: Flag) -> Result<Self>
[src]
fn aligned(shape: &[usize], sign: Sign, flag: Flag) -> Result<Self>
Create new plan with aligned vector
impl C2CPlan for Plan<c32, c32, Plan32>
[src]
impl C2CPlan for Plan<c32, c32, Plan32>
type Complex = c32
fn new(
shape: &[usize],
in_: &mut [Self::Complex],
out: &mut [Self::Complex],
sign: Sign,
flag: Flag
) -> Result<Self>
[src]
fn new(
shape: &[usize],
in_: &mut [Self::Complex],
out: &mut [Self::Complex],
sign: Sign,
flag: Flag
) -> Result<Self>
Create new plan
fn c2c(
&mut self,
in_: &mut [Self::Complex],
out: &mut [Self::Complex]
) -> Result<()>
[src]
fn c2c(
&mut self,
in_: &mut [Self::Complex],
out: &mut [Self::Complex]
) -> Result<()>
Execute complex-to-complex transform
fn aligned(shape: &[usize], sign: Sign, flag: Flag) -> Result<Self>
[src]
fn aligned(shape: &[usize], sign: Sign, flag: Flag) -> Result<Self>
Create new plan with aligned vector
impl R2CPlan for Plan<f64, c64, Plan64>
[src]
impl R2CPlan for Plan<f64, c64, Plan64>
type Real = f64
type Complex = c64
fn new(
shape: &[usize],
in_: &mut [Self::Real],
out: &mut [Self::Complex],
flag: Flag
) -> Result<Self>
[src]
fn new(
shape: &[usize],
in_: &mut [Self::Real],
out: &mut [Self::Complex],
flag: Flag
) -> Result<Self>
Create new plan
fn r2c(
&mut self,
in_: &mut [Self::Real],
out: &mut [Self::Complex]
) -> Result<()>
[src]
fn r2c(
&mut self,
in_: &mut [Self::Real],
out: &mut [Self::Complex]
) -> Result<()>
Execute real-to-complex transform
fn aligned(shape: &[usize], flag: Flag) -> Result<Self>
[src]
fn aligned(shape: &[usize], flag: Flag) -> Result<Self>
Create new plan with aligned vector
impl R2CPlan for Plan<f32, c32, Plan32>
[src]
impl R2CPlan for Plan<f32, c32, Plan32>
type Real = f32
type Complex = c32
fn new(
shape: &[usize],
in_: &mut [Self::Real],
out: &mut [Self::Complex],
flag: Flag
) -> Result<Self>
[src]
fn new(
shape: &[usize],
in_: &mut [Self::Real],
out: &mut [Self::Complex],
flag: Flag
) -> Result<Self>
Create new plan
fn r2c(
&mut self,
in_: &mut [Self::Real],
out: &mut [Self::Complex]
) -> Result<()>
[src]
fn r2c(
&mut self,
in_: &mut [Self::Real],
out: &mut [Self::Complex]
) -> Result<()>
Execute real-to-complex transform
fn aligned(shape: &[usize], flag: Flag) -> Result<Self>
[src]
fn aligned(shape: &[usize], flag: Flag) -> Result<Self>
Create new plan with aligned vector
impl C2RPlan for Plan<c64, f64, Plan64>
[src]
impl C2RPlan for Plan<c64, f64, Plan64>
type Real = f64
type Complex = c64
fn new(
shape: &[usize],
in_: &mut [Self::Complex],
out: &mut [Self::Real],
flag: Flag
) -> Result<Self>
[src]
fn new(
shape: &[usize],
in_: &mut [Self::Complex],
out: &mut [Self::Real],
flag: Flag
) -> Result<Self>
Create new plan
fn c2r(
&mut self,
in_: &mut [Self::Complex],
out: &mut [Self::Real]
) -> Result<()>
[src]
fn c2r(
&mut self,
in_: &mut [Self::Complex],
out: &mut [Self::Real]
) -> Result<()>
Execute complex-to-real transform
fn aligned(shape: &[usize], flag: Flag) -> Result<Self>
[src]
fn aligned(shape: &[usize], flag: Flag) -> Result<Self>
Create new plan with aligned vector
impl C2RPlan for Plan<c32, f32, Plan32>
[src]
impl C2RPlan for Plan<c32, f32, Plan32>
type Real = f32
type Complex = c32
fn new(
shape: &[usize],
in_: &mut [Self::Complex],
out: &mut [Self::Real],
flag: Flag
) -> Result<Self>
[src]
fn new(
shape: &[usize],
in_: &mut [Self::Complex],
out: &mut [Self::Real],
flag: Flag
) -> Result<Self>
Create new plan
fn c2r(
&mut self,
in_: &mut [Self::Complex],
out: &mut [Self::Real]
) -> Result<()>
[src]
fn c2r(
&mut self,
in_: &mut [Self::Complex],
out: &mut [Self::Real]
) -> Result<()>
Execute complex-to-real transform
fn aligned(shape: &[usize], flag: Flag) -> Result<Self>
[src]
fn aligned(shape: &[usize], flag: Flag) -> Result<Self>
Create new plan with aligned vector