callfftw.h File Reference

#include "machine.h"
#include "fftw3.h"

Include dependency graph for callfftw.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

BOOL IsLoadedFFTW (void)
BOOL LoadFFTWLibrary (char *libraryname)
BOOL DisposeFFTWLibrary (void)
void call_fftw_execute_split_dft (const fftw_plan p, double *ri, double *ii, double *ro, double *io)
fftw_plan call_fftw_plan_guru_split_dft (int rank, const fftw_iodim *dims, int howmany_rank, const fftw_iodim *howmany_dims, double *ri, double *ii, double *ro, double *io, unsigned flags)
void call_fftw_destroy_plan (fftw_plan p)


Function Documentation

void call_fftw_destroy_plan ( fftw_plan  p  ) 

Definition at line 89 of file callfftw_Linux.c.

References MY_FFTW_DESTROY_PLAN.

00090 {
00091         if (MY_FFTW_DESTROY_PLAN)
00092         {
00093                 (MY_FFTW_DESTROY_PLAN)(p);
00094         }
00095 }

void call_fftw_execute_split_dft ( const fftw_plan  p,
double *  ri,
double *  ii,
double *  ro,
double *  io 
)

Definition at line 72 of file callfftw_Linux.c.

References MY_FFTW_EXECUTE_SPLIT_DFT.

Referenced by __PARAMS().

00073 {
00074         if (MY_FFTW_EXECUTE_SPLIT_DFT)
00075         {
00076                 (MY_FFTW_EXECUTE_SPLIT_DFT)(p,ri,ii,ro,io);
00077         }
00078 }

Here is the caller graph for this function:

fftw_plan call_fftw_plan_guru_split_dft ( int  rank,
const fftw_iodim *  dims,
int  howmany_rank,
const fftw_iodim *  howmany_dims,
double *  ri,
double *  ii,
double *  ro,
double *  io,
unsigned  flags 
)

Definition at line 80 of file callfftw_Linux.c.

References MY_FFTW_PLAN_GURU_SPLIT_DFT, and NULL.

00081 {
00082         if (MY_FFTW_PLAN_GURU_SPLIT_DFT)
00083         {
00084                 return (fftw_plan)(MY_FFTW_PLAN_GURU_SPLIT_DFT)(rank,dims,howmany_rank,howmany_dims,ri,ii,ro,io,flags);
00085         }
00086         else return NULL;
00087 }

BOOL DisposeFFTWLibrary ( void   ) 

Definition at line 50 of file callfftw_Linux.c.

References FALSE, hinstLib, MY_FFTW_DESTROY_PLAN, MY_FFTW_EXECUTE_SPLIT_DFT, MY_FFTW_PLAN_GURU_SPLIT_DFT, NULL, and TRUE.

Referenced by __PARAMS().

00051 {
00052         BOOL bOK=FALSE;
00053 
00054         if (hinstLib)
00055         {
00056                         if (!dlclose(hinstLib)) hinstLib=NULL;
00057         
00058         }
00059         
00060         if (MY_FFTW_EXECUTE_SPLIT_DFT) MY_FFTW_EXECUTE_SPLIT_DFT=NULL;
00061         if (MY_FFTW_PLAN_GURU_SPLIT_DFT) MY_FFTW_PLAN_GURU_SPLIT_DFT=NULL;
00062         if (MY_FFTW_DESTROY_PLAN) MY_FFTW_DESTROY_PLAN=NULL;
00063 
00064         if ( !MY_FFTW_EXECUTE_SPLIT_DFT && !MY_FFTW_PLAN_GURU_SPLIT_DFT && !MY_FFTW_DESTROY_PLAN )
00065         {
00066                 bOK=TRUE;
00067         }
00068 
00069         return bOK;
00070 }

Here is the caller graph for this function:

BOOL IsLoadedFFTW ( void   ) 

Definition at line 18 of file callfftw_Linux.c.

References FALSE, MY_FFTW_DESTROY_PLAN, MY_FFTW_EXECUTE_SPLIT_DFT, MY_FFTW_PLAN_GURU_SPLIT_DFT, and TRUE.

Referenced by __PARAMS(), and gw_fftw().

00019 {
00020         BOOL bOK=FALSE;
00021         if ( (MY_FFTW_EXECUTE_SPLIT_DFT) && (MY_FFTW_PLAN_GURU_SPLIT_DFT) && (MY_FFTW_DESTROY_PLAN) ) bOK=TRUE;
00022         return bOK;
00023 }

Here is the caller graph for this function:

BOOL LoadFFTWLibrary ( char *  libraryname  ) 

Definition at line 25 of file callfftw_Linux.c.

References FALSE, hinstLib, MY_FFTW_DESTROY_PLAN, MY_FFTW_EXECUTE_SPLIT_DFT, MY_FFTW_PLAN_GURU_SPLIT_DFT, NULL, and TRUE.

Referenced by __PARAMS().

00026 {
00027         BOOL bOK=FALSE;
00028 
00029         if (hinstLib == NULL)
00030         {
00031                 hinstLib = dlopen(libraryname, RTLD_NOW | RTLD_GLOBAL); 
00032                 
00033                 MY_FFTW_EXECUTE_SPLIT_DFT=NULL;
00034                 MY_FFTW_PLAN_GURU_SPLIT_DFT=NULL;
00035                 MY_FFTW_DESTROY_PLAN=NULL;
00036 
00037                 MY_FFTW_EXECUTE_SPLIT_DFT = (PROC_FFTW_EXECUTE_SPLIT_DFT) dlsym(hinstLib,"fftw_execute_split_dft");
00038                 MY_FFTW_PLAN_GURU_SPLIT_DFT = (PROC_FFTW_PLAN_GURU_SPLIT_DFT) dlsym(hinstLib,"fftw_plan_guru_split_dft");
00039                 MY_FFTW_DESTROY_PLAN = (PROC_FFTW_DESTROY_PLAN) dlsym(hinstLib,"fftw_destroy_plan");
00040         }
00041 
00042         if ( MY_FFTW_EXECUTE_SPLIT_DFT && MY_FFTW_PLAN_GURU_SPLIT_DFT && MY_FFTW_DESTROY_PLAN )
00043         {
00044                 bOK=TRUE;
00045         }
00046 
00047         return bOK;
00048 }

Here is the caller graph for this function:


Generated on Sun Mar 4 15:18:28 2007 for Scilab [trunk] by  doxygen 1.5.1