summaryrefslogtreecommitdiff
path: root/src/signalProcessing/fft
diff options
context:
space:
mode:
authorsimon2008-09-03 13:37:58 +0000
committersimon2008-09-03 13:37:58 +0000
commit0cc36687f566ad0470dc40c7240e41e641874243 (patch)
tree5c6ded2c828b43f74cbc62605abb5a09053aaa40 /src/signalProcessing/fft
parentc1f961a03e5736c4b8a0e09afc1657312054e897 (diff)
downloadscilab2c-0cc36687f566ad0470dc40c7240e41e641874243.tar.gz
scilab2c-0cc36687f566ad0470dc40c7240e41e641874243.tar.bz2
scilab2c-0cc36687f566ad0470dc40c7240e41e641874243.zip
they shall compile now
Diffstat (limited to 'src/signalProcessing/fft')
-rw-r--r--src/signalProcessing/fft/dfft2.c19
-rw-r--r--src/signalProcessing/fft/dfftbi.c2
-rw-r--r--src/signalProcessing/fft/dfftmx.c27
-rw-r--r--src/signalProcessing/fft/fft842.c4
-rw-r--r--src/signalProcessing/fft/fft_internal.h11
-rw-r--r--src/signalProcessing/fft/r8tx.c1
6 files changed, 41 insertions, 23 deletions
diff --git a/src/signalProcessing/fft/dfft2.c b/src/signalProcessing/fft/dfft2.c
index 575bfe33..20011c04 100644
--- a/src/signalProcessing/fft/dfft2.c
+++ b/src/signalProcessing/fft/dfft2.c
@@ -11,16 +11,31 @@
*/
#include "fft_internal.h"
+#include <stdlib.h>
-void dfft2 ( double* a , double* b , int nseg , int n , int nspn , int isn , int ierr, int* iw , int lw )
+void dfft2 ( double* a , double* b , int nseg , int n , int nspn , int isn , int ierr, double* iw , int lw )
{
+
+ /*created to avoid the cast problem */
+ int* iIw = (int*) malloc( sizeof (int) * (unsigned int) lw );
+
+
+/*so these lines are duplicated */
+ iIw[0] = 0 ;
+ iIw[1] = 10 ;
+ iIw[2] = 10 ;
+ iIw[3] = lw ;
+ iIw[4] = 10 ;
+
iw[0] = 0 ;
iw[1] = 10 ;
iw[2] = 10 ;
iw[3] = lw ;
iw[4] = 10 ;
- dfftbi ( a , b , nseg , n , nspn , isn , ierr , iw[0], iw[1], iw[2], iw[3], iw[4], iw, iw);
+ dfftbi ( a , b , nseg , n , nspn , isn , ierr ,iIw[0], iIw[1], iIw[2], iIw[3], iIw[4], iw, iIw);
+
+
return ;
}
diff --git a/src/signalProcessing/fft/dfftbi.c b/src/signalProcessing/fft/dfftbi.c
index db004f8b..de672e82 100644
--- a/src/signalProcessing/fft/dfftbi.c
+++ b/src/signalProcessing/fft/dfftbi.c
@@ -14,7 +14,7 @@
#include "max.h"
#include "fft_internal.h"
-void dfftbi ( double* a , double* b , int nseg , int n , int nspn , int isn , int ierr, int lout , int lnow , int lused , int lmax , int lbook , int* rstak , int* istak )
+void dfftbi ( double* a , double* b , int nseg , int n , int nspn , int isn , int ierr, int lout , int lnow , int lused , int lmax , int lbook , double* rstak , int* istak )
{
int nfac[15] ;
diff --git a/src/signalProcessing/fft/dfftmx.c b/src/signalProcessing/fft/dfftmx.c
index dcffeb55..d642dc74 100644
--- a/src/signalProcessing/fft/dfftmx.c
+++ b/src/signalProcessing/fft/dfftmx.c
@@ -10,8 +10,10 @@
*
*/
+#include <stdlib.h>
#include <math.h>
#include "max.h"
+#include "min.h"
#include "fft_internal.h"
@@ -25,10 +27,10 @@ static int nspan ;
static int isn ;
static int m ;
static int kt ;
-static int* wt ;
-static int* ck ;
-static int* bt ;
-static int* sk ;
+static double* wt ;
+static double* ck ;
+static double* bt ;
+static double* sk ;
static int* np ;
static int* nfac ;
static int inc ;
@@ -89,9 +91,9 @@ static int jj;
-int dfftmx ( double* _pdblA , double* _pdblB , int _iNtot, int _iN, int _iNspan,
- int _iIsn, int _iM, int _iKt, int* _piWt, int* _piCk,
- int* _piBt, int* _piSk , int* _piNp, int* _piNfac)
+int dfftmx ( double* _pdblA , double* _pdblB , int _iNtot, int _iN, int _iNspan,
+ int _iIsn, int _iM, int _iKt, double* _pdblWt, double* _pdblCk,
+ double* _pdblBt, double* _pdblSk, int* _piNp, int* _piNfac)
{
int retVal = 0 ;
@@ -105,10 +107,10 @@ int dfftmx ( double* _pdblA , double* _pdblB , int _iNtot, int _iN, int _iNs
isn = _iIsn;
m = _iM ;
kt = _iKt ;
- wt = _piWt ;
- ck = _piCk;
- bt = _piBt;
- sk = _piSk;
+ wt = _pdblWt ;
+ ck = _pdblCk;
+ bt = _pdblBt;
+ sk = _pdblSk;
np = _piNp;
nfac = _piNfac;
@@ -152,9 +154,8 @@ Sous-Fonctions
void preliminaryWork (void)
{
- int j = 1 ;
int lim ;
- int i = 1 ;
+
if ( isn <= 0 )
{
diff --git a/src/signalProcessing/fft/fft842.c b/src/signalProcessing/fft/fft842.c
index cac8a977..ba287a54 100644
--- a/src/signalProcessing/fft/fft842.c
+++ b/src/signalProcessing/fft/fft842.c
@@ -12,7 +12,7 @@
#include "fft_internal.h"
-void fft842 ( int _iDirect , int _iDimen , int* _pdblReal , int* _pdblImag , int _err )
+void fft842 ( int _iDirect , int _iDimen , double* _pdblReal , double* _pdblImag , int _err )
{
int i = 0 ;
int ipass = 1 ;
@@ -74,7 +74,7 @@ void fft842 ( int _iDirect , int _iDimen , int* _pdblReal , int* _pdblImag , int
{
if ( CRES == 0 )
{
- r2tx ( _iDimen , _pdblReal[0] , _pdblReal[1] ,_pdblImag[0] , _pdblImag[1] ) ;
+ r2tx ( _iDimen , _pdblReal , _pdblImag) ;
}
else
diff --git a/src/signalProcessing/fft/fft_internal.h b/src/signalProcessing/fft/fft_internal.h
index 7ba732d9..1b374872 100644
--- a/src/signalProcessing/fft/fft_internal.h
+++ b/src/signalProcessing/fft/fft_internal.h
@@ -14,15 +14,15 @@
#define __FFT_INTERNAL_H__
void dfft2 ( double* a , double* b , int nseg , int n , int nspn ,
- int isn , int ierr, int* iw , int lw );
+ int isn , int ierr, double* iw , int lw );
void dfftbi ( double* a , double* b , int nseg , int n , int nspn ,
int isn , int ierr, int lout , int lnow ,
- int lused ,int lmax , int lbook , int* rstak , int* istakk );
+ int lused ,int lmax , int lbook , double* rstak , int* istakk );
-void fft842 ( int _iDirect , int _iDimen , int* _pdblReal , int* _pdblImag , int _err );
+void fft842 ( int _iDirect , int _iDimen , double* _pdblReal , double* _pdblImag , int _err );
void r2tx ( int _iDimen , double* _pdblReal, double* _pdblImag );
void r4tx ( int _iDimen , double* _pdblReal, double* _pdblImag) ;
@@ -30,8 +30,9 @@ void r8tx ( int _iTempDimen , int _iDimen , int _iLengt , double* _pdblReal, do
int dfftmx ( double* _pdblA , double* _pdblB , int _iNtot, int _iN, int _iNspan,
- int _iIsn, int _iM, int _iKt, int* _piWt, int* _piCk,
- int* _piBt, int* _piSk ,int* _piNp, int* _piNfac);
+ int _iIsn, int _iM, int _iKt, double* _pdblWt, double* _pdblCk,
+ double* _pdblBt, double* _pdblSk, int* _piNp, int* _piNfac);
+
/* under functions used by dfftmx */
void preliminaryWork (void);
void preliminaryWork (void);
diff --git a/src/signalProcessing/fft/r8tx.c b/src/signalProcessing/fft/r8tx.c
index 00b790f8..1d109de3 100644
--- a/src/signalProcessing/fft/r8tx.c
+++ b/src/signalProcessing/fft/r8tx.c
@@ -11,6 +11,7 @@
*/
#include "fft_internal.h"
+#include <math.h>
void r8tx ( int _iTempDimen , int _iDimen , int _iLengt , double* _pdblReal, double* _pdblImag )