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