diff options
author | jofret | 2007-04-27 06:24:28 +0000 |
---|---|---|
committer | jofret | 2007-04-27 06:24:28 +0000 |
commit | 50611be1b8df4c7675633457834759036edc576b (patch) | |
tree | b24a682389932f9acef30b4245e38d65077bb9c2 | |
parent | 6cb0d4469b3306ac7b2543e9332deed0fe642eb8 (diff) | |
download | scilab2c-50611be1b8df4c7675633457834759036edc576b.tar.gz scilab2c-50611be1b8df4c7675633457834759036edc576b.tar.bz2 scilab2c-50611be1b8df4c7675633457834759036edc576b.zip |
[RELEASE] Absolute Value
-rw-r--r-- | src/auxiliaryFunctions/abs/cabsa.c | 20 | ||||
-rw-r--r-- | src/auxiliaryFunctions/abs/dabsa.c | 20 | ||||
-rw-r--r-- | src/auxiliaryFunctions/abs/sabsa.c | 20 | ||||
-rw-r--r-- | src/auxiliaryFunctions/abs/testAbs.c | 74 | ||||
-rw-r--r-- | src/auxiliaryFunctions/abs/testAbs.h | 10 | ||||
-rw-r--r-- | src/auxiliaryFunctions/abs/zabsa.c | 20 |
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]); + } +} |