diff options
Diffstat (limited to '2.3-1/src/c/implicitList/testDoubleImplicitList.c')
-rw-r--r-- | 2.3-1/src/c/implicitList/testDoubleImplicitList.c | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/2.3-1/src/c/implicitList/testDoubleImplicitList.c b/2.3-1/src/c/implicitList/testDoubleImplicitList.c new file mode 100644 index 00000000..dfcb9fb3 --- /dev/null +++ b/2.3-1/src/c/implicitList/testDoubleImplicitList.c @@ -0,0 +1,142 @@ +/* + * 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 <stdio.h> +#include <assert.h> +#include "implicitList.h" + +static void testdimplicitLists(void) +{ + int i = 0; + double one_to_five[5] = {0}; + double five_to_one[5] = {0}; + double five_to_one_by_minus_ten[5] = {0}; + double result[1001] = {0}; + + /* + ** 1:1:5 + */ + dimplicitLists(1.0, 1.0, 5.0, one_to_five); + for (i = 0 ; i < 5 ; ++i) + { + printf("one_to_five[%d] = %e\n", i, one_to_five[i]); + assert(one_to_five[i] == (i + 1) * 1.0); + } + + /* + ** 5:1:1 + */ + dimplicitLists(5.0, 1.0, 1.0, five_to_one); + for (i = 0 ; i < 5 ; ++i) + { + printf("five_to_one[%d] = %e\n", i, five_to_one[i]); + assert(five_to_one[i] == 0.0); + } + + /* + ** 5:-10:1 + */ + dimplicitLists(5.0, -10.0, 1.0, five_to_one_by_minus_ten); + for (i = 0 ; i < 5 ; ++i) + { + printf("five_to_one_by_minus_ten[%d] = %e\n", i, five_to_one_by_minus_ten[i]); + } + + /* + ** 5:-10:1 + */ + dimplicitLists(5.0, -10.0, 1.0, five_to_one_by_minus_ten); + for (i = 0 ; i < 5 ; ++i) + { + printf("five_to_one_by_minus_ten[%d] = %e\n", i, five_to_one_by_minus_ten[i]); + } + + /* + ** 0:1e-03:1 + */ + dimplicitLists(0.0, 1e-04, 0.1, result); + for (i = 0 ; i < 1001 ; ++i) + { + printf("result[%d] = %e\n", i, result[i]); + } +} + +static void testzimplicitLists(void) +{ + int i = 0; + double one_to_five[5] = {0}; + double five_to_one[5] = {0}; + double five_to_one_by_minus_ten[5] = {0}; + double result[1001] = {0}; + + /* + ** 1:1:5 + */ + zimplicitLists(DoubleComplex(1.0, 2.0), + DoubleComplex(1.0, -3.0), + DoubleComplex(5.0, 10.0), one_to_five); + for (i = 0 ; i < 5 ; ++i) + { + printf("one_to_five[%d] = %e\n", i, one_to_five[i]); + } + + /* + ** 5:1:1 + */ + zimplicitLists(DoubleComplex(5.0, 2.0), + DoubleComplex(1.0, -3.0), + DoubleComplex(1.0, 10.0), five_to_one); + for (i = 0 ; i < 5 ; ++i) + { + printf("five_to_one[%d] = %e\n", i, five_to_one[i]); + } + + /* + ** 5:-10:1 + */ + zimplicitLists(DoubleComplex(5.0, 2.0), + DoubleComplex(-10.0, -3.0), + DoubleComplex(1.0, 10.0), five_to_one_by_minus_ten); + for (i = 0 ; i < 5 ; ++i) + { + printf("five_to_one_by_minus_ten[%d] = %e\n", i, five_to_one_by_minus_ten[i]); + } + + /* + ** 5:-10:1 + */ + zimplicitLists(DoubleComplex(5.0, 2.0), + DoubleComplex(-10.0, -3.0), + DoubleComplex(1.0, 10.0), five_to_one_by_minus_ten); + for (i = 0 ; i < 5 ; ++i) + { + printf("five_to_one_by_minus_ten[%d] = %e\n", i, five_to_one_by_minus_ten[i]); + } + + /* + ** 0:1e-03:1 + */ + zimplicitLists(DoubleComplex(0.0, 2.0), + DoubleComplex(1e-04, -3.0), + DoubleComplex(0.1, 10.0), result); + for (i = 0 ; i < 1001 ; ++i) + { + printf("result[%d] = %e\n", i, result[i]); + } +} + +int main(void) +{ + testdimplicitLists(); + testzimplicitLists(); + return 0; +} |