19 #include <grass/config.h> 
   21 #if defined(HAVE_FFTW_H) || defined(HAVE_DFFTW_H) || defined(HAVE_FFTW3_H) 
   24 #include <grass/gmath.h> 
   25 #include <grass/gis.h> 
   26 #include <grass/glocale.h> 
   46 int del2g(
double *img[2], 
int size, 
double w)
 
   51     fft(FORWARD, img, size * size, size, size);
 
   53     g[0] = (
double *)G_malloc(size * size * 
sizeof(
double));
 
   54     g[1] = (
double *)G_malloc(size * size * 
sizeof(
double));
 
   59     G_message(_(
"    taking FFT of del**2 g..."));
 
   60     fft(FORWARD, g, size * size, size, size);
 
   63     G_message(_(
"    multiplying transforms..."));
 
   67     fft(INVERSE, img, size * size, size, size);
 
int getg(double w, double *g[2], int size)
int G_math_complex_mult(double *v1[2], int size1, double *v2[2], int size2, double *v3[2], int size3)
Multiply two complex vectors, point by point. 
void G_message(const char *msg,...)
Print a message to stderr.