diff options
author | torset | 2009-01-16 16:23:22 +0000 |
---|---|---|
committer | torset | 2009-01-16 16:23:22 +0000 |
commit | 25211248348e0488a0e830bfafc3f3bd9061224a (patch) | |
tree | 15f0b3c1276be57c4ee23d6b414c132cdc71ccea /src/auxiliaryFunctions | |
parent | 6336fd8c8f24e474913ce7e85fbb2d0fad6283df (diff) | |
download | scilab2c-25211248348e0488a0e830bfafc3f3bd9061224a.tar.gz scilab2c-25211248348e0488a0e830bfafc3f3bd9061224a.tar.bz2 scilab2c-25211248348e0488a0e830bfafc3f3bd9061224a.zip |
Update with Scilab2C modifs (maybe some errors)
Diffstat (limited to 'src/auxiliaryFunctions')
-rw-r--r-- | src/auxiliaryFunctions/find/cfinda.c | 11 | ||||
-rw-r--r-- | src/auxiliaryFunctions/find/dfinda.c | 12 | ||||
-rw-r--r-- | src/auxiliaryFunctions/find/sfinda.c | 11 | ||||
-rw-r--r-- | src/auxiliaryFunctions/find/zfinda.c | 11 | ||||
-rw-r--r-- | src/auxiliaryFunctions/includes/find.h | 9 | ||||
-rw-r--r-- | src/auxiliaryFunctions/interfaces/int_find.h | 8 | ||||
-rw-r--r-- | src/auxiliaryFunctions/pythag/cpythags.c | 4 | ||||
-rw-r--r-- | src/auxiliaryFunctions/pythag/zpythags.c | 4 |
8 files changed, 29 insertions, 41 deletions
diff --git a/src/auxiliaryFunctions/find/cfinda.c b/src/auxiliaryFunctions/find/cfinda.c index 8dcf6c1f..e089fa25 100644 --- a/src/auxiliaryFunctions/find/cfinda.c +++ b/src/auxiliaryFunctions/find/cfinda.c @@ -12,17 +12,14 @@ #include "find.h" -float *cfinda(floatComplex* z, int size) { +void cfinda(floatComplex* z, int size, float *out, int *indiceOut) { int i = 0; - int indiceOut = 0; - float* out=NULL; + *indiceOut = 0; for (i = 0; i < size ; ++i) { if (creals(z[i]) != 0 || cimags(z[i]) != 0) { - out = realloc(out, (uint)(indiceOut+1)*sizeof(float)); - out[indiceOut] = (float)i; - indiceOut++; + out[*indiceOut] = (float)(i+1); + (*indiceOut)++; } } - return out; } diff --git a/src/auxiliaryFunctions/find/dfinda.c b/src/auxiliaryFunctions/find/dfinda.c index efbda20e..2aa5f7fe 100644 --- a/src/auxiliaryFunctions/find/dfinda.c +++ b/src/auxiliaryFunctions/find/dfinda.c @@ -10,19 +10,17 @@ * */ + #include "find.h" -double *dfinda(double* x, int size) { +void dfinda(double* x, int size ,double *out, int *indiceOut) { int i = 0; - int indiceOut = 0; - double* out=NULL; + *indiceOut = 0; for (i = 0; i < size ; ++i) { if (x[i] != 0) { - out = realloc(out, (uint)(indiceOut+1)*sizeof(double)); - out[indiceOut] = (double)i; - indiceOut++; + out[*indiceOut] = (double)(i + 1); + (*indiceOut)++; } } - return out; } diff --git a/src/auxiliaryFunctions/find/sfinda.c b/src/auxiliaryFunctions/find/sfinda.c index 74fd3cf8..67324cda 100644 --- a/src/auxiliaryFunctions/find/sfinda.c +++ b/src/auxiliaryFunctions/find/sfinda.c @@ -12,18 +12,15 @@ #include "find.h" -float* sfinda(float* x, int size) { +void sfinda(float* x, int size, float* out, int *indiceOut) { int i = 0; - int indiceOut = 0; - float* out=NULL; + *indiceOut = 0; for (i = 0; i < size ; ++i) { if (x[i] != 0) { - out = realloc(out, (uint)(indiceOut+1)*sizeof(float)); - out[indiceOut] = (float)i; - indiceOut++; + out[*indiceOut] = (float)(i+1); + (*indiceOut)++; } } - return out; } diff --git a/src/auxiliaryFunctions/find/zfinda.c b/src/auxiliaryFunctions/find/zfinda.c index 18c87a25..631235d1 100644 --- a/src/auxiliaryFunctions/find/zfinda.c +++ b/src/auxiliaryFunctions/find/zfinda.c @@ -12,17 +12,14 @@ #include "find.h" -double *zfinda(doubleComplex* z, int size) { +void zfinda(doubleComplex* z, int size, double *out, int* indiceOut) { int i = 0; - int indiceOut = 0; - double* out=NULL; + *indiceOut = 0; for (i = 0; i < size ; ++i) { if (zreals(z[i]) != 0 || zimags(z[i]) != 0) { - out = realloc(out, (uint)(indiceOut+1)*sizeof(double)); - out[indiceOut] = (double)i; - indiceOut++; + out[*indiceOut] = (double)i; + (*indiceOut)++; } } - return out; } diff --git a/src/auxiliaryFunctions/includes/find.h b/src/auxiliaryFunctions/includes/find.h index 73682bac..8683d1a0 100644 --- a/src/auxiliaryFunctions/includes/find.h +++ b/src/auxiliaryFunctions/includes/find.h @@ -15,25 +15,24 @@ #include "floatComplex.h" #include "doubleComplex.h" -#include "notFound.h" /* ** \brief Float Find function */ -float* sfinda(float* x, int size); +void sfinda(float* x, int size, float *out, int *sizeOut); /* ** \brief Double Find function */ -double* dfinda(double*x, int size); +void dfinda(double*x, int size, double *out, int *sizeOut); /* ** \brief Float Complex Find function */ -float* cfinda(floatComplex* z, int size); +void cfinda(floatComplex* z, int size, float *out, int *sizeOut); /* ** \brief Double Complex Find function */ -double* zfinda(doubleComplex* z, int size); +void zfinda(doubleComplex* z, int size, double *out, int *sizeOut); #endif /* !__FIND_H__ */ diff --git a/src/auxiliaryFunctions/interfaces/int_find.h b/src/auxiliaryFunctions/interfaces/int_find.h index a2987a37..78b326a1 100644 --- a/src/auxiliaryFunctions/interfaces/int_find.h +++ b/src/auxiliaryFunctions/interfaces/int_find.h @@ -25,13 +25,13 @@ #define z0findd0(in) ((zreals(in) == 0) && (zimags(in) == 0)) ? -1 : in -#define s2finds2(in,size,out) sfinda(in, size[0]*size[1]) +#define s2finds2(in,size,out,sizeOut) sfinda(in, size[0]*size[1], out, sizeOut) -#define d2findd2(in,size,out) dfinda(in, size[0]*size[1]) +#define d2findd2(in,size,out,sizeOut) dfinda(in, size[0]*size[1], out, sizeOut) -#define c2finds2(in,size,out) cfinda(in, size[0]*size[1]) +#define c2finds2(in,size,out,sizeOut) cfinda(in, size[0]*size[1], out, sizeOut) -#define z2findd2(in,size,out) zfinda(in, size[0]*size[1]) +#define z2findd2(in,size,out,sizeOut) zfinda(in, size[0]*size[1], out, sizeOut) /* 1 input, 2 outputs */ diff --git a/src/auxiliaryFunctions/pythag/cpythags.c b/src/auxiliaryFunctions/pythag/cpythags.c index b505195c..2f4ad33d 100644 --- a/src/auxiliaryFunctions/pythag/cpythags.c +++ b/src/auxiliaryFunctions/pythag/cpythags.c @@ -13,6 +13,6 @@ #include "pythag.h" floatComplex cpythags(floatComplex x, floatComplex y) { - return (csqrts( cadds(ctimess(x,x), - ctimess(y,y)) )); + return (csqrts( cadds(cmuls(x,x), + cmuls(y,y)) )); } diff --git a/src/auxiliaryFunctions/pythag/zpythags.c b/src/auxiliaryFunctions/pythag/zpythags.c index c5ac30ad..5ba7dba9 100644 --- a/src/auxiliaryFunctions/pythag/zpythags.c +++ b/src/auxiliaryFunctions/pythag/zpythags.c @@ -13,6 +13,6 @@ #include "pythag.h" doubleComplex zpythags(doubleComplex x, doubleComplex y) { - return (zsqrts( zadds(ztimess(x,x), - ztimess(y,y)) )); + return (zsqrts( zadds(zmuls(x,x), + zmuls(y,y)) )); } |