summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortorset2008-11-14 14:48:17 +0000
committertorset2008-11-14 14:48:17 +0000
commit05cd5ae384d6d8b34d263061fe87749c919dcbb5 (patch)
treee41dc1b7a9c2fddd6870cd891cd085dd284d153c /src
parent30bc67048ea86d33cc07606eed4c396daf9abd41 (diff)
downloadscilab2c-05cd5ae384d6d8b34d263061fe87749c919dcbb5.tar.gz
scilab2c-05cd5ae384d6d8b34d263061fe87749c919dcbb5.tar.bz2
scilab2c-05cd5ae384d6d8b34d263061fe87749c919dcbb5.zip
Change tests file
Diffstat (limited to 'src')
-rw-r--r--src/elementaryFunctions/acos/Makefile.am1
-rw-r--r--src/elementaryFunctions/acos/Makefile.in1
-rw-r--r--src/elementaryFunctions/acos/testFloatAcos.c179
3 files changed, 127 insertions, 54 deletions
diff --git a/src/elementaryFunctions/acos/Makefile.am b/src/elementaryFunctions/acos/Makefile.am
index a09873e5..6d62772d 100644
--- a/src/elementaryFunctions/acos/Makefile.am
+++ b/src/elementaryFunctions/acos/Makefile.am
@@ -38,6 +38,7 @@ HEAD = ../includes/acos.h \
####
check_INCLUDES = -I $(top_builddir)/elementaryFunctions/includes \
+ -I $(top_builddir)/includes \
-I $(top_builddir)/type
check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
diff --git a/src/elementaryFunctions/acos/Makefile.in b/src/elementaryFunctions/acos/Makefile.in
index 7ace41fb..69b0cfce 100644
--- a/src/elementaryFunctions/acos/Makefile.in
+++ b/src/elementaryFunctions/acos/Makefile.in
@@ -241,6 +241,7 @@ HEAD = ../includes/acos.h \
# Checking Part
####
check_INCLUDES = -I $(top_builddir)/elementaryFunctions/includes \
+ -I $(top_builddir)/includes \
-I $(top_builddir)/type
check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
diff --git a/src/elementaryFunctions/acos/testFloatAcos.c b/src/elementaryFunctions/acos/testFloatAcos.c
index b96ec925..1a78e2ca 100644
--- a/src/elementaryFunctions/acos/testFloatAcos.c
+++ b/src/elementaryFunctions/acos/testFloatAcos.c
@@ -11,73 +11,142 @@
*/
#include "testAcos.h"
+#include <math.h>
+#include <stdio.h>
+#include <assert.h>
void sacossTest(void) {
- printf(">> Float scalar\n");
- printf("sacoss(0) = %f\n", sacoss((float) 0));
- printf("sacoss(PI) = %f\n", sacoss(FPI));
- printf("sacoss(PI/2) = %f\n", sacoss(FPI/2));
- printf("sacoss(PI/3) = %f\n", sacoss(FPI/3));
- printf("sacoss(PI/4) = %f\n", sacoss(FPI/4));
- printf("sacoss(PI/6) = %f\n", sacoss(FPI/6));
- printf("sacoss(-PI) = %f\n", sacoss(-FPI));
- printf("sacoss(-PI/2) = %f\n", sacoss(-FPI/2));
- printf("sacoss(-PI/3) = %f\n", sacoss(-FPI/3));
- printf("sacoss(-PI/4) = %f\n", sacoss(-FPI/4));
- printf("sacoss(-PI/6) = %f\n", sacoss(-FPI/6));
-}
+ int i=0;
-void cacossTest(void) {
- floatComplex pi_pi = FloatComplex(FPI, FPI);
- floatComplex pi_2_pi_2 = FloatComplex(FPI/2, FPI/2);
- floatComplex pi_2_pi_3 = FloatComplex(FPI/2, FPI/3);
- floatComplex pi_2_pi_4 = FloatComplex(FPI/2, FPI/4);
- floatComplex out;
-
- printf(">> Float Complex scalar\n");
- out = cacoss(pi_pi);
- printf("cacoss(PI + I*PI) = %f + I * %f\n", creals(out), cimags(out));
- out = cacoss(pi_2_pi_2);
- printf("cacoss(PI/2 + I*PI/2) = %f + I * %f\n", creals(out), cimags(out));
- out = cacoss(pi_2_pi_3);
- printf("cacoss(PI/2 + I*PI/3) = %f + I * %f\n", creals(out), cimags(out));
- out = cacoss(pi_2_pi_4);
- printf("cacoss(PI/2 + I*PI/4) = %f + I * %f\n", creals(out), cimags(out));
-}
+ float Test1[100] = {0.3616361f,0.2922267f,0.5664249f,0.4826472f,0.3321719f,0.5935095f,0.5015342f,0.4368588f,
+0.2693125f,0.6325745f,0.4051954f,0.9184708f,0.0437334f,0.4818509f,0.2639556f,0.4148104f,
+0.2806498f,0.1280058f,0.7783129f,0.2119030f,0.1121355f,0.6856896f,0.1531217f,0.6970851f,
+0.8415518f,0.4062025f,0.4094825f,0.8784126f,0.1138360f,0.1998338f,0.5618661f,0.5896177f,
+0.6853980f,0.8906225f,0.5042213f,0.3493615f,0.3873779f,0.9222899f,0.9488184f,0.3435337f,
+0.3760119f,0.7340941f,0.2615761f,0.4993494f,0.2638578f,0.5253563f,0.5376230f,0.1199926f,
+0.2256303f,0.6274093f,0.7608433f,0.0485566f,0.6723950f,0.2017173f,0.3911574f,0.8300317f,
+0.5878720f,0.4829179f,0.2232865f,0.8400886f,0.1205996f,0.2855364f,0.8607515f,0.8494102f,
+0.5257061f,0.9931210f,0.6488563f,0.9923191f,0.0500420f,0.7485507f,0.4104059f,0.6084526f,
+0.8544211f,0.0642647f,0.8279083f,0.9262344f,0.5667211f,0.5711639f,0.8160110f,0.0568928f,
+0.5595937f,0.1249340f,0.7279222f,0.2677766f,0.5465335f,0.9885408f,0.7395657f,0.0037173f,
+0.5900573f,0.3096467f,0.2552206f,0.6251879f,0.1157417f,0.6117004f,0.6783956f,0.3320095f,
+0.0258710f,0.5174468f,0.3916873f,0.2413538f};
+
+ float Result1[100] = {1.2007742f,1.274242f,0.9686351f,1.0671216f,1.232191f,0.9353839f,1.0454251f,1.1186927f,1.2981173f,
+0.8859235f,1.1536038f,0.4066000f,1.5270489f,1.0680306f,1.3036754f,1.1430619f,1.2863253f,
+1.4424383f,0.6788221f,1.3572745f,1.4584245f,0.8152457f,1.4170699f,0.7994724f,0.5706467f,
+1.1525019f,1.1489095f,0.4982660f,1.4567131f,1.3696081f,0.9741564f,0.9402109f,0.8156462f,
+0.4720841f,1.0423163f,1.2139067f,1.1730106f,0.3968325f,0.3213230f,1.2201193f,1.1853078f,
+0.7464647f,1.3061415f,1.0479487f,1.3037767f,1.0176625f,1.0031809f,1.4505139f,1.3432063f,
+0.8925746f,0.7061847f,1.5222206f,0.8333567f,1.3676854f,1.1689075f,0.5916319f,0.9423705f,
+1.0668124f,1.3456115f,0.5733499f,1.4499025f,1.2812302f,0.5340522f,0.5559297f,1.0172514f,
+0.1173619f,0.8647159f,0.1240222f,1.5207334f,0.7249227f,1.1478972f,0.9166870f,0.5463607f,
+1.5064873f,0.5954284f,0.3864991f,0.9682756f,0.9628732f,0.6163202f,1.5138728f,0.9769009f,1.445535f,
+0.7555096f,1.2997117f,0.9925771f,0.1515334f,0.7383715f,1.567079f,0.9396665f,1.2559748f,1.3127205f,
+0.8954240f,1.4547946f,0.9125881f,0.8252196f,1.2323632f,1.5449224f,1.0269318f,1.1683316f,1.3270356f};
-void sacosaTest(void) {
- float out[5];
- float in[5] = {FPI, FPI/2, FPI/3, FPI/4, FPI/6};
- int i = 0;
+ float Test2[100]={0.9321636f,0.1232699f,0.2865552f,0.0124800f,0.5769405f,0.3938696f,0.6888584f,0.9702322f,
+0.8515764f,0.3393304f,0.8772532f,0.1131402f,0.5264128f,0.5297394f,0.9291756f,0.9765430f,
+0.6225464f,0.9822583f,0.7542989f,0.5454788f,0.7286016f,0.0252597f,0.4025168f,0.0983132f,
+0.2608625f,0.3636342f,0.1746618f,0.9234139f,0.7605141f,0.5640204f,0.3797065f,0.8776226f,
+0.8217426f,0.6787058f,0.0822010f,0.2552731f,0.7444457f,0.2269504f,0.6836931f,0.9365073f,
+0.5053017f,0.2524815f,0.6818840f,0.2836368f,0.1409486f,0.6759110f,0.4512678f,0.7543029f,
+0.1370214f,0.6608241f,0.3890054f,0.7001821f,0.9168006f,0.21229f,0.2697833f,0.3199889f,0.0232180f,
+0.7265447f,0.1534059f,0.2355264f,0.0879738f,0.7105954f,0.6888728f,0.6595319f,0.1815116f,
+0.3904966f,0.1586905f,0.6240715f,0.6376036f,0.4270489f,0.1071682f,0.2382297f,0.9462947f,
+0.4576685f,0.8964479f,0.4438471f,0.8089568f,0.6831799f,0.0340193f,0.2380546f,0.9492012f,
+0.2182789f,0.6154688f,0.8313543f,0.7734013f,0.4244191f,0.7262126f,0.7099977f,0.4745746f,
+0.9438692f,0.1459649f,0.0714101f,0.6733739f,0.6536925f,0.1996896f,0.6014125f,0.1899375f,
+0.2583981f,0.0987874f,0.0619903f};
- printf(">> Float array\n");
- sacosa(in, 5, out);
- for (i = 0 ; i < 5 ; ++i)
- printf("sacosa(array) = %f\n", out[i]);
+ float Result2[100]={0.3704526f,1.4472121f,1.280167f,1.558316f,0.9558184f,1.1659586f,0.8108833f,0.2446086f,0.5518112f,
+1.2245913f,0.5006866f,1.4574133f,1.0164204f,1.012503f,0.3786200f,0.2170219f,0.8988040f,0.1886498f,
+0.7162108f,0.9938360f,0.7545182f,1.5455339f,1.1565317f,1.4723241f,1.3068808f,1.1986301f,
+1.3952341f,0.3939139f,0.7066918f,0.9715498f,1.1813173f,0.4999164f,0.6063341f,0.8247973f,
+1.4885025f,1.3126661f,0.7310921f,1.3418511f,0.817985f,0.3582631f,1.0410647f,1.3155524f,0.8204611f,
+1.2832118f,1.4293768f,0.8285963f,1.1026109f,0.7162046f,1.4333425f,0.8488801f,1.1712446f,
+0.7951439f,0.4108027f,1.3568786f,1.2976283f,1.2450785f,1.5475762f,0.7575165f,1.4167823f,
+1.3330362f,1.4827086f,0.7804523f,0.8108635f,0.8506004f,1.3882729f,1.1696254f,1.4114321f,
+0.8968537f,0.8794129f,1.1295698f,1.463422f,1.3302537f,0.3292202f,1.0954251f,0.4591086f,1.1109091f,
+0.6284209f,0.8186880f,1.5367704f,1.330434f,0.3201089f,1.3507459f,0.9078157f,0.5892561f,0.6866071f,
+1.1324761f,0.7579997f,0.7813013f,1.0763156f,0.3366420f,1.4243081f,1.4993254f,0.8320334f,
+0.8583428f,1.3697552f,0.9255284f,1.3796979f,1.3094327f,1.4718476f,1.5087663f};
+
+ for(i=0;i<100;i++){
+ assert ( ( fabs(sacoss(Test1[i]) - Result1[i]) / fabs(sacoss(Test1[i])) ) < 1e-5);
+ assert ( ( fabs(sacoss(Test2[i]) - Result2[i]) / fabs(sacoss(Test2[i])) ) < 1e-6);
+
+ }
}
-void cacosaTest(void) {
- floatComplex in[4];
- floatComplex out[4];
- int i = 0;
- in[0] = FloatComplex(FPI, FPI);
- in[1] = FloatComplex(FPI/2, FPI/2);
- in[2] = FloatComplex(FPI/2, FPI/3);
- in[3] = FloatComplex(FPI/2, FPI/4);
+void dacossTest(void) {
+ int i=0;
- cacosa(in, 4, out);
- printf(">> Float Complex Array\n");
- for (i = 0 ; i < 4 ; ++i)
- printf("cacosa(array) = %e + I * %e\n", creals(out[i]), cimags(out[i]));
-}
+ double Test1[100] = {0.3616361 ,0.2922267 ,0.5664249 ,0.4826472 ,0.3321719 ,0.5935095 ,0.5015342 ,0.4368588 ,
+0.2693125 ,0.6325745 ,0.4051954 ,0.9184708 ,0.0437334 ,0.4818509 ,0.2639556 ,0.4148104 ,
+0.2806498 ,0.1280058 ,0.7783129 ,0.2119030 ,0.1121355 ,0.6856896 ,0.1531217 ,0.6970851 ,
+0.8415518 ,0.4062025 ,0.4094825 ,0.8784126 ,0.1138360 ,0.1998338 ,0.5618661 ,0.5896177 ,
+0.6853980 ,0.8906225 ,0.5042213 ,0.3493615 ,0.3873779 ,0.9222899 ,0.9488184 ,0.3435337 ,
+0.3760119 ,0.7340941 ,0.2615761 ,0.4993494 ,0.2638578 ,0.5253563 ,0.5376230 ,0.1199926 ,
+0.2256303 ,0.6274093 ,0.7608433 ,0.0485566 ,0.6723950 ,0.2017173 ,0.3911574 ,0.8300317 ,
+0.5878720 ,0.4829179 ,0.2232865 ,0.8400886 ,0.1205996 ,0.2855364 ,0.8607515 ,0.8494102 ,
+0.5257061 ,0.9931210 ,0.6488563 ,0.9923191 ,0.0500420 ,0.7485507 ,0.4104059 ,0.6084526 ,
+0.8544211 ,0.0642647 ,0.8279083 ,0.9262344 ,0.5667211 ,0.5711639 ,0.8160110 ,0.0568928 ,
+0.5595937 ,0.1249340 ,0.7279222 ,0.2677766 ,0.5465335 ,0.9885408 ,0.7395657 ,0.0037173 ,
+0.5900573 ,0.3096467 ,0.2552206 ,0.6251879 ,0.1157417 ,0.6117004 ,0.6783956 ,0.3320095 ,
+0.0258710 ,0.5174468 ,0.3916873 ,0.2413538 };
+
+ double Result1[100] = {1.2007742 ,1.274242 ,0.9686351 ,1.0671216 ,1.232191 ,0.9353839 ,1.0454251 ,1.1186927 ,1.2981173 ,
+0.8859235 ,1.1536038 ,0.4066000 ,1.5270489 ,1.0680306 ,1.3036754 ,1.1430619 ,1.2863253 ,
+1.4424383 ,0.6788221 ,1.3572745 ,1.4584245 ,0.8152457 ,1.4170699 ,0.7994724 ,0.5706467 ,
+1.1525019 ,1.1489095 ,0.4982660 ,1.4567131 ,1.3696081 ,0.9741564 ,0.9402109 ,0.8156462 ,
+0.4720841 ,1.0423163 ,1.2139067 ,1.1730106 ,0.3968325 ,0.3213230 ,1.2201193 ,1.1853078 ,
+0.7464647 ,1.3061415 ,1.0479487 ,1.3037767 ,1.0176625 ,1.0031809 ,1.4505139 ,1.3432063 ,
+0.8925746 ,0.7061847 ,1.5222206 ,0.8333567 ,1.3676854 ,1.1689075 ,0.5916319 ,0.9423705 ,
+1.0668124 ,1.3456115 ,0.5733499 ,1.4499025 ,1.2812302 ,0.5340522 ,0.5559297 ,1.0172514 ,
+0.1173619 ,0.8647159 ,0.1240222 ,1.5207334 ,0.7249227 ,1.1478972 ,0.9166870 ,0.5463607 ,
+1.5064873 ,0.5954284 ,0.3864991 ,0.9682756 ,0.9628732 ,0.6163202 ,1.5138728 ,0.9769009 ,1.445535 ,
+0.7555096 ,1.2997117 ,0.9925771 ,0.1515334 ,0.7383715 ,1.567079 ,0.9396665 ,1.2559748 ,1.3127205 ,
+0.8954240 ,1.4547946 ,0.9125881 ,0.8252196 ,1.2323632 ,1.5449224 ,1.0269318 ,1.1683316 ,1.3270356 };
+ double Test2[100]={0.9321636 ,0.1232699 ,0.2865552 ,0.0124800 ,0.5769405 ,0.3938696 ,0.6888584 ,0.9702322 ,
+0.8515764 ,0.3393304 ,0.8772532 ,0.1131402 ,0.5264128 ,0.5297394 ,0.9291756 ,0.9765430 ,
+0.6225464 ,0.9822583 ,0.7542989 ,0.5454788 ,0.7286016 ,0.0252597 ,0.4025168 ,0.0983132 ,
+0.2608625 ,0.3636342 ,0.1746618 ,0.9234139 ,0.7605141 ,0.5640204 ,0.3797065 ,0.8776226 ,
+0.8217426 ,0.6787058 ,0.0822010 ,0.2552731 ,0.7444457 ,0.2269504 ,0.6836931 ,0.9365073 ,
+0.5053017 ,0.2524815 ,0.6818840 ,0.2836368 ,0.1409486 ,0.6759110 ,0.4512678 ,0.7543029 ,
+0.1370214 ,0.6608241 ,0.3890054 ,0.7001821 ,0.9168006 ,0.21229 ,0.2697833 ,0.3199889 ,0.0232180 ,
+0.7265447 ,0.1534059 ,0.2355264 ,0.0879738 ,0.7105954 ,0.6888728 ,0.6595319 ,0.1815116 ,
+0.3904966 ,0.1586905 ,0.6240715 ,0.6376036 ,0.4270489 ,0.1071682 ,0.2382297 ,0.9462947 ,
+0.4576685 ,0.8964479 ,0.4438471 ,0.8089568 ,0.6831799 ,0.0340193 ,0.2380546 ,0.9492012 ,
+0.2182789 ,0.6154688 ,0.8313543 ,0.7734013 ,0.4244191 ,0.7262126 ,0.7099977 ,0.4745746 ,
+0.9438692 ,0.1459649 ,0.0714101 ,0.6733739 ,0.6536925 ,0.1996896 ,0.6014125 ,0.1899375 ,
+0.2583981 ,0.0987874 ,0.0619903 };
+
+ double Result2[100]={0.3704526 ,1.4472121 ,1.280167 ,1.558316 ,0.9558184 ,1.1659586 ,0.8108833 ,0.2446086 ,0.5518112 ,
+1.2245913 ,0.5006866 ,1.4574133 ,1.0164204 ,1.012503 ,0.3786200 ,0.2170219 ,0.8988040 ,0.1886498 ,
+0.7162108 ,0.9938360 ,0.7545182 ,1.5455339 ,1.1565317 ,1.4723241 ,1.3068808 ,1.1986301 ,
+1.3952341 ,0.3939139 ,0.7066918 ,0.9715498 ,1.1813173 ,0.4999164 ,0.6063341 ,0.8247973 ,
+1.4885025 ,1.3126661 ,0.7310921 ,1.3418511 ,0.817985 ,0.3582631 ,1.0410647 ,1.3155524 ,0.8204611 ,
+1.2832118 ,1.4293768 ,0.8285963 ,1.1026109 ,0.7162046 ,1.4333425 ,0.8488801 ,1.1712446 ,
+0.7951439 ,0.4108027 ,1.3568786 ,1.2976283 ,1.2450785 ,1.5475762 ,0.7575165 ,1.4167823 ,
+1.3330362 ,1.4827086 ,0.7804523 ,0.8108635 ,0.8506004 ,1.3882729 ,1.1696254 ,1.4114321 ,
+0.8968537 ,0.8794129 ,1.1295698 ,1.463422 ,1.3302537 ,0.3292202 ,1.0954251 ,0.4591086 ,1.1109091 ,
+0.6284209 ,0.8186880 ,1.5367704 ,1.330434 ,0.3201089 ,1.3507459 ,0.9078157 ,0.5892561 ,0.6866071 ,
+1.1324761 ,0.7579997 ,0.7813013 ,1.0763156 ,0.3366420 ,1.4243081 ,1.4993254 ,0.8320334 ,
+0.8583428 ,1.3697552 ,0.9255284 ,1.3796979 ,1.3094327 ,1.4718476 ,1.5087663 };
+
+ for(i=0;i<100;i++){
+ assert ( ( fabs(dacoss(Test1[i]) - Result1[i]) / fabs(dacoss(Test1[i])) ) < 1e-5);
+ assert ( ( fabs(dacoss(Test2[i]) - Result2[i]) / fabs(dacoss(Test2[i])) ) < 1e-5);
+
+ }
+}
int testAcos(void) {
printf("\n>>>> Float ArcCosine Tests\n");
sacossTest();
- cacossTest();
- sacosaTest();
- cacosaTest();
+ dacossTest();
return 0;
}
@@ -85,3 +154,5 @@ int main(void) {
assert(testAcos() == 0);
return 0;
}
+
+