NFST - Nonequispaced fast sine transform

Direct and fast computation of the discrete nonequispaced sine transform. More...

## Data Structures

struct | nfst_plan
| data structure for an NFST (nonequispaced fast sine transform) plan with double precision More...

## Functions

void | nfst_init_1d (nfst_plan *ths_plan, int N0, int M_total)
void | nfst_init_2d (nfst_plan *ths_plan, int N0, int N1, int M_total)
void | nfst_init_3d (nfst_plan *ths_plan, int N0, int N1, int N2, int M_total)
void | nfst_init (nfst_plan *ths_plan, int d, int *N, int M_total)
void | nfst_init_guru (nfst_plan *ths_plan, int d, int *N, int M_total, int *n, int m, unsigned flags, unsigned fftw_flags)
void | nfst_precompute_psi (nfst_plan *ths)
void | nfst_trafo (nfst_plan *ths_plan)
void | nfst_adjoint (nfst_plan *ths_plan)
void | nfst_finalize (nfst_plan *ths_plan)

## Detailed Description

Direct and fast computation of the discrete nonequispaced sine transform.

## Function Documentation

## nfst_init_1d()

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

extern

Creates a 1-dimensional transform plan.

- ths_plan The plan for the transform
- N0 The bandwidth
- M_total The number of nodes

Author
  Steffen Klatt

## nfst_init_2d()

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

extern

Creates a 3-dimensional transform plan.

- ths_plan The plan for the transform
- N0 The bandwidth of dimension 1
- N1 The bandwidth of dimension 2
- M_total The number of nodes

Author
  Steffen Klatt

## nfst_init_3d()

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

extern

Creates a 3-dimensional transform plan.

- ths_plan The plan for the transform
- N0 The bandwidth of dimension 1
- N1 The bandwidth of dimension 2
- N2 The bandwidth of dimension 3
- M_total The number of nodes

Author
  Steffen Klatt

## nfst_init()

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

extern

Creates a d-dimensional transform plan.

- ths_plan The plan for the transform
- d the dimension
- N The bandwidths
- M_total The number of nodes

Author
  Steffen Klatt

## nfst_init_guru()

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

extern

Creates a d-dimensional transform plan.

- ths_plan The plan for the transform
- d the dimension
- N The bandwidths
- M_total The number of nodes
- n The oversampled bandwidths
- m The cut-off parameter
- flags The flags known to nfst
- fftw_flags The flags known to fftw

Author
  Steffen Klatt

## nfst_precompute_psi()

void nfst_precompute_psi | ( | nfst_plan * | ths_plan | ) |

extern

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

- ths_plan The plan for the transform

Author
  Steffen Klatt

## nfst_trafo()

void nfst_trafo | ( | nfst_plan * | ths_plan | ) |

extern

executes a NFST (approximate,fast), computes for

- ths_plan The plan for the transform

Author
  Steffen Klatt

## nfst_adjoint()

void nfst_adjoint | ( | nfst_plan * | ths_plan | ) |

extern

executes a transposed NFST (approximate,fast), computes for

- ths_plan The plan for the transform

Author
  Steffen Klatt

## nfst_finalize()

void nfst_finalize | ( | nfst_plan * | ths_plan | ) |

extern

Destroys a plan.

- ths_plan The plan for the transform

Author
  Steffen Klatt