Changeset 39457 for trunk/Ohana/src/opihi/lib.data/hermitian.c
- Timestamp:
- Mar 11, 2016, 10:23:42 PM (10 years ago)
- Location:
- trunk/Ohana
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
src/opihi/lib.data/hermitian.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana
-
Property svn:mergeinfo
set to
/branches/eam_branches/ohana.20160226 merged eligible
-
Property svn:mergeinfo
set to
-
trunk/Ohana/src/opihi/lib.data/hermitian.c
r26891 r39457 3 3 double hermitian_polynomial (double x, int order) { 4 4 double value; 5 switch (order) {6 case 0:7 value = hermitian_00(x);8 break;9 case 1:10 value = hermitian_01(x);11 break;12 case 2:13 value = hermitian_02(x);14 break;15 case 3:16 value = hermitian_03(x);17 break;18 case 4:19 value = hermitian_04(x);20 break;21 case 5:22 value = hermitian_05(x);23 break;24 case 6:25 value = hermitian_06(x);26 break;27 case 7:28 value = hermitian_07(x);29 break;30 case 8:31 value = hermitian_08(x);32 break;33 case 9:34 value = hermitian_09(x);35 break;36 case 10:37 value = hermitian_10(x);38 break;39 default:40 value = NAN;41 break;42 }43 return value;5 switch (order) { 6 case 0: 7 value = hermitian_00(x); 8 break; 9 case 1: 10 value = hermitian_01(x); 11 break; 12 case 2: 13 value = hermitian_02(x); 14 break; 15 case 3: 16 value = hermitian_03(x); 17 break; 18 case 4: 19 value = hermitian_04(x); 20 break; 21 case 5: 22 value = hermitian_05(x); 23 break; 24 case 6: 25 value = hermitian_06(x); 26 break; 27 case 7: 28 value = hermitian_07(x); 29 break; 30 case 8: 31 value = hermitian_08(x); 32 break; 33 case 9: 34 value = hermitian_09(x); 35 break; 36 case 10: 37 value = hermitian_10(x); 38 break; 39 default: 40 value = NAN; 41 break; 42 } 43 return value; 44 44 } 45 45 46 46 double hermitian_00(double x) { 47 double value; 48 // H_0(x) = 1 49 value = 1; 50 return value; 47 OHANA_UNUSED_PARAM(x); 48 49 double value; 50 // H_0(x) = 1 51 value = 1; 52 return value; 51 53 } 52 54 double hermitian_01(double x) { 53 double value;54 // H_1(x) = x55 value = x;56 return value;55 double value; 56 // H_1(x) = x 57 value = x; 58 return value; 57 59 } 58 60 double hermitian_02(double x) { 59 double value, x2;60 // H_2(x) = x^2-161 x2 = x*x;62 value = x2 - 1.0;63 return value;61 double value, x2; 62 // H_2(x) = x^2-1 63 x2 = x*x; 64 value = x2 - 1.0; 65 return value; 64 66 } 65 67 double hermitian_03(double x) { 66 double value, x2;67 // H_3(x) = x^3-3x68 x2 = x*x;69 value = x*(x2 - 3.0);70 return value;68 double value, x2; 69 // H_3(x) = x^3-3x 70 x2 = x*x; 71 value = x*(x2 - 3.0); 72 return value; 71 73 } 72 74 double hermitian_04(double x) { 73 double value, x2;74 // H_4(x) = x^4-6x^2+375 x2 = x*x;76 value = (x2 - 6.0)*x2 + 3.0;77 return value;75 double value, x2; 76 // H_4(x) = x^4-6x^2+3 77 x2 = x*x; 78 value = (x2 - 6.0)*x2 + 3.0; 79 return value; 78 80 } 79 81 double hermitian_05(double x) { 80 double value, x2;81 // H_5(x) = x^5-10x^3+15x82 x2 = x*x;83 value = ((x2 - 10.0)*x2 + 15.0)*x;84 return value;82 double value, x2; 83 // H_5(x) = x^5-10x^3+15x 84 x2 = x*x; 85 value = ((x2 - 10.0)*x2 + 15.0)*x; 86 return value; 85 87 } 86 88 double hermitian_06(double x) { 87 double value, x2;88 // H_6(x) = x^6-15x^4+45x^2-1589 x2 = x*x;90 value = (((x2 - 15.0)*x2 + 45.0)*x2) - 15.0;91 return value;89 double value, x2; 90 // H_6(x) = x^6-15x^4+45x^2-15 91 x2 = x*x; 92 value = (((x2 - 15.0)*x2 + 45.0)*x2) - 15.0; 93 return value; 92 94 } 93 95 double hermitian_07(double x) { 94 double value, x2;95 // H_7(x) = x^7-21x^5+105x^3-105x96 x2 = x*x;97 value = (((x2 - 21.0)*x2+105.0)*x2 - 105.0)*x;98 return value;96 double value, x2; 97 // H_7(x) = x^7-21x^5+105x^3-105x 98 x2 = x*x; 99 value = (((x2 - 21.0)*x2+105.0)*x2 - 105.0)*x; 100 return value; 99 101 } 100 102 double hermitian_08(double x) { 101 double value, x2;102 // H_8(x) = x^8-28x^6+210x^4-420x^2+105103 x2 = x*x;104 value = ((((x2 - 28.0)*x2 + 210.0)*x2 - 420.0)*x2 + 105.0);105 return value;103 double value, x2; 104 // H_8(x) = x^8-28x^6+210x^4-420x^2+105 105 x2 = x*x; 106 value = ((((x2 - 28.0)*x2 + 210.0)*x2 - 420.0)*x2 + 105.0); 107 return value; 106 108 } 107 109 double hermitian_09(double x) { 108 double value, x2;109 // H_9(x) = x^9-36x^7+378x^5-1260x^3+945x110 x2 = x*x;111 value = ((((x2 - 36.0)*x2 + 378.0)*x2 - 1260.0)*x2 + 945.0)*x;112 return value;110 double value, x2; 111 // H_9(x) = x^9-36x^7+378x^5-1260x^3+945x 112 x2 = x*x; 113 value = ((((x2 - 36.0)*x2 + 378.0)*x2 - 1260.0)*x2 + 945.0)*x; 114 return value; 113 115 } 114 116 double hermitian_10(double x) { 115 double value, x2;116 // H_{10}(x) = x^{10}-45x^8+630x^6-3150x^4+4725x^2-945117 x2 = x*x;118 value = (((((x2 - 45.0)*x2 + 630.0)*x2 - 3150.0)*x2 + 4725.0)*x2 - 945.0);119 return value;117 double value, x2; 118 // H_{10}(x) = x^{10}-45x^8+630x^6-3150x^4+4725x^2-945 119 x2 = x*x; 120 value = (((((x2 - 45.0)*x2 + 630.0)*x2 - 3150.0)*x2 + 4725.0)*x2 - 945.0); 121 return value; 120 122 }
Note:
See TracChangeset
for help on using the changeset viewer.
