[Gsll-devel] Irregular function names in FFT

Liam Healy lhealy at common-lisp.net
Sun Nov 1 19:35:49 UTC 2009


Sumant,

I think this is the way to go for the irregular function names that
are used for the FFT functions:

(defmfun forward-fourier-transform
    ((vector vector) &key (stride 1) (n (expt 2 (floor (log (size vector) 2)))))
  (double-float "gsl_fft_real_radix2_transform"
   single-float "gsl_fft_real_float_radix2_transform"
   complex-double-float "gsl_fft_complex_radix2_forward"
   complex-single-float "gsl_fft_complex_float_radix2_forward")
  (((c-pointer vector) :pointer) (stride sizet) (n sizet))
  :definition :generic
  :element-types :float-complex
  :inputs (vector)
  :outputs (vector)
  :return (vector)
  :documentation
  "Forward FFT for a real radix-2 vector")

Check the expansion to see if it is doing the right thing.   Note the example
eigenvalues-gensymm in eigensystems/generalized.lisp for another case
with irregular names in GSL.

Liam




More information about the gsll-devel mailing list