$OpenBSD: patch-lib-src_libnyquist_nyquist_ffts_src_fftlib_c,v 1.1 2017/05/04 12:58:04 espie Exp $
fix for C99 inline semantics

Index: lib-src/libnyquist/nyquist/ffts/src/fftlib.c
--- lib-src/libnyquist/nyquist/ffts/src/fftlib.c.orig
+++ lib-src/libnyquist/nyquist/ffts/src/fftlib.c
@@ -61,7 +61,7 @@ for (i1 = 0; i1 < Nroot_1; i1++){
 parts of ffts1
 *************************************************/
 
-inline void bitrevR2(float *ioptr, long M, short *BRLow);
+void bitrevR2(float *ioptr, long M, short *BRLow);
 inline void bitrevR2(float *ioptr, long M, short *BRLow){
 /*** bit reverse and first radix 2 stage of forward or inverse fft ***/
 float	f0r;
@@ -198,7 +198,7 @@ for (; ioptr < iolimit; ioptr += POW2(M/2+1)){
 };
 }
 
-inline void fft2pt(float *ioptr);
+void fft2pt(float *ioptr);
 inline void fft2pt(float *ioptr){
 /***   RADIX 2 fft	***/
 float f0r, f0i, f1r, f1i;
@@ -229,7 +229,7 @@ ioptr[3] = f1i;
 }
 
 
-inline void fft4pt(float *ioptr);
+void fft4pt(float *ioptr);
 inline void fft4pt(float *ioptr){
 /***   RADIX 4 fft	***/
 float f0r, f0i, f1r, f1i, f2r, f2i, f3r, f3i;
@@ -284,7 +284,7 @@ ioptr[6] = f3r;
 ioptr[7] = f3i;
 }
 
-inline void fft8pt(float *ioptr);
+void fft8pt(float *ioptr);
 inline void fft8pt(float *ioptr){
 /***   RADIX 8 fft	***/
 float w0r = 1.0/MYROOT2; /* cos(pi/4)	*/
@@ -403,7 +403,7 @@ ioptr[14] = f6r;
 ioptr[15] = f6i;
 }
 
-inline void bfR2(float *ioptr, long M, long NDiffU);
+void bfR2(float *ioptr, long M, long NDiffU);
 inline void bfR2(float *ioptr, long M, long NDiffU){
 /*** 2nd radix 2 stage ***/
 unsigned long	pos;
@@ -512,7 +512,7 @@ for (SameUCnt = NSameU; SameUCnt > 0 ; SameUCnt--){
 }
 }
 
-inline void bfR4(float *ioptr, long M, long NDiffU);
+void bfR4(float *ioptr, long M, long NDiffU);
 inline void bfR4(float *ioptr, long M, long NDiffU){
 /*** 1 radix 4 stage ***/
 unsigned long	pos;
@@ -721,7 +721,7 @@ f4i = f4i * Two - f6i;
 
 }
 
-inline void bfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt);
+void bfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt);
 inline void bfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt){
 /***   RADIX 8 Stages	***/
 unsigned long	pos;
@@ -1125,7 +1125,7 @@ default:
 parts of iffts1
 *************************************************/
 
-inline void scbitrevR2(float *ioptr, long M, short *BRLow, float scale);
+void scbitrevR2(float *ioptr, long M, short *BRLow, float scale);
 inline void scbitrevR2(float *ioptr, long M, short *BRLow, float scale){
 /*** scaled bit reverse and first radix 2 stage forward or inverse fft ***/
 float	f0r;
@@ -1262,7 +1262,7 @@ for (; ioptr < iolimit; ioptr += POW2(M/2+1)){
 };
 }
 
-inline void ifft2pt(float *ioptr, float scale);
+void ifft2pt(float *ioptr, float scale);
 inline void ifft2pt(float *ioptr, float scale){
 /***   RADIX 2 ifft	***/
 float f0r, f0i, f1r, f1i;
@@ -1292,7 +1292,7 @@ ioptr[2] = scale*f1r;
 ioptr[3] = scale*f1i;
 }
 
-inline void ifft4pt(float *ioptr, float scale);
+void ifft4pt(float *ioptr, float scale);
 inline void ifft4pt(float *ioptr, float scale){
 /***   RADIX 4 ifft	***/
 float f0r, f0i, f1r, f1i, f2r, f2i, f3r, f3i;
@@ -1347,7 +1347,7 @@ ioptr[6] = scale*f3r;
 ioptr[7] = scale*f3i;
 }
 
-inline void ifft8pt(float *ioptr, float scale);
+void ifft8pt(float *ioptr, float scale);
 inline void ifft8pt(float *ioptr, float scale){
 /***   RADIX 8 ifft	***/
 float w0r = 1.0/MYROOT2; /* cos(pi/4)	*/
@@ -1467,7 +1467,7 @@ ioptr[14] = scale*f6r;
 ioptr[15] = scale*f6i;
 }
 
-inline void ibfR2(float *ioptr, long M, long NDiffU);
+void ibfR2(float *ioptr, long M, long NDiffU);
 inline void ibfR2(float *ioptr, long M, long NDiffU){
 /*** 2nd radix 2 stage ***/
 unsigned long	pos;
@@ -1576,7 +1576,7 @@ for (SameUCnt = NSameU; SameUCnt > 0 ; SameUCnt--){
 }
 }
 
-inline void ibfR4(float *ioptr, long M, long NDiffU);
+void ibfR4(float *ioptr, long M, long NDiffU);
 inline void ibfR4(float *ioptr, long M, long NDiffU){
 /*** 1 radix 4 stage ***/
 unsigned long	pos;
@@ -1785,7 +1785,7 @@ f4i = f4i * Two - f6i;
 
 }
 
-inline void ibfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt);
+void ibfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt);
 inline void ibfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt){
 /***   RADIX 8 Stages	***/
 unsigned long	pos;
@@ -2193,7 +2193,7 @@ default:
 parts of rffts1
 *************************************************/
 
-inline void rfft1pt(float *ioptr);
+void rfft1pt(float *ioptr);
 inline void rfft1pt(float *ioptr){
 /***   RADIX 2 rfft	***/
 float f0r, f0i;
@@ -2212,7 +2212,7 @@ ioptr[0] = t0r;
 ioptr[1] = t0i;
 }
 
-inline void rfft2pt(float *ioptr);
+void rfft2pt(float *ioptr);
 inline void rfft2pt(float *ioptr){
 /***   RADIX 4 rfft	***/
 float f0r, f0i, f1r, f1i;
@@ -2245,7 +2245,7 @@ ioptr[2] = f1r;
 ioptr[3] = f1i;
 }
 
-inline void rfft4pt(float *ioptr);
+void rfft4pt(float *ioptr);
 inline void rfft4pt(float *ioptr){
 /***   RADIX 8 rfft	***/
 float f0r, f0i, f1r, f1i, f2r, f2i, f3r, f3i;
@@ -2318,7 +2318,7 @@ ioptr[6] = scale*f3r;
 ioptr[7] = scale*f3i;
 }
 
-inline void rfft8pt(float *ioptr);
+void rfft8pt(float *ioptr);
 inline void rfft8pt(float *ioptr){
 /***   RADIX 16 rfft	***/
 float w0r = 1.0/MYROOT2; /* cos(pi/4)	*/
@@ -2477,7 +2477,7 @@ ioptr[14] = scale*f6r;
 ioptr[15] = scale*f6i;
 }
 
-inline void frstage(float *ioptr, long M, float *Utbl);
+void frstage(float *ioptr, long M, float *Utbl);
 inline void frstage(float *ioptr, long M, float *Utbl){
 /*	Finish RFFT		*/
 
@@ -2687,7 +2687,7 @@ default:
 parts of riffts1
 *************************************************/
 
-inline void rifft1pt(float *ioptr, float scale);
+void rifft1pt(float *ioptr, float scale);
 inline void rifft1pt(float *ioptr, float scale){
 /***   RADIX 2 rifft	***/
 float f0r, f0i;
@@ -2706,7 +2706,7 @@ ioptr[0] = scale*t0r;
 ioptr[1] = scale*t0i;
 }
 
-inline void rifft2pt(float *ioptr, float scale);
+void rifft2pt(float *ioptr, float scale);
 inline void rifft2pt(float *ioptr, float scale){
 /***   RADIX 4 rifft	***/
 float f0r, f0i, f1r, f1i;
@@ -2740,7 +2740,7 @@ ioptr[2] = scale*f1r;
 ioptr[3] = scale*f1i;
 }
 
-inline void rifft4pt(float *ioptr, float scale);
+void rifft4pt(float *ioptr, float scale);
 inline void rifft4pt(float *ioptr, float scale){
 /***   RADIX 8 rifft	***/
 float f0r, f0i, f1r, f1i, f2r, f2i, f3r, f3i;
@@ -2811,7 +2811,7 @@ ioptr[6] = scale*f3r;
 ioptr[7] = scale*f3i;
 }
 
-inline void rifft8pt(float *ioptr, float scale);
+void rifft8pt(float *ioptr, float scale);
 inline void rifft8pt(float *ioptr, float scale){
 /***   RADIX 16 rifft	***/
 float w0r = 1.0/MYROOT2; /* cos(pi/4)	*/
@@ -2968,7 +2968,7 @@ ioptr[14] = scale*f6r;
 ioptr[15] = scale*f6i;
 }
 
-inline void ifrstage(float *ioptr, long M, float *Utbl);
+void ifrstage(float *ioptr, long M, float *Utbl);
 inline void ifrstage(float *ioptr, long M, float *Utbl){
 /*	Start RIFFT		*/
 
