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.