Skip to content

Commit acfbe8c

Browse files
committed
Rename project_num_t to map_to_sized_type_t
1 parent c1e6636 commit acfbe8c

6 files changed

Lines changed: 36 additions & 36 deletions

File tree

include/xsimd/arch/xsimd_neon.hpp

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ namespace xsimd
238238
XSIMD_INLINE batch<R, A> bitwise_cast(batch<T, A> const& arg, batch<R, A> const&, requires_arch<neon>) noexcept
239239
{
240240
using src_register_type = typename batch<T, A>::register_type;
241-
return wrap::x_vreinterpretq<project_num_t<R>, project_num_t<T>>(src_register_type(arg));
241+
return wrap::x_vreinterpretq<map_to_sized_type_t<R>, map_to_sized_type_t<T>>(src_register_type(arg));
242242
}
243243

244244
/*************
@@ -826,7 +826,7 @@ namespace xsimd
826826
XSIMD_INLINE batch<T, A> add(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
827827
{
828828
using register_type = typename batch<T, A>::register_type;
829-
return wrap::x_vaddq<project_num_t<T>>(register_type(lhs), register_type(rhs));
829+
return wrap::x_vaddq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
830830
}
831831

832832
/*******
@@ -848,7 +848,7 @@ namespace xsimd
848848
XSIMD_INLINE batch<T, A> avg(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
849849
{
850850
using register_type = typename batch<T, A>::register_type;
851-
return wrap::x_vhaddq<project_num_t<T>>(register_type(lhs), register_type(rhs));
851+
return wrap::x_vhaddq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
852852
}
853853

854854
/********
@@ -870,7 +870,7 @@ namespace xsimd
870870
XSIMD_INLINE batch<T, A> avgr(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
871871
{
872872
using register_type = typename batch<T, A>::register_type;
873-
return wrap::x_vrhaddq<project_num_t<T>>(register_type(lhs), register_type(rhs));
873+
return wrap::x_vrhaddq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
874874
}
875875

876876
/********
@@ -904,7 +904,7 @@ namespace xsimd
904904
XSIMD_INLINE batch<T, A> sadd(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
905905
{
906906
using register_type = typename batch<T, A>::register_type;
907-
return wrap::x_vqaddq<project_num_t<T>>(register_type(lhs), register_type(rhs));
907+
return wrap::x_vqaddq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
908908
}
909909

910910
/*******
@@ -938,7 +938,7 @@ namespace xsimd
938938
XSIMD_INLINE batch<T, A> sub(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
939939
{
940940
using register_type = typename batch<T, A>::register_type;
941-
return wrap::x_vsubq<project_num_t<T>>(register_type(lhs), register_type(rhs));
941+
return wrap::x_vsubq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
942942
}
943943

944944
/********
@@ -972,7 +972,7 @@ namespace xsimd
972972
XSIMD_INLINE batch<T, A> ssub(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
973973
{
974974
using register_type = typename batch<T, A>::register_type;
975-
return wrap::x_vqsubq<project_num_t<T>>(register_type(lhs), register_type(rhs));
975+
return wrap::x_vqsubq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
976976
}
977977

978978
/*******
@@ -1002,7 +1002,7 @@ namespace xsimd
10021002
XSIMD_INLINE batch<T, A> mul(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
10031003
{
10041004
using register_type = typename batch<T, A>::register_type;
1005-
return wrap::x_vmulq<project_num_t<T>>(register_type(lhs), register_type(rhs));
1005+
return wrap::x_vmulq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
10061006
}
10071007

10081008
/*******
@@ -1067,7 +1067,7 @@ namespace xsimd
10671067
XSIMD_INLINE batch_bool<T, A> eq(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
10681068
{
10691069
using register_type = typename batch<T, A>::register_type;
1070-
return wrap::x_vceqq<project_num_t<T>>(register_type(lhs), register_type(rhs));
1070+
return wrap::x_vceqq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
10711071
}
10721072

10731073
template <class A, class T, detail::exclude_int64_neon_t<T> = 0>
@@ -1160,7 +1160,7 @@ namespace xsimd
11601160
XSIMD_INLINE batch_bool<T, A> lt(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
11611161
{
11621162
using register_type = typename batch<T, A>::register_type;
1163-
return wrap::x_vcltq<project_num_t<T>>(register_type(lhs), register_type(rhs));
1163+
return wrap::x_vcltq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
11641164
}
11651165

11661166
template <class A, class T, detail::enable_sized_signed_t<T, 8> = 0>
@@ -1205,7 +1205,7 @@ namespace xsimd
12051205
XSIMD_INLINE batch_bool<T, A> le(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
12061206
{
12071207
using register_type = typename batch<T, A>::register_type;
1208-
return wrap::x_vcleq<project_num_t<T>>(register_type(lhs), register_type(rhs));
1208+
return wrap::x_vcleq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
12091209
}
12101210

12111211
template <class A, class T, detail::enable_sized_integral_t<T, 8> = 0>
@@ -1241,7 +1241,7 @@ namespace xsimd
12411241
XSIMD_INLINE batch_bool<T, A> gt(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
12421242
{
12431243
using register_type = typename batch<T, A>::register_type;
1244-
return wrap::x_vcgtq<project_num_t<T>>(register_type(lhs), register_type(rhs));
1244+
return wrap::x_vcgtq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
12451245
}
12461246

12471247
template <class A, class T, detail::enable_sized_signed_t<T, 8> = 0>
@@ -1286,7 +1286,7 @@ namespace xsimd
12861286
XSIMD_INLINE batch_bool<T, A> ge(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
12871287
{
12881288
using register_type = typename batch<T, A>::register_type;
1289-
return wrap::x_vcgeq<project_num_t<T>>(register_type(lhs), register_type(rhs));
1289+
return wrap::x_vcgeq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
12901290
}
12911291

12921292
template <class A, class T, detail::enable_sized_integral_t<T, 8> = 0>
@@ -1341,7 +1341,7 @@ namespace xsimd
13411341
XSIMD_INLINE batch<T, A> bitwise_and(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
13421342
{
13431343
using register_type = typename batch<T, A>::register_type;
1344-
return wrap::x_vandq<project_num_t<T>>(register_type(lhs), register_type(rhs));
1344+
return wrap::x_vandq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
13451345
}
13461346

13471347
template <class A, class T, detail::enable_neon_type_t<T> = 0>
@@ -1386,7 +1386,7 @@ namespace xsimd
13861386
XSIMD_INLINE batch<T, A> bitwise_or(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
13871387
{
13881388
using register_type = typename batch<T, A>::register_type;
1389-
return wrap::x_vorrq<project_num_t<T>>(register_type(lhs), register_type(rhs));
1389+
return wrap::x_vorrq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
13901390
}
13911391

13921392
template <class A, class T, detail::enable_neon_type_t<T> = 0>
@@ -1431,7 +1431,7 @@ namespace xsimd
14311431
XSIMD_INLINE batch<T, A> bitwise_xor(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
14321432
{
14331433
using register_type = typename batch<T, A>::register_type;
1434-
return wrap::x_veorq<project_num_t<T>>(register_type(lhs), register_type(rhs));
1434+
return wrap::x_veorq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
14351435
}
14361436

14371437
template <class A, class T, detail::enable_neon_type_t<T> = 0>
@@ -1491,7 +1491,7 @@ namespace xsimd
14911491
XSIMD_INLINE batch<T, A> bitwise_not(batch<T, A> const& arg, requires_arch<neon>) noexcept
14921492
{
14931493
using register_type = typename batch<T, A>::register_type;
1494-
return wrap::x_vmvnq<project_num_t<T>>(register_type(arg));
1494+
return wrap::x_vmvnq<map_to_sized_type_t<T>>(register_type(arg));
14951495
}
14961496

14971497
template <class A, class T, detail::enable_neon_type_t<T> = 0>
@@ -1535,7 +1535,7 @@ namespace xsimd
15351535
XSIMD_INLINE batch<T, A> bitwise_andnot(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
15361536
{
15371537
using register_type = typename batch<T, A>::register_type;
1538-
return wrap::x_vbicq<project_num_t<T>>(register_type(lhs), register_type(rhs));
1538+
return wrap::x_vbicq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
15391539
}
15401540

15411541
template <class A, class T, detail::enable_neon_type_t<T> = 0>
@@ -1572,7 +1572,7 @@ namespace xsimd
15721572
XSIMD_INLINE batch<T, A> min(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
15731573
{
15741574
using register_type = typename batch<T, A>::register_type;
1575-
return wrap::x_vminq<project_num_t<T>>(register_type(lhs), register_type(rhs));
1575+
return wrap::x_vminq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
15761576
}
15771577

15781578
template <class A, class T, detail::enable_sized_integral_t<T, 8> = 0>
@@ -1608,7 +1608,7 @@ namespace xsimd
16081608
XSIMD_INLINE batch<T, A> max(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
16091609
{
16101610
using register_type = typename batch<T, A>::register_type;
1611-
return wrap::x_vmaxq<project_num_t<T>>(register_type(lhs), register_type(rhs));
1611+
return wrap::x_vmaxq<map_to_sized_type_t<T>>(register_type(lhs), register_type(rhs));
16121612
}
16131613

16141614
template <class A, class T, detail::enable_sized_integral_t<T, 8> = 0>
@@ -1644,7 +1644,7 @@ namespace xsimd
16441644
XSIMD_INLINE batch<T, A> abs(batch<T, A> const& arg, requires_arch<neon>) noexcept
16451645
{
16461646
using register_type = typename batch<T, A>::register_type;
1647-
return wrap::x_vabsq<project_num_t<T>>(register_type(arg));
1647+
return wrap::x_vabsq<map_to_sized_type_t<T>>(register_type(arg));
16481648
}
16491649

16501650
/********
@@ -1992,7 +1992,7 @@ namespace xsimd
19921992
{
19931993
using bool_register_type = typename batch_bool<T, A>::register_type;
19941994
using register_type = typename batch<T, A>::register_type;
1995-
return wrap::x_vbslq<project_num_t<T>>(bool_register_type(cond), register_type(a), register_type(b));
1995+
return wrap::x_vbslq<map_to_sized_type_t<T>>(bool_register_type(cond), register_type(a), register_type(b));
19961996
}
19971997

19981998
template <class A, class T, bool... b, detail::enable_neon_type_t<T> = 0>
@@ -3120,7 +3120,7 @@ namespace xsimd
31203120
XSIMD_INLINE batch<T, A> rotate_left(batch<T, A> const& a, requires_arch<neon>) noexcept
31213121
{
31223122
using register_type = typename batch<T, A>::register_type;
3123-
return wrap::x_rotate_left<N, project_num_t<T>>(register_type(a), register_type(a));
3123+
return wrap::x_rotate_left<N, map_to_sized_type_t<T>>(register_type(a), register_type(a));
31243124
}
31253125
}
31263126

include/xsimd/arch/xsimd_neon64.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1299,14 +1299,14 @@ namespace xsimd
12991299
XSIMD_INLINE batch<double, A> bitwise_cast(batch<T, A> const& arg, batch<double, A> const&, requires_arch<neon64>) noexcept
13001300
{
13011301
using register_type = typename batch<T, A>::register_type;
1302-
return wrap::x_vreinterpretq<double, project_num_t<T>>(register_type(arg));
1302+
return wrap::x_vreinterpretq<double, map_to_sized_type_t<T>>(register_type(arg));
13031303
}
13041304

13051305
template <class A, class R>
13061306
XSIMD_INLINE batch<R, A> bitwise_cast(batch<double, A> const& arg, batch<R, A> const&, requires_arch<neon64>) noexcept
13071307
{
13081308
using src_register_type = typename batch<double, A>::register_type;
1309-
return wrap::x_vreinterpretq<project_num_t<R>, double>(src_register_type(arg));
1309+
return wrap::x_vreinterpretq<map_to_sized_type_t<R>, double>(src_register_type(arg));
13101310
}
13111311

13121312
template <class A>

include/xsimd/arch/xsimd_rvv.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ namespace xsimd
388388
// A bit of a dance, here, because rvvmv_splat has no other
389389
// argument from which to deduce type, and T=char is not
390390
// supported.
391-
project_num_t<T> arg_not_char(arg);
391+
map_to_sized_type_t<T> arg_not_char(arg);
392392
const auto splat = rvvmv_splat(arg_not_char);
393393
return rvv_reg_t<T, Width>(splat.get_bytes(), types::detail::XSIMD_RVV_BITCAST);
394394
}
@@ -414,7 +414,7 @@ namespace xsimd
414414
template <class A, class T, detail::enable_arithmetic_t<T> = 0>
415415
XSIMD_INLINE batch<T, A> load_aligned(T const* src, convert<T>, requires_arch<rvv>) noexcept
416416
{
417-
return detail_rvv::rvvle(reinterpret_cast<project_num_t<T> const*>(src));
417+
return detail_rvv::rvvle(reinterpret_cast<map_to_sized_type_t<T> const*>(src));
418418
}
419419

420420
template <class A, class T, detail::enable_arithmetic_t<T> = 0>
@@ -491,7 +491,7 @@ namespace xsimd
491491
template <class A, class T, detail::enable_arithmetic_t<T> = 0>
492492
XSIMD_INLINE void store_aligned(T* dst, batch<T, A> const& src, requires_arch<rvv>) noexcept
493493
{
494-
detail_rvv::rvvse(reinterpret_cast<project_num_t<T>*>(dst), src);
494+
detail_rvv::rvvse(reinterpret_cast<map_to_sized_type_t<T>*>(dst), src);
495495
}
496496

497497
template <class A, class T, detail::enable_arithmetic_t<T> = 0>
@@ -522,7 +522,7 @@ namespace xsimd
522522
{
523523
using UU = as_unsigned_integer_t<U>;
524524
const auto uindex = detail_rvv::rvv_to_unsigned_batch(index);
525-
auto* base = reinterpret_cast<project_num_t<T>*>(dst);
525+
auto* base = reinterpret_cast<map_to_sized_type_t<T>*>(dst);
526526
// or rvvsuxei
527527
const auto bi = detail_rvv::rvvmul_splat(uindex, sizeof(T));
528528
detail_rvv::rvvsoxei(base, bi, vals);
@@ -534,7 +534,7 @@ namespace xsimd
534534
{
535535
using UU = as_unsigned_integer_t<U>;
536536
const auto uindex = detail_rvv::rvv_to_unsigned_batch(index);
537-
auto const* base = reinterpret_cast<project_num_t<T> const*>(src);
537+
auto const* base = reinterpret_cast<map_to_sized_type_t<T> const*>(src);
538538
// or rvvluxei
539539
const auto bi = detail_rvv::rvvmul_splat(uindex, sizeof(T));
540540
return detail_rvv::rvvloxei(base, bi);

include/xsimd/arch/xsimd_sve.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ namespace xsimd
9292
template <class A, class T, detail::enable_arithmetic_t<T> = 0>
9393
XSIMD_INLINE batch<T, A> load_aligned(T const* src, convert<T>, requires_arch<sve>) noexcept
9494
{
95-
return svld1(detail_sve::ptrue<T>(), reinterpret_cast<project_num_t<T> const*>(src));
95+
return svld1(detail_sve::ptrue<T>(), reinterpret_cast<map_to_sized_type_t<T> const*>(src));
9696
}
9797

9898
template <class A, class T, detail::enable_arithmetic_t<T> = 0>
@@ -105,7 +105,7 @@ namespace xsimd
105105
template <class A, class T, bool... Values, class Mode, detail::enable_arithmetic_t<T> = 0>
106106
XSIMD_INLINE batch<T, A> load_masked(T const* mem, batch_bool_constant<float, A, Values...>, Mode, requires_arch<sve>) noexcept
107107
{
108-
return svld1(detail_sve::pmask<Values...>(), reinterpret_cast<project_num_t<T> const*>(mem));
108+
return svld1(detail_sve::pmask<Values...>(), reinterpret_cast<map_to_sized_type_t<T> const*>(mem));
109109
}
110110

111111
// load_complex
@@ -132,7 +132,7 @@ namespace xsimd
132132
template <class A, class T, detail::enable_arithmetic_t<T> = 0>
133133
XSIMD_INLINE void store_aligned(T* dst, batch<T, A> const& src, requires_arch<sve>) noexcept
134134
{
135-
svst1(detail_sve::ptrue<T>(), reinterpret_cast<project_num_t<T>*>(dst), src);
135+
svst1(detail_sve::ptrue<T>(), reinterpret_cast<map_to_sized_type_t<T>*>(dst), src);
136136
}
137137

138138
template <class A, class T, detail::enable_arithmetic_t<T> = 0>

include/xsimd/types/xsimd_rvv_register.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ namespace xsimd
326326
operator register_type() const noexcept { return value.get(); }
327327
};
328328
template <class T, size_t Width = XSIMD_RVV_BITS>
329-
using rvv_reg_t = std::conditional_t<!std::is_void<T>::value, rvv_reg<project_num_t<T>, Width>, void>;
329+
using rvv_reg_t = std::conditional_t<!std::is_void<T>::value, rvv_reg<map_to_sized_type_t<T>, Width>, void>;
330330

331331
// And some more of the same stuff for bool types, which have
332332
// similar problems and similar workarounds.
@@ -388,7 +388,7 @@ namespace xsimd
388388

389389
template <class T, size_t Width = XSIMD_RVV_BITS>
390390
using rvv_bool_t = std::enable_if_t < !std::is_void<T>::value,
391-
rvv_bool<project_num_t<T>, Width<rvv_width_m1 ? rvv_width_m1 : Width>>;
391+
rvv_bool<map_to_sized_type_t<T>, Width<rvv_width_m1 ? rvv_width_m1 : Width>>;
392392

393393
template <size_t S>
394394
struct rvv_vector_type_impl;

include/xsimd/utils/xsimd_type_traits.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ namespace xsimd
127127
* @tparam T arithmetic type to project from.
128128
*/
129129
template <typename T>
130-
using project_num_t = typename detail::remap_num<T, /* factor= */ 1>::type;
130+
using map_to_sized_type_t = typename detail::remap_num<T, /* factor= */ 1>::type;
131131

132132
/**
133133
* @ingroup type_traits

0 commit comments

Comments
 (0)