NFFT Logo 3.1.2 API Reference

NFCT/NFST - Nonequispaced fast (co)sine transform


Data Structures

struct  nfct_plan
 Structure for a transform plan. More...
struct  nfst_plan
 Structure for a transform plan. More...

Functions

void nfct_init_1d (nfct_plan *ths_plan, int N0, int M_total)
 Creates a 1-dimensional transform plan.
void nfct_init_2d (nfct_plan *ths_plan, int N0, int N1, int M_total)
 Creates a 3-dimensional transform plan.
void nfct_init_3d (nfct_plan *ths_plan, int N0, int N1, int N2, int M_total)
 Creates a 3-dimensional transform plan.
void nfct_init (nfct_plan *ths_plan, int d, int *N, int M_total)
 Creates a d-dimensional transform plan.
void nfct_init_guru (nfct_plan *ths_plan, int d, int *N, int M_total, int *n, int m, unsigned nfct_flags, unsigned fftw_flags)
 Creates a d-dimensional transform plan.
void nfct_precompute_psi (nfct_plan *ths_plan)
 precomputes the values psi if the PRE_PSI is set the application program has to call this routine after setting the nodes this_plan->x
void nfct_trafo (nfct_plan *ths_plan)
 executes a NFCT (approximate,fast), computes for $j=0,...,M\_total-1$ $f_j^C(x_j) = \sum_{k \in I_0^{N,d}} \hat{f}_k^C * cos(2 \pi k x_j)$
void ndct_trafo (nfct_plan *ths_plan)
 executes a NDCT (exact,slow), computes for $j=0,...,M\_total-1$ $f_j^C(x_j) = \sum_{k \in I_0^{N,d}} \hat{f}_k^C * cos(2 \pi k x_j)$
void nfct_adjoint (nfct_plan *ths_plan)
 executes a transposed NFCT (approximate,fast), computes for $k \in I_0^{N,d}$ $h^C(k) = \sum_{j \in I_0^{(M\_total,1)}} f_j^C * cos(2 \pi k x_j)$
void ndct_adjoint (nfct_plan *ths_plan)
 executes a direct transposed NDCT (exact,slow), computes for $k \in I_0^{N,d}$ $h^C(k) = \sum_{j \in I_0^{(M\_total,1)}} f_j^C * cos(2 \pi k x_j)$
void nfct_finalize (nfct_plan *ths_plan)
 Destroys a plan.
double nfct_phi_hut (nfct_plan *ths_plan, int k, int d)
 do some adjustments (N,n) then compute PHI_HUT
double nfct_phi (nfct_plan *ths_plan, double x, int d)
 do some adjustments (N,n) then compute PHI
int nfct_fftw_2N (int n)
 returns 2(n-1), fftw related issue
int nfct_fftw_2N_rev (int n)
 returns 0.5n+1, fftw related issue
void nfst_init_1d (nfst_plan *ths_plan, int N0, int M_total)
 Creates a 1-dimensional transform plan.
void nfst_init_2d (nfst_plan *ths_plan, int N0, int N1, int M_total)
 Creates a 3-dimensional transform plan.
void nfst_init_3d (nfst_plan *ths_plan, int N0, int N1, int N2, int M_total)
 Creates a 3-dimensional transform plan.
void nfst_init (nfst_plan *ths_plan, int d, int *N, int M_total)
 Creates a d-dimensional transform plan.
void nfst_init_m (nfst_plan *ths_plan, int d, int *N, int M_total, int m)
 Creates a d-dimensional transform plan with pcific m.
void nfst_init_guru (nfst_plan *ths_plan, int d, int *N, int M_total, int *n, int m, unsigned nfst_flags, unsigned fftw_flags)
 Creates a d-dimensional transform plan.
void nfst_precompute_psi (nfst_plan *ths_plan)
 precomputes the values psi if the PRE_PSI is set the application program has to call this routine after setting the nodes this_plan->x
void nfst_trafo (nfst_plan *ths_plan)
 executes a NFST (approximate,fast), computes for $j=0,...,M\_total-1$ $f_j^S(x_j) = \sum_{k \in I_1^{N,d}} \hat{f}_k^S * sin(2 \pi k x_j)$
void ndst_trafo (nfst_plan *ths_plan)
 executes a NDST (exact,slow), computes for $j=0,...,M\_total-1$ $f_j^S(x_j) = \sum_{k \in I_1^{N,d}} \hat{f}_k^S * sin(2 \pi k x_j)$
void nfst_adjoint (nfst_plan *ths_plan)
 executes a transposed NFST (approximate,fast), computes for $k \in I_1^{N,d}$ $h^S(k) = \sum_{j \in I_0^{M\_total,1}} f_j^S * cos(2 \pi k x_j)$
void ndst_adjoint (nfst_plan *ths_plan)
 executes a direct transposed NDST (exact,slow), computes for $k \in I_1^{N,d}$ $h^S(k) = \sum_{j \in I_0^{M\_total,1}} f_j^S * cos(2 \pi k x_j)$
void nfst_finalize (nfst_plan *ths_plan)
 Destroys a plan.
void nfst_full_psi (nfst_plan *ths_plan, double eps)
 
  • ths_plan The plan for the transform

double nfst_phi_hut (nfst_plan *ths_plan, int k, int d)
 do some adjustments (N,n) then compute PHI_HUT
double nfst_phi (nfst_plan *ths_plan, double x, int d)
 do some adjustments (N,n) then compute PHI
int nfst_fftw_2N (int n)
 returns 2(n+1), fftw related issue
int nfst_fftw_2N_rev (int n)
 returns 0.5n-1, fftw related issue

Detailed Description

Direct and fast computation of the discrete nonequispaced (co)sine transform.

Function Documentation

void nfct_init_1d ( nfct_plan ths_plan,
int  N0,
int  M_total 
)

Creates a 1-dimensional transform plan.

Author:
Steffen Klatt

Definition at line 1016 of file nfct.c.

void nfct_init_2d ( nfct_plan ths_plan,
int  N0,
int  N1,
int  M_total 
)

Creates a 3-dimensional transform plan.

Author:
Steffen Klatt

Definition at line 1024 of file nfct.c.

void nfct_init_3d ( nfct_plan ths_plan,
int  N0,
int  N1,
int  N2,
int  M_total 
)

Creates a 3-dimensional transform plan.

Author:
Steffen Klatt

Definition at line 1033 of file nfct.c.

void nfct_init ( nfct_plan ths_plan,
int  d,
int *  N,
int  M_total 
)

Creates a d-dimensional transform plan.

Author:
Steffen Klatt

Definition at line 951 of file nfct.c.

Referenced by nfct_init_1d(), nfct_init_2d(), and nfct_init_3d().

void nfct_init_guru ( nfct_plan ths_plan,
int  d,
int *  N,
int  M_total,
int *  n,
int  m,
unsigned  nfct_flags,
unsigned  fftw_flags 
)

Creates a d-dimensional transform plan.

Author:
Steffen Klatt

Definition at line 988 of file nfct.c.

void nfct_precompute_psi ( nfct_plan ths_plan  ) 

precomputes the values psi if the PRE_PSI is set the application program has to call this routine after setting the nodes this_plan->x

Author:
Steffen Klatt

Definition at line 855 of file nfct.c.

void nfct_trafo ( nfct_plan ths  ) 

executes a NFCT (approximate,fast), computes for $j=0,...,M\_total-1$ $f_j^C(x_j) = \sum_{k \in I_0^{N,d}} \hat{f}_k^C * cos(2 \pi k x_j)$

Author:
Steffen Klatt

Definition at line 728 of file nfct.c.

void ndct_trafo ( nfct_plan ths_plan  ) 

executes a NDCT (exact,slow), computes for $j=0,...,M\_total-1$ $f_j^C(x_j) = \sum_{k \in I_0^{N,d}} \hat{f}_k^C * cos(2 \pi k x_j)$

Author:
Steffen Klatt

Definition at line 273 of file nfct.c.

void nfct_adjoint ( nfct_plan ths_plan  ) 

executes a transposed NFCT (approximate,fast), computes for $k \in I_0^{N,d}$ $h^C(k) = \sum_{j \in I_0^{(M\_total,1)}} f_j^C * cos(2 \pi k x_j)$

Author:
Steffen Klatt

Definition at line 782 of file nfct.c.

void ndct_adjoint ( nfct_plan ths_plan  ) 

executes a direct transposed NDCT (exact,slow), computes for $k \in I_0^{N,d}$ $h^C(k) = \sum_{j \in I_0^{(M\_total,1)}} f_j^C * cos(2 \pi k x_j)$

Author:
Steffen Klatt

Definition at line 274 of file nfct.c.

void nfct_finalize ( nfct_plan ths  ) 

Destroys a plan.

Author:
Steffen Klatt

Definition at line 1047 of file nfct.c.

double nfct_phi_hut ( nfct_plan ths_plan,
int  k,
int  d 
)

do some adjustments (N,n) then compute PHI_HUT

Author:
Steffen Klatt

Definition at line 80 of file nfct.c.

double nfct_phi ( nfct_plan ths_plan,
double  x,
int  d 
)

do some adjustments (N,n) then compute PHI

Author:
Steffen Klatt

Definition at line 89 of file nfct.c.

int nfct_fftw_2N ( int  n  ) 

returns 2(n-1), fftw related issue

Author:
Steffen Klatt

Definition at line 98 of file nfct.c.

Referenced by nfct_init().

int nfct_fftw_2N_rev ( int  n  ) 

returns 0.5n+1, fftw related issue

Author:
Steffen Klatt

Definition at line 103 of file nfct.c.

void nfst_init_1d ( nfst_plan ths_plan,
int  N0,
int  M_total 
)

Creates a 1-dimensional transform plan.

Author:
Steffen Klatt

Definition at line 999 of file nfst.c.

void nfst_init_2d ( nfst_plan ths_plan,
int  N0,
int  N1,
int  M_total 
)

Creates a 3-dimensional transform plan.

Author:
Steffen Klatt

Definition at line 1007 of file nfst.c.

void nfst_init_3d ( nfst_plan ths_plan,
int  N0,
int  N1,
int  N2,
int  M_total 
)

Creates a 3-dimensional transform plan.

Author:
Steffen Klatt

Definition at line 1016 of file nfst.c.

void nfst_init ( nfst_plan ths_plan,
int  d,
int *  N,
int  M_total 
)

Creates a d-dimensional transform plan.

Author:
Steffen Klatt

Definition at line 933 of file nfst.c.

Referenced by nfst_init_1d(), nfst_init_2d(), and nfst_init_3d().

void nfst_init_m ( nfst_plan ths_plan,
int  d,
int *  N,
int  M_total,
int  m 
)

Creates a d-dimensional transform plan with pcific m.

(just for convenience)

Author:
Steffen Klatt

Definition at line 960 of file nfst.c.

void nfst_init_guru ( nfst_plan ths_plan,
int  d,
int *  N,
int  M_total,
int *  n,
int  m,
unsigned  nfst_flags,
unsigned  fftw_flags 
)

Creates a d-dimensional transform plan.

Author:
Steffen Klatt

Definition at line 971 of file nfst.c.

Referenced by nfst_init_m().

void nfst_precompute_psi ( nfst_plan ths_plan  ) 

precomputes the values psi if the PRE_PSI is set the application program has to call this routine after setting the nodes this_plan->x

Author:
Steffen Klatt

Definition at line 760 of file nfst.c.

void nfst_trafo ( nfst_plan ths  ) 

executes a NFST (approximate,fast), computes for $j=0,...,M\_total-1$ $f_j^S(x_j) = \sum_{k \in I_1^{N,d}} \hat{f}_k^S * sin(2 \pi k x_j)$

Author:
Steffen Klatt

Definition at line 647 of file nfst.c.

void ndst_trafo ( nfst_plan ths_plan  ) 

executes a NDST (exact,slow), computes for $j=0,...,M\_total-1$ $f_j^S(x_j) = \sum_{k \in I_1^{N,d}} \hat{f}_k^S * sin(2 \pi k x_j)$

Author:
Steffen Klatt

Definition at line 271 of file nfst.c.

void nfst_adjoint ( nfst_plan ths_plan  ) 

executes a transposed NFST (approximate,fast), computes for $k \in I_1^{N,d}$ $h^S(k) = \sum_{j \in I_0^{M\_total,1}} f_j^S * cos(2 \pi k x_j)$

Author:
Steffen Klatt

Definition at line 692 of file nfst.c.

void ndst_adjoint ( nfst_plan ths_plan  ) 

executes a direct transposed NDST (exact,slow), computes for $k \in I_1^{N,d}$ $h^S(k) = \sum_{j \in I_0^{M\_total,1}} f_j^S * cos(2 \pi k x_j)$

Author:
Steffen Klatt

Definition at line 272 of file nfst.c.

void nfst_finalize ( nfst_plan ths_plan  ) 

Destroys a plan.

Author:
Steffen Klatt

Definition at line 1026 of file nfst.c.

double nfst_phi_hut ( nfst_plan ths_plan,
int  k,
int  d 
)

do some adjustments (N,n) then compute PHI_HUT

Author:
Steffen Klatt

Definition at line 80 of file nfst.c.

double nfst_phi ( nfst_plan ths_plan,
double  x,
int  d 
)

do some adjustments (N,n) then compute PHI

Author:
Steffen Klatt

Definition at line 89 of file nfst.c.

int nfst_fftw_2N ( int  n  ) 

returns 2(n+1), fftw related issue

Author:
Steffen Klatt

Definition at line 98 of file nfst.c.

Referenced by nfst_init_m().

int nfst_fftw_2N_rev ( int  n  ) 

returns 0.5n-1, fftw related issue

Author:
Steffen Klatt

Definition at line 103 of file nfst.c.


Generated on 16 Sep 2009 by Doxygen 1.5.3