summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjofret2007-04-27 06:24:28 +0000
committerjofret2007-04-27 06:24:28 +0000
commit50611be1b8df4c7675633457834759036edc576b (patch)
treeb24a682389932f9acef30b4245e38d65077bb9c2
parent6cb0d4469b3306ac7b2543e9332deed0fe642eb8 (diff)
downloadscilab2c-50611be1b8df4c7675633457834759036edc576b.tar.gz
scilab2c-50611be1b8df4c7675633457834759036edc576b.tar.bz2
scilab2c-50611be1b8df4c7675633457834759036edc576b.zip
[RELEASE] Absolute Value
-rw-r--r--src/auxiliaryFunctions/abs/cabsa.c20
-rw-r--r--src/auxiliaryFunctions/abs/dabsa.c20
-rw-r--r--src/auxiliaryFunctions/abs/sabsa.c20
-rw-r--r--src/auxiliaryFunctions/abs/testAbs.c74
-rw-r--r--src/auxiliaryFunctions/abs/testAbs.h10
-rw-r--r--src/auxiliaryFunctions/abs/zabsa.c20
6 files changed, 161 insertions, 3 deletions
diff --git a/src/auxiliaryFunctions/abs/cabsa.c b/src/auxiliaryFunctions/abs/cabsa.c
index e69de29b..a8e0a048 100644
--- a/src/auxiliaryFunctions/abs/cabsa.c
+++ b/src/auxiliaryFunctions/abs/cabsa.c
@@ -0,0 +1,20 @@
+/*
+** -*- C -*-
+**
+** cabsa.c
+** Made by Bruno JOFRET <bruno.jofret@inria.fr>
+**
+** Started on Wed Apr 25 13:23:20 2007 jofret
+** Last update Wed Apr 25 13:24:32 2007 jofret
+**
+** Copyright INRIA 2007
+*/
+
+#include "abs.h"
+
+void cabsa(floatComplex *in, float* out, int size) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = cabss(in[i]);
+ }
+}
diff --git a/src/auxiliaryFunctions/abs/dabsa.c b/src/auxiliaryFunctions/abs/dabsa.c
index e69de29b..681c277e 100644
--- a/src/auxiliaryFunctions/abs/dabsa.c
+++ b/src/auxiliaryFunctions/abs/dabsa.c
@@ -0,0 +1,20 @@
+/*
+** -*- C -*-
+**
+** dabsa.c
+** Made by Bruno JOFRET <bruno.jofret@inria.fr>
+**
+** Started on Wed Apr 25 11:17:25 2007 jofret
+** Last update Wed Apr 25 11:26:54 2007 jofret
+**
+** Copyright INRIA 2007
+*/
+
+#include "abs.h"
+
+void dabsa(double *in, double* out, int size){
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = dabss(in[i]);
+ }
+}
diff --git a/src/auxiliaryFunctions/abs/sabsa.c b/src/auxiliaryFunctions/abs/sabsa.c
index e69de29b..e958ad13 100644
--- a/src/auxiliaryFunctions/abs/sabsa.c
+++ b/src/auxiliaryFunctions/abs/sabsa.c
@@ -0,0 +1,20 @@
+/*
+** -*- C -*-
+**
+** sabsa.c
+** Made by Bruno JOFRET <bruno.jofret@inria.fr>
+**
+** Started on Wed Apr 25 10:53:09 2007 jofret
+** Last update Wed Apr 25 11:26:19 2007 jofret
+**
+** Copyright INRIA 2007
+*/
+
+#include "abs.h"
+
+void sabsa(float *in, float* out, int size) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = sabss(in[i]);
+ }
+}
diff --git a/src/auxiliaryFunctions/abs/testAbs.c b/src/auxiliaryFunctions/abs/testAbs.c
index 6cacc953..cba881b4 100644
--- a/src/auxiliaryFunctions/abs/testAbs.c
+++ b/src/auxiliaryFunctions/abs/testAbs.c
@@ -5,7 +5,7 @@
** Made by Bruno JOFRET <bruno.jofret@inria.fr>
**
** Started on Wed Feb 14 15:50:15 2007 jofret
-** Last update Mon Apr 23 17:40:12 2007 jofret
+** Last update Wed Apr 25 13:37:54 2007 jofret
**
** Copyright INRIA 2007
*/
@@ -50,18 +50,88 @@ int zabssTest() {
return 0;
}
+int sabsaTest() {
+ printf(">> Floats Array\n");
+ float value1 = -123456.789;
+ float value2 = 987654.321;
+ float value3 = 0;
+ float in[3] = {value1, value2, value3};
+ float out[3];
+ sabsa(in, out, 3);
+ assert(out[0] == -value1);
+ assert(out[1] == value2);
+ assert(out[2] == value3);
+ assert(out[2] == 0);
+ return 0;
+}
+
+int dabsaTest() {
+ printf(">> Doubles Array\n");
+ double value1 = -123456.789;
+ double value2 = 987654.321;
+ double value3 = 0;
+ double in[3] = {value1, value2, value3};
+ double out[3];
+ dabsa(in, out, 3);
+ assert(out[0] == -value1);
+ assert(out[1] == value2);
+ assert(out[2] == value3);
+ assert(out[2] == 0);
+ return 0;
+}
+
+int cabsaTest() {
+ printf(">> Float Complex Array\n");
+ floatComplex value1 = FloatComplex(4,3);
+ floatComplex value2 = FloatComplex(-4,3);
+ floatComplex value3 = FloatComplex(4,-3);
+ floatComplex value4 = FloatComplex(-4,-3);
+ floatComplex in[4] = {value1, value2, value3, value4};
+ float out[4];
+ cabsa(in, out, 4);
+ assert(out[0] == 5);
+ assert(out[1] == 5);
+ assert(out[2] == 5);
+ assert(out[3] == 5);
+ return 0;
+}
+
+int zabsaTest() {
+ printf(">> Double Complex Array\n");
+ doubleComplex value1 = DoubleComplex(4,3);
+ doubleComplex value2 = DoubleComplex(-4,3);
+ doubleComplex value3 = DoubleComplex(4,-3);
+ doubleComplex value4 = DoubleComplex(-4,-3);
+ doubleComplex in[4] = {value1, value2, value3, value4};
+ double out[4];
+ zabsa(in, out, 4);
+ assert(out[0] == 5);
+ assert(out[1] == 5);
+ assert(out[2] == 5);
+ assert(out[3] == 5);
+ return 0;
+}
+
int testAbs() {
int sabssStatus, dabssStatus = 0;
int cabssStatus, zabssStatus = 0;
+ int sabsaStatus, dabsaStatus = 0;
+ int cabsaStatus, zabsaStatus = 0;
printf(">>>> Abs Tests\n");
sabssStatus = sabssTest();
dabssStatus = dabssTest();
cabssStatus = cabssTest();
zabssStatus = zabssTest();
+ sabsaStatus = sabsaTest();
+ dabsaStatus = dabsaTest();
+ cabsaStatus = cabsaTest();
+ zabsaStatus = zabsaTest();
return (sabssStatus + dabssStatus +
- cabssStatus + zabssStatus);
+ cabssStatus + zabssStatus+
+ sabsaStatus + dabsaStatus +
+ cabsaStatus + zabsaStatus);
}
int main(void) {
diff --git a/src/auxiliaryFunctions/abs/testAbs.h b/src/auxiliaryFunctions/abs/testAbs.h
index cb153970..7a23998e 100644
--- a/src/auxiliaryFunctions/abs/testAbs.h
+++ b/src/auxiliaryFunctions/abs/testAbs.h
@@ -5,7 +5,7 @@
** Made by Bruno JOFRET <bruno.jofret@inria.fr>
**
** Started on Mon Apr 23 16:26:14 2007 jofret
-** Last update Mon Apr 23 16:34:43 2007 jofret
+** Last update Wed Apr 25 13:35:16 2007 jofret
**
** Copyright INRIA 2007
*/
@@ -25,6 +25,14 @@ int cabssTest(void);
int zabssTest(void);
+int sabsaTest(void);
+
+int dabsaTest(void);
+
+int cabsaTest(void);
+
+int zabsaTest(void);
+
int testAbs(void);
#endif /* ! _TESTABS_H_ */
diff --git a/src/auxiliaryFunctions/abs/zabsa.c b/src/auxiliaryFunctions/abs/zabsa.c
index e69de29b..0867a754 100644
--- a/src/auxiliaryFunctions/abs/zabsa.c
+++ b/src/auxiliaryFunctions/abs/zabsa.c
@@ -0,0 +1,20 @@
+/*
+** -*- C -*-
+**
+** zabsa.c
+** Made by Bruno JOFRET <bruno.jofret@inria.fr>
+**
+** Started on Wed Apr 25 13:24:43 2007 jofret
+** Last update Wed Apr 25 13:25:04 2007 jofret
+**
+** Copyright INRIA 2007
+*/
+
+#include "abs.h"
+
+void zabsa(doubleComplex *in, double* out, int size) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = zabss(in[i]);
+ }
+}