26 #include <boost/timer.hpp> 27 #include <boost/cstdint.hpp> 40 double ref [] = {2., 2.1 , 5. , 5.1 , 7.1 , 7.15 , 10. , 10.1};
41 std::vector<double>
breaks;
42 breaks.assign(ref , ref +
sizeof(ref)/
sizeof(
double));
53 double ref [] = {2., 2.1 , 5. , 5.1 , 7.1 , 7.15 , 10. , 10.1};
54 std::vector<double>
breaks;
55 breaks.assign(ref , ref +
sizeof(ref)/
sizeof(
double));
58 std::vector<int32_t> idx;
59 std::vector<double> dist;
60 bin(2. -1e-8 , 2. + 2e-4, idx, dist ) ;
66 bin(2. -1e-8 , 2.1 + 2e-4, idx, dist ) ;
74 bin(2. -1e-8 , 5.1 + 2e-4, idx, dist ) ;
75 double resd [] = {1e-8, 0.1, 2.9, 0.1, 2e-4};
76 int idxr[] = {-1,0,1,2,3};
77 bool x = std::equal(idxr , idxr +
sizeof(idxr)/
sizeof(
int), idx.begin());
82 bin(2. - 2e-4 , 2. - 1e-4, idx, dist ) ;
85 bin(2.1 - 2e-4 , 2.1 - 1e-4, idx, dist ) ;
88 bin(2.1 - 1e-4 , 7.1 + 2e-4, idx, dist ) ;
92 bin(10.1 - 1e-4 , 10.1 + 2e-4, idx, dist ) ;
94 bin(5.1 - 1e-4 , 10.1 + 2e-4, idx, dist ) ;
96 bin(10.1 + 1e-4 , 10.1 + 2e-4, idx, dist ) ;
104 std::vector<double>
breaks;
105 std::vector<uint32_t> indicator;
107 double ref [] = {2., 2.1 , 5. , 5.1 , 7.1 , 7.15 , 10. , 10.1};
109 breaks.assign(ref , ref +
sizeof(ref)/
sizeof(
double));
114 uint32_t indic[] = { 1 , 0 , 1 , 0 , 1 , 0 , 1};
118 ,indic +
sizeof(indic)/
sizeof(uint32_t)
122 std::vector<double> sample;
123 std::pair< size_t , bool > rb;
124 rb = b1d.operator()( 1. );
125 rb = b1d.operator()( 2. );
126 rb = b1d.operator()( 2.05 );
127 rb = b1d.operator()( 2.1 );
128 rb = b1d.operator()( 4. );
129 rb = b1d.operator()( 5. );
130 rb = b1d.operator()( 5.01 );
131 rb = b1d.operator()( 5.1 );
132 rb = b1d.operator()(6.);
133 rb = b1d.operator()(7.);
134 rb = b1d.operator()(7.12);
135 rb = b1d.operator()(8.);
136 rb = b1d.operator()( 10.1 );
137 rb = b1d.operator()( 13. );
139 sample.push_back( 1. );
140 sample.push_back( 2. );
141 sample.push_back( 2.05 );
142 sample.push_back( 2.1 );
143 sample.push_back( 4. );
144 sample.push_back( 5. );
145 sample.push_back( 5.01 );
146 sample.push_back( 5.1 );
147 sample.push_back( 10.1 );
148 sample.push_back( 13. );
150 std::vector< std::pair< size_t , size_t > > res;
151 b1d( sample.begin() , sample.end() , res );
152 unit_assert(res[0].first == 0 && res[0].second == 2);
153 unit_assert(res[1].first == 0 && res[1].second == 3);
159 int main(
int argc,
char **argv) {
#define unit_assert_equal(x, y, epsilon)
void breaks(double minMass, double maxMass, TMassComparator tmassComp, std::vector< double > &breaks, bool exact=false)
Segment mass range according to Mass Compare functor could be used to histogram a dataset or to compu...
#define unit_assert_operator_equal(expected, actual)
KernelTraitsBase< Kernel >::space_type::abscissa_type x
Da Comparator - constant mass error.
int main(int argc, char **argv)