diff options
author | yash1112 | 2017-07-07 21:20:49 +0530 |
---|---|---|
committer | yash1112 | 2017-07-07 21:20:49 +0530 |
commit | 3f52712f806fbd80d66dfdcaff401e5cf94dcca4 (patch) | |
tree | a8333b8187cb44b505b9fe37fc9a7ac8a1711c10 /src/c/elementaryFunctions/ceil/testDoubleCeil.c | |
download | Scilab2C_fossee_old-3f52712f806fbd80d66dfdcaff401e5cf94dcca4.tar.gz Scilab2C_fossee_old-3f52712f806fbd80d66dfdcaff401e5cf94dcca4.tar.bz2 Scilab2C_fossee_old-3f52712f806fbd80d66dfdcaff401e5cf94dcca4.zip |
sci2c arduino updated
Diffstat (limited to 'src/c/elementaryFunctions/ceil/testDoubleCeil.c')
-rw-r--r-- | src/c/elementaryFunctions/ceil/testDoubleCeil.c | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/src/c/elementaryFunctions/ceil/testDoubleCeil.c b/src/c/elementaryFunctions/ceil/testDoubleCeil.c new file mode 100644 index 0000000..29b42c4 --- /dev/null +++ b/src/c/elementaryFunctions/ceil/testDoubleCeil.c @@ -0,0 +1,153 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008 - INRIA - Arnaud TORSET + * + * 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 <assert.h> +#include <math.h> +#include <stdio.h> +#include "ceil.h" + + + +static void dceilsTest(void) { + assert ((fabs( dceils(-2) - (-2))/fabs(dceils(-2)))<1e-16); + assert ((fabs( dceils(-1.9) - (-1))/fabs(dceils(-1.9)))<1e-16); + assert ((fabs( dceils(-1.8) - (-1))/fabs(dceils(-1.8)))<1e-16); + assert ((fabs( dceils(-1.7) - (-1))/fabs(dceils(-1.7)))<1e-16); + assert ((fabs( dceils(-1.6) - (-1))/fabs(dceils(-1.6)))<1e-16); + assert ((fabs( dceils(-1.5) - (-1))/fabs(dceils(-1.5)))<1e-16); + assert ((fabs( dceils(-1.4) - (-1))/fabs(dceils(-1.4)))<1e-16); + assert ((fabs( dceils(-1.3) - (-1))/fabs(dceils(-1.3)))<1e-16); + assert ((fabs( dceils(-1.2) - (-1))/fabs(dceils(-1.2)))<1e-16); + assert ((fabs( dceils(-1.1) - (-1))/fabs(dceils(-1.1)))<1e-16); + assert ((fabs( dceils(-1.0) - (-1))/fabs(dceils(-1.0)))<1e-16); + assert (fabs( dceils(-.9))<1e-16); + assert ((fabs( dceils(1.0) - (1))/fabs(dceils(1.0)))<1e-16); + assert ((fabs( dceils(1.1) - (2))/fabs(dceils(1.1)))<1e-16); + assert ((fabs( dceils(1.2) - (2))/fabs(dceils(1.2)))<1e-16); + assert ((fabs( dceils(1.3) - (2))/fabs(dceils(1.3)))<1e-16); + assert ((fabs( dceils(1.4) - (2))/fabs(dceils(1.4)))<1e-16); + assert ((fabs( dceils(1.5) - (2))/fabs(dceils(1.9)))<1e-16); + assert ((fabs( dceils(1.6) - (2))/fabs(dceils(1.9)))<1e-16); + assert ((fabs( dceils(1.7) - (2))/fabs(dceils(1.9)))<1e-16); + assert ((fabs( dceils(1.8) - (2))/fabs(dceils(1.9)))<1e-16); + assert ((fabs( dceils(1.9) - (2))/fabs(dceils(1.9)))<1e-16); + assert ((fabs( dceils(2.0) - (2))/fabs(dceils(2.0)))<1e-16); + +} + +static void zceilsTest(void) { + doubleComplex in, out; + + + /* tests allant de -2 + i a -1 + 2*i, les reels décroissants de 0.1, les imaginaires croissant de 0.1 + + 1 test supplementaire : -0.9 + 0.9*i*/ + + in=DoubleComplex(-2,1); + out = zceils(in); + assert ((fabs( zreals(out) - (-2))/fabs(zreals(out)))<1e-16); + assert ((fabs( zimags(out) - (1))/fabs(zimags(out)))<1e-16); + in=DoubleComplex(-1.9,1.1); + out = zceils(in); + assert ((fabs( zreals(out) - (-1))/fabs(zreals(out)))<1e-16); + assert ((fabs( zimags(out) - (2))/fabs(zimags(out)))<1e-16); + in=DoubleComplex(-1.8,1.2); + out = zceils(in); + assert ((fabs( zreals(out) - (-1))/fabs(zreals(out)))<1e-16); + assert ((fabs( zimags(out) - (2))/fabs(zimags(out)))<1e-16); + in=DoubleComplex(-1.7,1.3); + out = zceils(in); + assert ((fabs( zreals(out) - (-1))/fabs(zreals(out)))<1e-16); + assert ((fabs( zimags(out) - (2))/fabs(zimags(out)))<1e-16); + in=DoubleComplex(-1.6,1.4); + out = zceils(in); + assert ((fabs( zreals(out) - (-1))/fabs(zreals(out)))<1e-16); + assert ((fabs( zimags(out) - (2))/fabs(zimags(out)))<1e-16); + in=DoubleComplex(-1.5,1.5); + out = zceils(in); + assert ((fabs( zreals(out) - (-1))/fabs(zreals(out)))<1e-16); + assert ((fabs( zimags(out) - (2))/fabs(zimags(out)))<1e-16); + in=DoubleComplex(-1.4,1.6); + out = zceils(in); + assert ((fabs( zreals(out) - (-1))/fabs(zreals(out)))<1e-16); + assert ((fabs( zimags(out) - (2))/fabs(zimags(out)))<1e-16); + in=DoubleComplex(-1.3,1.7); + out = zceils(in); + assert ((fabs( zreals(out) - (-1))/fabs(zreals(out)))<1e-16); + assert ((fabs( zimags(out) - (2))/fabs(zimags(out)))<1e-16); + in=DoubleComplex(-1.2,1.8); + out = zceils(in); + assert ((fabs( zreals(out) - (-1))/fabs(zreals(out)))<1e-16); + assert ((fabs( zimags(out) - (2))/fabs(zimags(out)))<1e-16); + in=DoubleComplex(-1.1,1.9); + out = zceils(in); + assert ((fabs( zreals(out) - (-1))/fabs(zreals(out)))<1e-16); + assert ((fabs( zimags(out) - (2))/fabs(zimags(out)))<1e-16); + in=DoubleComplex(-1.0,2.0); + out = zceils(in); + assert ((fabs( zreals(out) - (-1))/fabs(zreals(out)))<1e-16); + assert ((fabs( zimags(out) - (2))/fabs(zimags(out)))<1e-16); + in=DoubleComplex(-.9,.9); + out = zceils(in); + assert (fabs( zreals(out))<1e-16); + assert ((fabs( zimags(out) - (1))/fabs(zimags(out)))<1e-16); + +} + +static void dceilaTest(void) { + int i; + double in[10]={1.2, 2.0,-2.0,-3.1,-4.5,6.1,4.1,4.9,-0.7, 0.5}; + double res[10]={2,2,-2,-3,-4,7,5,5,0,1}; + double out[10]; + + dceila(in,10,out); + + for (i=0;i<10;i++) + if (out[i]!=0) assert(fabs(out[i]-res[i])/fabs(out[i]) <1e-16); + else assert (fabs(out[i]-res[i])==0); +} + +static void zceilaTest(void) { + int i; + double inR[10]={1.2, 2.0,-2.0,-3.1,-4.5,6.1,4.1,4.9,-0.7, 0.5}; + double inI[10]={5.4,1.8,1.4,-4.0,-2.7,-0.3,1.5,1.4,7.3,-4.6}; + double resR[10]={2,2,-2,-3,-4,7,5,5,0,1}; + double resI[10]={6,2,2,-4,-2,0,2,2,8,-4}; + doubleComplex out[10],*in; + + in=DoubleComplexMatrix(inR,inI,10); + zceila(in,10,out); + + for (i=0;i<10;i++){ + if (zreals(out[i])!=0) assert(fabs(zreals(out[i])-resR[i])/fabs(zreals(out[i]))<1e-16); + else assert(fabs(zreals(out[i])-resR[i]) <1e-16); + if (zimags(out[i])!=0) assert(fabs(zimags(out[i])-resI[i])/fabs(zimags(out[i]))<1e-16); + else assert(fabs(zimags(out[i])-resI[i]) <1e-16); + } + +} + + +static int testCeil() { + printf("\n>>>> Double Ceil Tests\n"); + dceilsTest(); + zceilsTest(); + dceilaTest(); + zceilaTest(); + + return 0; +} + +int main() { + assert(testCeil() == 0); + return 0; +} |