summaryrefslogtreecommitdiff
path: root/src/auxiliaryFunctions
diff options
context:
space:
mode:
authortorset2009-01-16 16:23:22 +0000
committertorset2009-01-16 16:23:22 +0000
commit25211248348e0488a0e830bfafc3f3bd9061224a (patch)
tree15f0b3c1276be57c4ee23d6b414c132cdc71ccea /src/auxiliaryFunctions
parent6336fd8c8f24e474913ce7e85fbb2d0fad6283df (diff)
downloadscilab2c-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.c11
-rw-r--r--src/auxiliaryFunctions/find/dfinda.c12
-rw-r--r--src/auxiliaryFunctions/find/sfinda.c11
-rw-r--r--src/auxiliaryFunctions/find/zfinda.c11
-rw-r--r--src/auxiliaryFunctions/includes/find.h9
-rw-r--r--src/auxiliaryFunctions/interfaces/int_find.h8
-rw-r--r--src/auxiliaryFunctions/pythag/cpythags.c4
-rw-r--r--src/auxiliaryFunctions/pythag/zpythags.c4
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)) ));
}