Changeset 2803 for trunk/test/averager4.cc
- Timestamp:
- Jul 30, 2012, 7:18:25 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/averager4.cc
r2799 r2803 56 56 utility::Vector vec(10); 57 57 for (size_t i=0; i<vec.size(); ++i) { 58 vec(i) = i ;58 vec(i) = i*i; 59 59 a.add(vec(i), 1); 60 60 } … … 65 65 sum += std::pow(vec(i)-m, 3); 66 66 sum = sum/vec.size(); 67 if (!suite.equal(a.central_moment3(), sum )) {67 if (!suite.equal(a.central_moment3(), sum, 2)) { 68 68 suite.add(false); 69 69 suite.err() << "central moment3 failed: expected " << sum << "\n"; 70 70 } 71 return suite.return_value();71 // return suite.return_value(); 72 72 73 73 sum = 0; … … 80 80 81 81 suite.out() << "comparing against GSL implementations\n"; 82 double correct_factor = std::sqrt(static_cast<double>(vec.size())/ 83 (vec.size()-1.0)); 82 double correct_factor = std::sqrt((vec.size()-1.0)/vec.size()); 84 83 if (!suite.add(suite.equal(a.skewness(), 85 s td::pow(correct_factor,3)*skewness(vec),84 skewness(vec)/std::pow(correct_factor,3), 86 85 10))) { 87 86 suite.err() << "skewness failed\n"; 87 suite.err() << "Averager4: " << a.skewness() << "\n"; 88 suite.err() << "GSL: " << skewness(vec) << "\n"; 89 suite.err() << "factor: " << std::pow(correct_factor,3) << "\n"; 88 90 } 89 91 90 92 if (!suite.add(suite.equal(a.kurtosis(), 91 std::pow(correct_factor,4)*kurtosis(vec),93 (kurtosis(vec)+3)/std::pow(correct_factor,4)-3, 92 94 10))) { 93 95 suite.err() << "kurtosis failed\n"; 96 suite.err() << "Averager4: " << a.kurtosis() << "\n"; 97 suite.err() << "GSL: " << kurtosis(vec) << "\n"; 98 suite.err() << "factor: " << std::pow(correct_factor,4) << "\n"; 99 100 double var = a.averager().variance_unbiased(); 101 suite.err() << a.central_moment4()/(var*var) - 3 << "\n"; 94 102 } 95 103 … … 103 111 a2.add(6,1); 104 112 105 // cm3 = ( 4*1 + 4^3)/5 = 68/5 = 13.6106 if (!suite.add(suite.equal(a2.central_moment3(), 1 3.6)))113 // cm3 = (-4*1 + 4^3)/5 = 60/5 = 12 114 if (!suite.add(suite.equal(a2.central_moment3(), 12))) 107 115 suite.err() << "central moment3 failed\n"; 108 116 … … 114 122 suite.err() << "variance failed\n"; 115 123 if (!suite.add(suite.equal(a1.central_moment3(), 116 (4*std::pow( 2.5,3)+4+std::pow(6.0,3))/10)))124 (4*std::pow(-2.5,3)+4+std::pow(6.0,3))/10))) 117 125 suite.err() << "central_moment3 failed\n"; 118 126 if (!suite.add(suite.equal(a1.central_moment4(),
Note: See TracChangeset
for help on using the changeset viewer.