OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
fftpack.cpp File Reference
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "fftpack.h"
#include "FFT/fftpack_inc.c"
Include dependency graph for fftpack.cpp:

Go to the source code of this file.

Macros

#define RALLOC(type, num)
#define DEALLOC(ptr)
#define SWAP(a, b, type)
#define WA(x, i)
#define CH(a, b, c)
#define CC(a, b, c)
#define PM(a, b, c, d)
#define PMC(a, b, c, d)
#define ADDC(a, b, c)
#define SCALEC(a, b)
#define CONJFLIPC(a)
#define MULPM(a, b, c, d, e, f)
#define CONCAT(a, b)
#define X(arg)
#define BACKWARD
#define X(arg)
#define CC(a, b, c)
#define CH(a, b, c)
#define CH(a, b, c)
#define CC(a, b, c)
#define C1(a, b, c)
#define C2(a, b)
#define CH2(a, b)
#define CH(a, b, c)
#define CC(a, b, c)

Typedefs

typedef struct { 
double r
double i
cmplx

Functions

void * util_malloc_ (size_t sz)
void util_free_ (void *ptr)
void cfftf (size_t n, double c[], double wsave[])
void cfftb (size_t n, double c[], double wsave[])
void cffti (size_t n, double wsave[])
void rfftf (size_t n, double r[], double wsave[])
void rfftb (size_t n, double r[], double wsave[])
void rffti (size_t n, double wsave[])
void sinti (size_t n, double wsave[])
void sint1 (size_t n, double war[], double was[], double xh[], double x[], double xxifac[])
void sint (size_t n, double x[], double wsave[])

Variables

const double pi = 3.14159265358979

Macro Definition Documentation

◆ ADDC

#define ADDC ( a,
b,
c )
Value:
{ a.r=b.r+c.r; a.i=b.i+c.i; }
constexpr double c
The velocity of light in m/s.
Definition Physics.h:45
std::complex< double > a

Definition at line 98 of file fftpack.cpp.

◆ BACKWARD

#define BACKWARD

Definition at line 107 of file fftpack.cpp.

◆ C1

#define C1 ( a,
b,
c )
Value:
cc[(a)+ido*((b)+l1*(c))]

Definition at line 275 of file fftpack.cpp.

Referenced by RootFinderForCSR::hasPositiveRealRoots().

◆ C2

#define C2 ( a,
b )
Value:
cc[(a)+idl1*(b)]

Definition at line 276 of file fftpack.cpp.

Referenced by RootFinderForCSR::hasPositiveRealRoots().

◆ CC [1/4]

#define CC ( a,
b,
c )
Value:
cc[(a)+ido*((b)+cdim*(c))]

Definition at line 95 of file fftpack.cpp.

◆ CC [2/4]

#define CC ( a,
b,
c )
Value:
cc[(a)+ido*((b)+cdim*(c))]

Definition at line 95 of file fftpack.cpp.

◆ CC [3/4]

#define CC ( a,
b,
c )
Value:
cc[(a)+ido*((b)+l1*(c))]

Definition at line 95 of file fftpack.cpp.

◆ CC [4/4]

#define CC ( a,
b,
c )
Value:
cc[(a)+ido*((b)+cdim*(c))]

Definition at line 95 of file fftpack.cpp.

◆ CH [1/4]

#define CH ( a,
b,
c )
Value:
ch[(a)+ido*((b)+l1*(c))]

Definition at line 94 of file fftpack.cpp.

◆ CH [2/4]

#define CH ( a,
b,
c )
Value:
ch[(a)+ido*((b)+l1*(c))]

Definition at line 94 of file fftpack.cpp.

◆ CH [3/4]

#define CH ( a,
b,
c )
Value:
ch[(a)+ido*((b)+cdim*(c))]

Definition at line 94 of file fftpack.cpp.

◆ CH [4/4]

#define CH ( a,
b,
c )
Value:
ch[(a)+ido*((b)+l1*(c))]

Definition at line 94 of file fftpack.cpp.

◆ CH2

#define CH2 ( a,
b )
Value:
ch[(a)+idl1*(b)]

Definition at line 277 of file fftpack.cpp.

◆ CONCAT

#define CONCAT ( a,
b )
Value:
a ## b

Definition at line 104 of file fftpack.cpp.

◆ CONJFLIPC

#define CONJFLIPC ( a)
Value:
{ double tmp_=a.r; a.r=-a.i; a.i=tmp_; }

Definition at line 100 of file fftpack.cpp.

◆ DEALLOC

#define DEALLOC ( ptr)
Value:
{ if ((ptr) != 0) free (ptr); (ptr) = NULL; }

Definition at line 74 of file fftpack.cpp.

◆ MULPM

#define MULPM ( a,
b,
c,
d,
e,
f )
Value:
{ a=c*e+d*f; b=c*f-d*e; }

Definition at line 102 of file fftpack.cpp.

◆ PM

#define PM ( a,
b,
c,
d )
Value:
{ a=c+d; b=c-d; }

Definition at line 96 of file fftpack.cpp.

Referenced by Distribution::generateBinomial().

◆ PMC

#define PMC ( a,
b,
c,
d )
Value:
{ a.r=c.r+d.r; a.i=c.i+d.i; b.r=c.r-d.r; b.i=c.i-d.i; }

Definition at line 97 of file fftpack.cpp.

◆ RALLOC

#define RALLOC ( type,
num )
Value:
((type *)util_malloc_((num)*sizeof(type)))
void * util_malloc_(size_t sz)
Definition fftpack.cpp:55

Definition at line 71 of file fftpack.cpp.

◆ SCALEC

#define SCALEC ( a,
b )
Value:
{ a.r*=b; a.i*=b; }

Definition at line 99 of file fftpack.cpp.

◆ SWAP

#define SWAP ( a,
b,
type )
Value:
do { type tmp_=(a); (a)=(b); (b)=tmp_; } while(0)

Definition at line 83 of file fftpack.cpp.

◆ WA

#define WA ( x,
i )
Value:
wa[(i)+(x)*ido]

Definition at line 93 of file fftpack.cpp.

◆ X [1/2]

#define X ( arg)
Value:
CONCAT(passf,arg)
#define CONCAT(a, b)
Definition fftpack.cpp:104
arg(a))

Definition at line 106 of file fftpack.cpp.

◆ X [2/2]

Typedef Documentation

◆ [struct]

typedef struct { ... } cmplx

Function Documentation

◆ cfftb()

void cfftb ( size_t N,
double complex_data[],
double wrk[] )

backward complex transform

Definition at line 705 of file fftpack.cpp.

References c.

◆ cfftf()

void cfftf ( size_t N,
double complex_data[],
double wrk[] )

forward complex transform

Definition at line 698 of file fftpack.cpp.

References c.

◆ cffti()

void cffti ( size_t N,
double wrk[] )

initializer for complex transforms

Definition at line 776 of file fftpack.cpp.

◆ rfftb()

void rfftb ( size_t N,
double data[],
double wrk[] )

backward real transform

Definition at line 856 of file fftpack.cpp.

◆ rfftf()

void rfftf ( size_t N,
double data[],
double wrk[] )

forward real transform

Definition at line 853 of file fftpack.cpp.

◆ rffti()

void rffti ( size_t N,
double wrk[] )

initializer for real transforms

Definition at line 887 of file fftpack.cpp.

Referenced by sinti().

◆ sint()

void sint ( size_t n,
double x[],
double wsave[] )

Definition at line 960 of file fftpack.cpp.

References sint1().

Here is the call graph for this function:

◆ sint1()

void sint1 ( size_t n,
double war[],
double was[],
double xh[],
double x[],
double xxifac[] )

Definition at line 914 of file fftpack.cpp.

Referenced by sint().

◆ sinti()

void sinti ( size_t n,
double wsave[] )

Definition at line 895 of file fftpack.cpp.

References pi, rffti(), and sin().

Here is the call graph for this function:

◆ util_free_()

void util_free_ ( void * ptr)

Definition at line 77 of file fftpack.cpp.

◆ util_malloc_()

void * util_malloc_ ( size_t sz)

Definition at line 55 of file fftpack.cpp.

Variable Documentation

◆ pi