@@ -356,39 +356,10 @@ struct load_store_test
356356 auto mask = xsimd::make_batch_bool_constant<value_type, Generator, typename batch_type::arch_type>();
357357 array_type expected_masked{0 };
358358
359- std::size_t expected_pop = 0 ;
360- std::size_t expected_countr_one = 0 ;
361- std::size_t expected_countl_one = 0 ;
362- std::size_t expected_countr_zero = 0 ;
363- std::size_t expected_countl_zero = 0 ;
364- uint64_t expected_bits = 0 ;
365-
366359 for (std::size_t i = 0 ; i < size; ++i)
367360 {
368361 const bool active = Generator::get (i, size);
369- if (active)
370- {
371- expected_masked[i] = expected[i];
372- expected_bits |= (uint64_t (1 ) << i);
373- ++expected_pop;
374- }
375- }
376-
377- while (expected_countr_zero < size && !Generator::get (expected_countr_zero, size))
378- {
379- ++expected_countr_zero;
380- }
381- while (expected_countl_zero < size && !Generator::get (size - 1 - expected_countl_zero, size))
382- {
383- ++expected_countl_zero;
384- }
385- while (expected_countr_one < size && Generator::get (expected_countr_one, size))
386- {
387- ++expected_countr_one;
388- }
389- while (expected_countl_one < size && Generator::get (size - 1 - expected_countl_one, size))
390- {
391- ++expected_countl_one;
362+ expected_masked[i] = active ? expected[i] : value_type ();
392363 }
393364
394365 b = xsimd::load (v.data (), mask, xsimd::aligned_mode ());
@@ -397,34 +368,6 @@ struct load_store_test
397368 b = xsimd::load (v.data (), mask, xsimd::unaligned_mode ());
398369 INFO (name, label + " unaligned" );
399370 CHECK_BATCH_EQ (b, expected_masked);
400-
401- CHECK_EQ (mask.truncated_mask (), expected_bits);
402- CHECK_EQ (mask.popcount (), expected_pop);
403- CHECK_EQ (mask.none (), expected_pop == 0 );
404- CHECK_EQ (mask.any (), expected_pop != 0 );
405- CHECK_EQ (mask.all (), expected_pop == size);
406- CHECK_EQ (mask.countr_one (), expected_countr_one);
407- CHECK_EQ (mask.countl_one (), expected_countl_one);
408- CHECK_EQ (mask.countr_zero (), expected_countr_zero);
409- CHECK_EQ (mask.countl_zero (), expected_countl_zero);
410-
411- std::vector<std::size_t > indices;
412- for (std::size_t idx = 0 ; idx < size; ++idx)
413- {
414- if (mask.get (idx))
415- {
416- indices.push_back (idx);
417- }
418- }
419- std::vector<std::size_t > expected_indices;
420- for (std::size_t idx = 0 ; idx < size; ++idx)
421- {
422- if (Generator::get (idx, size))
423- {
424- expected_indices.push_back (idx);
425- }
426- }
427- CHECK_EQ (indices, expected_indices);
428371 }
429372
430373 template <class Generator , class V >
0 commit comments