summaryrefslogtreecommitdiff
path: root/src/matrixOperations/testMatrixAddition.c
diff options
context:
space:
mode:
authorjofret2008-06-19 14:45:46 +0000
committerjofret2008-06-19 14:45:46 +0000
commit6142e72914eb2d0b94a0cf9fef554cd3a6760c3f (patch)
tree3182b744582fa37b02afc7df5d0c9b28870109fa /src/matrixOperations/testMatrixAddition.c
parent7c9f4fd3f6cfa720f9f9bb6d47ac1641f4bc4f77 (diff)
downloadscilab2c-6142e72914eb2d0b94a0cf9fef554cd3a6760c3f.tar.gz
scilab2c-6142e72914eb2d0b94a0cf9fef554cd3a6760c3f.tar.bz2
scilab2c-6142e72914eb2d0b94a0cf9fef554cd3a6760c3f.zip
Reorganize and separate operations
Diffstat (limited to 'src/matrixOperations/testMatrixAddition.c')
-rw-r--r--src/matrixOperations/testMatrixAddition.c128
1 files changed, 0 insertions, 128 deletions
diff --git a/src/matrixOperations/testMatrixAddition.c b/src/matrixOperations/testMatrixAddition.c
deleted file mode 100644
index ceb922b9..00000000
--- a/src/matrixOperations/testMatrixAddition.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
- *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <assert.h>
-#include <math.h>
-#include "matrixAddition.h"
-
-#define SIZE 10000
-
-/* #define LOCAL_DEBUG */
-
-static void zaddmaTest(void) {
- doubleComplex M1[SIZE];
- doubleComplex M2[SIZE];
- doubleComplex M1_and_M2[SIZE];
-
- int i = 0;
-
- srand(1);
- for (i = 0; i < SIZE; ++i) {
- M1[i] = DoubleComplex((double) rand(), (double) rand());
- M2[i] = DoubleComplex((double) rand(), (double) rand());
- }
- zaddma(M1, SIZE, M2, SIZE, M1_and_M2);
- for (i = 0; i < SIZE; ++i) {
-#ifdef LOCAL_DEBUG
- printf("M1_and_M2 = %e + %e i\n", zreals(M1_and_M2[i]), zimags(M1_and_M2[i]));
-#endif
- assert(zreals(M1_and_M2[i]) - (zreals(M1[i]) + zreals(M2[i])) == 0);
- assert(zimags(M1_and_M2[i]) - (zimags(M1[i]) + zimags(M2[i])) == 0);
- }
-}
-
-static void caddmaTest(void) {
- floatComplex M1[SIZE];
- floatComplex M2[SIZE];
- floatComplex M1_and_M2[SIZE];
-
- int i = 0;
-
- srand(1);
- for (i = 0; i < SIZE; ++i) {
- M1[i] = FloatComplex((float) rand(), (float) rand());
- M2[i] = FloatComplex((float) rand(), (float) rand());
- }
- caddma(M1, SIZE, M2, SIZE, M1_and_M2);
- for (i = 0; i < SIZE; ++i) {
-#ifdef LOCAL_DEBUG
- printf("M1_and_M2 = %e + %e i\n", creals(M1_and_M2[i]), cimags(M1_and_M2[i]));
-#endif
- assert(fabsf(creals(M1_and_M2[i]) - (creals(M1[i]) + creals(M2[i]))) / creals(M1_and_M2[i]) < 1e-07);
- assert(fabsf(cimags(M1_and_M2[i]) - (cimags(M1[i]) + cimags(M2[i]))) / cimags(M1_and_M2[i]) < 1e-07);
- }
-}
-
-static void saddmaTest(void) {
- float M1[SIZE];
- float M2[SIZE];
- float M1_and_M2[SIZE];
-
- int i = 0;
-
- srand(1);
- for (i = 0; i < SIZE; ++i) {
- M1[i] = (float) rand();
- M2[i] = (float) rand();
- }
- saddma(M1, SIZE, M2, SIZE, M1_and_M2);
- for (i = 0; i < SIZE; ++i) {
-#ifdef LOCAL_DEBUG
- printf("M1_and_M2 = %e\n", M1_and_M2[i]);
- printf("M1[i] + M2[i] = %e\n", (M1[i] + M2[i]));
- printf("Error = %e\n",(float) fabsf(M1_and_M2[i] - (M1[i] + M2[i])) / M1_and_M2[i]);
-#endif
- assert(fabsf(M1_and_M2[i] - (M1[i] + M2[i])) / M1_and_M2[i] < 1e-07);
- }
-}
-
-static void daddmaTest(void) {
- double M1[SIZE];
- double M2[SIZE];
- double M1_and_M2[SIZE];
-
- int i = 0;
-
- srand(1);
- for (i = 0; i < SIZE; ++i) {
- M1[i] = (double) rand();
- M2[i] = (double) rand();
- }
- daddma(M1, SIZE, M2, SIZE, M1_and_M2);
- for (i = 0; i < SIZE; ++i) {
-#ifdef LOCAL_DEBUG
- printf("M1_and_M2 = %e\n", M1_and_M2[i]);
-#endif
- assert(fabs(M1_and_M2[i] - (M1[i] + M2[i])) == 0);
- }
-
-}
-
-static int testAddition(void) {
-
- printf("\n>>>> Matrix Addition Tests\n");
- saddmaTest();
- daddmaTest();
- caddmaTest();
- zaddmaTest();
-
- return 0;
-}
-
-
-
-int main(void) {
- assert(testAddition() == 0);
- return 0;
-}