NFCT - Nonequispaced fast cosine transform

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

## Data Structures

struct | nfct_plan
| data structure for an NFCT (nonequispaced fast cosine transform) plan with double precision More...

## Functions

void | nfct_init_1d (nfct_plan *ths_plan, int N0, int M_total)
void | nfct_init_2d (nfct_plan *ths_plan, int N0, int N1, int M_total)
void | nfct_init_3d (nfct_plan *ths_plan, int N0, int N1, int N2, int M_total)
void | nfct_init (nfct_plan *ths_plan, int d, int *N, int M_total)
void | nfct_precompute_psi (nfct_plan *ths)
void | nfct_trafo (nfct_plan *ths_plan)
void | nfct_adjoint (nfct_plan *ths_plan)
void | nfct_finalize (nfct_plan *ths_plan)

## Detailed Description

Direct and fast computation of the discrete nonequispaced cosine transform.

## Function Documentation

## nfct_init_1d()

void nfct_init_1d | ( | nfct_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

## nfct_init_2d()

void nfct_init_2d | ( | nfct_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

## nfct_init_3d()

void nfct_init_3d | ( | nfct_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

## nfct_init()

void nfct_init | ( | nfct_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

## nfct_precompute_psi()

void nfct_precompute_psi | ( | nfct_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

## nfct_trafo()

void nfct_trafo | ( | nfct_plan * | ths_plan | ) |

extern

executes a NFCT (approximate,fast), computes for

- ths_plan The plan for the transform

Author
  Steffen Klatt

## nfct_adjoint()

void nfct_adjoint | ( | nfct_plan * | ths_plan | ) |

extern

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

- ths_plan The plan for the transform

Author
  Steffen Klatt

## nfct_finalize()

void nfct_finalize | ( | nfct_plan * | ths_plan | ) |

extern

Destroys a plan.

- ths_plan The plan for the transform

Author
  Steffen Klatt