@@ -372,36 +372,36 @@ namespace xsimd
372372 detail::store_masked (mem, src, mask.mask (), Mode {});
373373 }
374374
375- namespace detail
376- {
377- template <class A , class T >
378- std::array<batch_bool<T, A>, 2 > zip_complex_mask (batch_bool<T, A> mask)
379- {
380- using mask_register_type = typename batch_bool<T, A>::register_type;
381- mask_register_type nmask = mask.to_native ();
382-
383- constexpr mask_register_type lo_bitmask = xsimd::utils::make_low_mask<mask_register_type>(mask.size / 2 );
384- mask_register_type lo_mask = nmask & lo_bitmask;
385- lo_mask |= lo_mask << (mask.size / 2 );
386-
387- constexpr mask_register_type hi_bitmask = lo_bitmask << (mask.size / 2 );
388- mask_register_type hi_mask = nmask & hi_bitmask;
389- hi_mask |= hi_mask >> (mask.size / 2 );
390-
391- return { batch_bool<T, A>{ lo_mask }, batch_bool<T, A>{ hi_mask } };
392- }
393- }
394-
395- template <class A , class T , class Mode >
396- XSIMD_INLINE void
397- store_complex_masked (std::complex <T>* mem, batch<std::complex <T>, A> const & src, batch_bool<T, A> mask, Mode mode, requires_arch<avx512f>) noexcept
398- {
399- auto [lo_mask, hi_mask] = detail::zip_complex_mask (mask);
400- batch<T, A> src_lo = zip_lo (src.real (), src.imag ());
401- batch<T, A> src_hi = zip_hi (src.real (), src.imag ());
402- detail::store_masked (reinterpret_cast <T*>(mem), src_lo, lo_mask, mode);
403- detail::store_masked (reinterpret_cast <T*>(mem) + src.size , src_hi, hi_mask, mode);
404- }
375+ // namespace detail
376+ // {
377+ // template <class A, class T>
378+ // std::array<batch_bool<T, A>, 2> zip_complex_mask(batch_bool<T, A> mask)
379+ // {
380+ // using mask_register_type = typename batch_bool<T, A>::register_type;
381+ // mask_register_type nmask = mask.to_native();
382+
383+ // constexpr mask_register_type lo_bitmask = xsimd::utils::make_low_mask<mask_register_type>(mask.size / 2);
384+ // mask_register_type lo_mask = nmask & lo_bitmask;
385+ // lo_mask |= lo_mask << (mask.size / 2);
386+
387+ // constexpr mask_register_type hi_bitmask = lo_bitmask << (mask.size / 2);
388+ // mask_register_type hi_mask = nmask & hi_bitmask;
389+ // hi_mask |= hi_mask >> (mask.size / 2);
390+
391+ // return { batch_bool<T, A>{ lo_mask }, batch_bool<T, A>{ hi_mask } };
392+ // }
393+ // }
394+
395+ // template <class A, class T, class Mode>
396+ // XSIMD_INLINE void
397+ // store_complex_masked(std::complex<T>* mem, batch<std::complex<T>, A> const& src, batch_bool<T, A> mask, Mode mode, requires_arch<avx512f>) noexcept
398+ // {
399+ // auto [lo_mask, hi_mask] = detail::zip_complex_mask(mask);
400+ // batch<T, A> src_lo = zip_lo(src.real(), src.imag());
401+ // batch<T, A> src_hi = zip_hi(src.real(), src.imag());
402+ // detail::store_masked(reinterpret_cast<T*>(mem), src_lo, lo_mask, mode);
403+ // detail::store_masked(reinterpret_cast<T*>(mem) + src.size, src_hi, hi_mask, mode);
404+ // }
405405
406406 // abs
407407 template <class A >
@@ -1664,15 +1664,15 @@ namespace xsimd
16641664 }
16651665 }
16661666
1667- template <class A , class T , class Mode >
1668- XSIMD_INLINE batch<std::complex <T>, A>
1669- load_complex_masked (std::complex <T> const * mem, batch_bool<T, A> mask, Mode mode, requires_arch<avx512f>) noexcept
1670- {
1671- auto [lo_mask, hi_mask] = detail::zip_complex_mask (mask);
1672- batch<T, A> res_lo = batch<T, A>::load (reinterpret_cast <T const *>(mem), lo_mask, mode);
1673- batch<T, A> res_hi = batch<T, A>::load (reinterpret_cast <T const *>(mem) + mask.size , hi_mask, mode);
1674- return detail::load_complex (res_lo, res_hi, A{});
1675- }
1667+ // template <class A, class T, class Mode>
1668+ // XSIMD_INLINE batch<std::complex<T>, A>
1669+ // load_complex_masked(std::complex<T> const* mem, batch_bool<T, A> mask, Mode mode, requires_arch<avx512f>) noexcept
1670+ // {
1671+ // auto [lo_mask, hi_mask] = detail::zip_complex_mask(mask);
1672+ // batch<T, A> res_lo = batch<T, A>::load(reinterpret_cast<T const*>(mem), lo_mask, mode);
1673+ // batch<T, A> res_hi = batch<T, A>::load(reinterpret_cast<T const*>(mem) + mask.size, hi_mask, mode);
1674+ // return detail::load_complex(res_lo, res_hi, A{});
1675+ // }
16761676
16771677 // load_unaligned
16781678 template <class A , class T , class = std::enable_if_t <std::is_integral_v<T>>>
0 commit comments