| 235 | |
| 236 | template <class TMapping> |
| 237 | TL2Target<TMapping> CreateTestTarget(TMapping mapping, ui32 size) { |
| 238 | TRandom rand(100500); |
| 239 | |
| 240 | TL2Target<TMapping> target; |
| 241 | |
| 242 | target.Weights.Reset(mapping); |
| 243 | target.WeightedTarget.Reset(mapping); |
| 244 | |
| 245 | { |
| 246 | TVector<float> relev(size); |
| 247 | TVector<float> weights(size); |
| 248 | |
| 249 | // fill with trash to avoid rounding comparison |
| 250 | for (ui32 i = 0; i < size; i++) { |
| 251 | auto rel = (rand.NextUniformL() % 5); |
| 252 | if (rel == 0) |
| 253 | relev[i] = 0.125f; |
| 254 | else if (rel == 1) |
| 255 | relev[i] = 0.25f; |
| 256 | else if (rel == 2) |
| 257 | relev[i] = 0.5f; |
| 258 | else if (rel == 3) |
| 259 | relev[i] = 0.75f; |
| 260 | |
| 261 | weights[i] = 1.0; //1.0 / (1 + (rand.NextUniformL() % 2)); |
| 262 | relev[i] *= weights[i]; |
| 263 | } |
| 264 | target.Weights.Write(weights); |
| 265 | target.WeightedTarget.Write(relev); |
| 266 | } |
| 267 | return target; |
| 268 | } |
| 269 | |
| 270 | template <class TMapping> |
| 271 | void CheckStats(const TOptimizationSubsets<TMapping>& subsets, |
no test coverage detected