summaryrefslogtreecommitdiff
path: root/2.3-1/src/c/auxiliaryFunctions/find2d/testFind2d.c
diff options
context:
space:
mode:
Diffstat (limited to '2.3-1/src/c/auxiliaryFunctions/find2d/testFind2d.c')
-rw-r--r--2.3-1/src/c/auxiliaryFunctions/find2d/testFind2d.c532
1 files changed, 532 insertions, 0 deletions
diff --git a/2.3-1/src/c/auxiliaryFunctions/find2d/testFind2d.c b/2.3-1/src/c/auxiliaryFunctions/find2d/testFind2d.c
new file mode 100644
index 00000000..1fcfdc9e
--- /dev/null
+++ b/2.3-1/src/c/auxiliaryFunctions/find2d/testFind2d.c
@@ -0,0 +1,532 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-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 "testFind2d.h"
+#include <stdio.h>
+
+int sfind2daTest() {
+ int result = 0, i = 0;
+ float goodArray[6] = {0.,2.,3.,0.,5.,10.};
+ float badArray[6] = {0.,0.,0.,0.,0.,0.};
+ float out1_1_6[4] = {1.,1.,1.,1.};
+ float out1_2_3[4] = {1.,1.,2.,2.};
+ float out1_3_2[4] = {2.,2.,3.,3.};
+ float out1_6_1[4] = {2.,3.,5.,6.};
+ float out2_1_6[4] = {2.,3.,5.,6.};
+ float out2_2_3[4] = {2.,3.,1.,3.};
+ float out2_3_2[4] = {1.,2.,1.,2.};
+ float out2_6_1[4] = {1.,1.,1.,1.};
+ float out1Good[6] = {0}, out1Bad[6] = {0}, out2Good[6] = {0}, out2Bad[6] = {0};
+ int size1[2]={0},size2[2]={0};
+ printf(">> Floats \n");
+
+ /* Test tab 1 ligne 6 colonnes */
+ sfind2da(goodArray, 1, 6, out1Good, size1, out2Good, size2 , -1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_1_6[i]) || (out2Good[i] != out2_1_6[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ sfind2da(badArray, 1, 6, out1Bad, size1,out2Bad,size2,-1);
+ if ((out1Bad[0]!=-1) || (out2Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+ /* Test tab 2 lignes 3 colonnes */
+ sfind2da(goodArray, 2, 3, out1Good, size1, out2Good, size2 , -1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_2_3[i]) || (out2Good[i] != out2_2_3[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ sfind2da(badArray, 2, 3, out1Bad, size1, out2Bad, size2 , -1);
+ if ((out1Bad[0]!=-1) || (out2Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+ /* Test tab 3 lignes 2 colonnes */
+ sfind2da(goodArray, 3, 2, out1Good, size1, out2Good, size1, -1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_3_2[i]) || (out2Good[i] != out2_3_2[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ sfind2da(badArray, 3, 2, out1Bad, size1, out2Bad, size1,-1);
+ if ((out1Bad[0]!=-1) || (out2Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+ /* Test tab 6 lignes 1 colonne */
+ sfind2da(goodArray, 6, 1, out1Good, size1, out2Good, size1,-1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_6_1[i]) || (out2Good[i] != out2_6_1[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ sfind2da(badArray, 6, 1, out1Bad, size1, out2Bad, size1,-1);
+ if ((out1Bad[0]!=-1) || (out2Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+
+ return result;
+}
+
+int dfind2daTest() {
+ int result = 0, i = 0;
+ double goodArray[6] = {0.,2.,3.,0.,5.,10.};
+ double badArray[6] = {0.,0.,0.,0.,0.,0.};
+ double out1_1_6[4] = {1.,1.,1.,1.};
+ double out1_2_3[4] = {1.,1.,2.,2.};
+ double out1_3_2[4] = {2.,2.,3.,3.};
+ double out1_6_1[4] = {2.,3.,5.,6.};
+ double out2_1_6[4] = {2.,3.,5.,6.};
+ double out2_2_3[4] = {2.,3.,1.,3.};
+ double out2_3_2[4] = {1.,2.,1.,2.};
+ double out2_6_1[4] = {1.,1.,1.,1.};
+ double out1Good[6] = {0}, out1Bad[6] = {0}, out2Good[6] = {0}, out2Bad[6] = {0};
+ int size1[2]={0},size2[2]={0};
+
+ printf(">> Double \n");
+
+ /* Test tab 1 ligne 6 colonnes */
+ dfind2da(goodArray, 1, 6, out1Good, size1, out2Good, size2,-1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_1_6[i]) || (out2Good[i] != out2_1_6[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ dfind2da(badArray, 1, 6, out1Bad, size1, out2Bad, size2,-1);
+ if ((out1Bad[0]!=-1) || (out2Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+ /* Test tab 2 lignes 3 colonnes */
+ dfind2da(goodArray, 2, 3, out1Good, size1, out2Good, size2,-1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_2_3[i]) || (out2Good[i] != out2_2_3[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ dfind2da(badArray, 2, 3, out1Bad, size1, out2Bad, size2,-1);
+ if ((out1Bad[0]!=-1) || (out2Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+ /* Test tab 3 lignes 2 colonnes */
+ dfind2da(goodArray, 3, 2, out1Good, size1, out2Good, size2,-1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_3_2[i]) || (out2Good[i] != out2_3_2[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ dfind2da(badArray, 3, 2, out1Bad, size1, out2Bad, size2,-1);
+ if ((out1Bad[0]!=-1) || (out2Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+ /* Test tab 6 lignes 1 colonne */
+ dfind2da(goodArray, 6, 1, out1Good, size1, out2Good, size2,-1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_6_1[i]) || (out2Good[i] != out2_6_1[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ dfind2da(badArray, 6, 1, out1Bad, size1, out2Bad, size2,-1);
+ if ((out1Bad[0]!=-1) || (out2Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+
+ return result;
+}
+
+int cfind2daTest() {
+ int result = 0, i = 0;
+ floatComplex goodArray[6];
+ floatComplex badArray[6];
+ float out1_1_6[4] = {1.,1.,1.,1.};
+ float out1_2_3[4] = {1.,1.,2.,2.};
+ float out1_3_2[4] = {2.,2.,3.,3.};
+ float out1_6_1[4] = {2.,3.,5.,6.};
+ float out2_1_6[4] = {2.,3.,5.,6.};
+ float out2_2_3[4] = {2.,3.,1.,3.};
+ float out2_3_2[4] = {1.,2.,1.,2.};
+ float out2_6_1[4] = {1.,1.,1.,1.};
+ float out1Good[6] = {0}, out1Bad[6] = {0}, out2Good[6] = {0}, out2Bad[6] = {0};
+ int size1[2]={0},size2[2]={0};
+
+ /* Good values in goodArray */
+ goodArray[0] = FloatComplex(0., 0.);
+ goodArray[1] = FloatComplex(0., 2.);
+ goodArray[2] = FloatComplex(3., 50.);
+ goodArray[3] = FloatComplex(0., 0.);
+ goodArray[4] = FloatComplex(5., 10.);
+ goodArray[5] = FloatComplex(10., -10.);
+ /* Bad values in badArray */
+ badArray[0] = FloatComplex(0., 0.);
+ badArray[1] = FloatComplex(0., 0.);
+ badArray[2] = FloatComplex(0., 0.);
+ badArray[3] = FloatComplex(0., 0.);
+ badArray[4] = FloatComplex(0., 0.);
+ badArray[5] = FloatComplex(0., 0.);
+
+ printf(">> Float Complex \n");
+
+ /* Test tab 1 ligne 6 colonnes */
+ cfind2da(goodArray, 1, 6, out1Good, size1, out2Good, size2,-1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_1_6[i]) || (out2Good[i] != out2_1_6[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ cfind2da(badArray, 1, 6, out1Bad, size1, out2Bad, size2,-1);
+ if ((out1Bad[0]!=-1) || (out2Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+ /* Test tab 2 lignes 3 colonnes */
+ cfind2da(goodArray, 2, 3, out1Good, size1, out2Good, size2,-1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_2_3[i]) || (out2Good[i] != out2_2_3[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ cfind2da(badArray, 2, 3, out1Bad, size1, out2Bad, size2,-1);
+ if ((out1Bad[0]!=-1) || (out2Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+ /* Test tab 3 lignes 2 colonnes */
+ cfind2da(goodArray, 3, 2, out1Good, size1, out2Good, size2,-1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_3_2[i]) || (out2Good[i] != out2_3_2[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ cfind2da(badArray, 3, 2, out1Bad, size1, out2Bad, size2,-1);
+ if ((out1Bad[0]!=-1) || (out2Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+ /* Test tab 6 lignes 1 colonne */
+ cfind2da(goodArray, 6, 1, out1Good, size1, out2Good, size2,-1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_6_1[i]) || (out2Good[i] != out2_6_1[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ cfind2da(badArray, 6, 1, out1Bad, size1, out2Bad, size2,-1);
+ if ((out1Bad[0]!=-1) || (out2Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+
+ return result;
+}
+
+int zfind2daTest() {
+ int result = 0, i = 0;
+ doubleComplex goodArray[6];
+ doubleComplex badArray[6];
+ double out1_1_6[4] = {1.,1.,1.,1.};
+ double out1_2_3[4] = {1.,1.,2.,2.};
+ double out1_3_2[4] = {2.,2.,3.,3.};
+ double out1_6_1[4] = {2.,3.,5.,6.};
+ double out2_1_6[4] = {2.,3.,5.,6.};
+ double out2_2_3[4] = {2.,3.,1.,3.};
+ double out2_3_2[4] = {1.,2.,1.,2.};
+ double out2_6_1[4] = {1.,1.,1.,1.};
+ double out1Good[6] = {0}, out1Bad[6] = {0}, out2Good[6] = {0}, out2Bad[6] = {0};
+ int size1[2]={0},size2[2]={0};
+
+
+ /* Good values in goodArray */
+ goodArray[0] = DoubleComplex(0., 0.);
+ goodArray[1] = DoubleComplex(0., 2.);
+ goodArray[2] = DoubleComplex(3., 50.);
+ goodArray[3] = DoubleComplex(0., 0.);
+ goodArray[4] = DoubleComplex(5., 10.);
+ goodArray[5] = DoubleComplex(10., -10.);
+ /* Bad values in badArray */
+ badArray[0] = DoubleComplex(0., 0.);
+ badArray[1] = DoubleComplex(0., 0.);
+ badArray[2] = DoubleComplex(0., 0.);
+ badArray[3] = DoubleComplex(0., 0.);
+ badArray[4] = DoubleComplex(0., 0.);
+ badArray[5] = DoubleComplex(0., 0.);
+
+
+ printf(">> Double Complex \n");
+
+ /* Test tab 1 ligne 6 colonnes */
+ zfind2da(goodArray, 1, 6, out1Good, size1, out2Good, size2,-1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_1_6[i]) || (out2Good[i] != out2_1_6[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ zfind2da(badArray, 1, 6, out1Bad, size1, out2Bad, size2,-1);
+ if ((out1Bad[0]!=-1) || (out1Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+ /* Test tab 2 lignes 3 colonnes */
+ zfind2da(goodArray, 2, 3, out1Good, size1, out2Good, size2,-1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_2_3[i]) || (out2Good[i] != out2_2_3[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ zfind2da(badArray, 2, 3, out1Bad, size1, out2Bad, size2,-1);
+ if ((out1Bad[0]!=-1) || (out1Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+ /* Test tab 3 lignes 2 colonnes */
+ zfind2da(goodArray, 3, 2, out1Good, size1, out2Good, size2,-1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_3_2[i]) || (out2Good[i] != out2_3_2[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ zfind2da(badArray, 3, 2, out1Bad, size1, out2Bad, size2,-1);
+ if ((out1Bad[0]!=-1) || (out1Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+ /* Test tab 6 lignes 1 colonne */
+ zfind2da(goodArray, 6, 1, out1Good, size1, out2Good, size2,-1);
+
+
+ for (i=0;i<size1[1];i++){
+ if ( (out1Good[i] != out1_6_1[i]) || (out2Good[i] != out2_6_1[i]) ) {
+ printf("ERROR ! : Test Failed (non empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("(%f-%f) ",out1Good[i],out2Good[i]);
+ }
+
+ printf("\n");
+ zfind2da(badArray, 6, 1, out1Bad, size1, out2Bad, size2,-1);
+ if ((out1Bad[0]!=-1) || (out1Bad[0]!=-1) ) {
+ printf("ERROR ! : Test Failed (empty array)\n");
+ result = ERROR;
+ }
+ else
+ printf("pointeur NULL \n ");
+
+ printf("\n");
+
+
+ return result;
+}
+
+int testFind2d() {
+ int sfind2daStatus, dfind2daStatus = 0;
+ int cfind2daStatus, zfind2daStatus = 0;
+
+ printf(">>>> Find2d Tests\n");
+ sfind2daStatus = sfind2daTest();
+ dfind2daStatus = dfind2daTest();
+ cfind2daStatus = cfind2daTest();
+ zfind2daStatus = zfind2daTest();
+
+ return (sfind2daStatus + dfind2daStatus +
+ cfind2daStatus + zfind2daStatus);
+}
+
+int main(void) {
+ assert(testFind2d() == 0);
+ return 0;
+}