Skip to content

Commit 3fbfeaf

Browse files
[NFCI][SYCL] Remove vec/swizzle's getNumElements
`public` `size()` can be used instead.
1 parent a62b220 commit 3fbfeaf

File tree

1 file changed

+41
-41
lines changed

1 file changed

+41
-41
lines changed

sycl/include/sycl/vector.hpp

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,6 @@ class __SYCL_EBO vec
180180
private:
181181
#endif // __SYCL_DEVICE_ONLY__
182182

183-
static constexpr int getNumElements() { return NumElements; }
184-
185183
// SizeChecker is needed for vec(const argTN &... args) ctor to validate args.
186184
template <int Counter, int MaxValue, class...>
187185
struct SizeChecker : std::conditional_t<Counter == MaxValue, std::true_type,
@@ -548,6 +546,27 @@ class SwizzleOp : public detail::NamedSwizzlesMixinBoth<
548546
OperationCurrentT, Indexes...>,
549547
sizeof...(Indexes)> {
550548
using DataT = typename VecT::element_type;
549+
550+
public:
551+
using element_type = DataT;
552+
using value_type = DataT;
553+
554+
__SYCL2020_DEPRECATED("get_count() is deprecated, please use size() instead")
555+
size_t get_count() const { return size(); }
556+
static constexpr size_t size() noexcept { return sizeof...(Indexes); }
557+
558+
template <int Num = size()>
559+
__SYCL2020_DEPRECATED(
560+
"get_size() is deprecated, please use byte_size() instead")
561+
size_t get_size() const {
562+
return byte_size<Num>();
563+
}
564+
565+
template <int Num = size()> size_t byte_size() const noexcept {
566+
return sizeof(DataT) * (Num == 3 ? 4 : Num);
567+
}
568+
569+
private:
551570
// Certain operators return a vector with a different element type. Also, the
552571
// left and right operand types may differ. CommonDataT selects a result type
553572
// based on these types to ensure that the result value can be represented.
@@ -579,7 +598,6 @@ class SwizzleOp : public detail::NamedSwizzlesMixinBoth<
579598
using CommonDataT = std::conditional_t<
580599
sizeof(DataT) >= sizeof(std::common_type_t<OpLeftDataT, OpRightDataT>),
581600
DataT, std::common_type_t<OpLeftDataT, OpRightDataT>>;
582-
static constexpr int getNumElements() { return sizeof...(Indexes); }
583601

584602
using rel_t = detail::rel_t<DataT>;
585603
using vec_t = vec<DataT, sizeof...(Indexes)>;
@@ -594,7 +612,7 @@ class SwizzleOp : public detail::NamedSwizzlesMixinBoth<
594612

595613
template <typename OperationRightT_,
596614
template <typename> class OperationCurrentT_, int... Idx_>
597-
using NewRelOp = SwizzleOp<vec<rel_t, VecT::getNumElements()>,
615+
using NewRelOp = SwizzleOp<vec<rel_t, VecT::size()>,
598616
SwizzleOp<VecT, OperationLeftT, OperationRightT,
599617
OperationCurrentT, Indexes...>,
600618
OperationRightT_, OperationCurrentT_, Idx_...>;
@@ -608,11 +626,11 @@ class SwizzleOp : public detail::NamedSwizzlesMixinBoth<
608626

609627
template <int IdxNum, typename T = void>
610628
using EnableIfOneIndex = typename std::enable_if_t<
611-
1 == IdxNum && SwizzleOp::getNumElements() == IdxNum, T>;
629+
1 == IdxNum && SwizzleOp::size() == IdxNum, T>;
612630

613631
template <int IdxNum, typename T = void>
614632
using EnableIfMultipleIndexes = typename std::enable_if_t<
615-
1 != IdxNum && SwizzleOp::getNumElements() == IdxNum, T>;
633+
1 != IdxNum && SwizzleOp::size() == IdxNum, T>;
616634

617635
template <typename T>
618636
using EnableIfScalarType =
@@ -633,40 +651,22 @@ class SwizzleOp : public detail::NamedSwizzlesMixinBoth<
633651
SwizzleOp<const VecT, GetOp<DataT>, GetOp<DataT>, GetOp, Indices...>;
634652

635653
public:
636-
using element_type = DataT;
637-
using value_type = DataT;
638-
639654
#ifdef __SYCL_DEVICE_ONLY__
640655
using vector_t = typename vec_t::vector_t;
641656
#endif // __SYCL_DEVICE_ONLY__
642657

643658
const DataT &operator[](int i) const {
644-
std::array<int, getNumElements()> Idxs{Indexes...};
659+
std::array<int, size()> Idxs{Indexes...};
645660
return (*m_Vector)[Idxs[i]];
646661
}
647662

648663
template <typename _T = VecT>
649664
std::enable_if_t<!std::is_const_v<_T>, DataT> &operator[](int i) {
650-
std::array<int, getNumElements()> Idxs{Indexes...};
665+
std::array<int, size()> Idxs{Indexes...};
651666
return (*m_Vector)[Idxs[i]];
652667
}
653668

654-
__SYCL2020_DEPRECATED("get_count() is deprecated, please use size() instead")
655-
size_t get_count() const { return size(); }
656-
static constexpr size_t size() noexcept { return getNumElements(); }
657-
658-
template <int Num = getNumElements()>
659-
__SYCL2020_DEPRECATED(
660-
"get_size() is deprecated, please use byte_size() instead")
661-
size_t get_size() const {
662-
return byte_size<Num>();
663-
}
664-
665-
template <int Num = getNumElements()> size_t byte_size() const noexcept {
666-
return sizeof(DataT) * (Num == 3 ? 4 : Num);
667-
}
668-
669-
template <typename T, int IdxNum = getNumElements(),
669+
template <typename T, int IdxNum = size(),
670670
typename = EnableIfOneIndex<IdxNum>,
671671
typename = EnableIfScalarType<T>>
672672
operator T() const {
@@ -870,7 +870,7 @@ class SwizzleOp : public detail::NamedSwizzlesMixinBoth<
870870
__SYCL_RELLOGOP(||, (!detail::is_byte_v<T> && !detail::is_vgenfloat_v<T>))
871871
#undef __SYCL_RELLOGOP
872872

873-
template <int IdxNum = getNumElements(),
873+
template <int IdxNum = size(),
874874
typename = EnableIfMultipleIndexes<IdxNum>>
875875
SwizzleOp &operator=(const vec<DataT, IdxNum> &Rhs) {
876876
std::array<int, IdxNum> Idxs{Indexes...};
@@ -880,14 +880,14 @@ class SwizzleOp : public detail::NamedSwizzlesMixinBoth<
880880
return *this;
881881
}
882882

883-
template <int IdxNum = getNumElements(), typename = EnableIfOneIndex<IdxNum>>
883+
template <int IdxNum = size(), typename = EnableIfOneIndex<IdxNum>>
884884
SwizzleOp &operator=(const DataT &Rhs) {
885885
std::array<int, IdxNum> Idxs{Indexes...};
886886
(*m_Vector)[Idxs[0]] = Rhs;
887887
return *this;
888888
}
889889

890-
template <int IdxNum = getNumElements(),
890+
template <int IdxNum = size(),
891891
EnableIfMultipleIndexes<IdxNum, bool> = true>
892892
SwizzleOp &operator=(const DataT &Rhs) {
893893
std::array<int, IdxNum> Idxs{Indexes...};
@@ -897,7 +897,7 @@ class SwizzleOp : public detail::NamedSwizzlesMixinBoth<
897897
return *this;
898898
}
899899

900-
template <int IdxNum = getNumElements(), typename = EnableIfOneIndex<IdxNum>>
900+
template <int IdxNum = size(), typename = EnableIfOneIndex<IdxNum>>
901901
SwizzleOp &operator=(DataT &&Rhs) {
902902
std::array<int, IdxNum> Idxs{Indexes...};
903903
(*m_Vector)[Idxs[0]] = Rhs;
@@ -1049,9 +1049,9 @@ class SwizzleOp : public detail::NamedSwizzlesMixinBoth<
10491049
template <
10501050
typename T1, typename T2, typename T3, template <typename> class T4,
10511051
int... T5,
1052-
typename = typename std::enable_if_t<sizeof...(T5) == getNumElements()>>
1052+
typename = typename std::enable_if_t<sizeof...(T5) == size()>>
10531053
SwizzleOp &operator=(const SwizzleOp<T1, T2, T3, T4, T5...> &Rhs) {
1054-
std::array<int, getNumElements()> Idxs{Indexes...};
1054+
std::array<int, size()> Idxs{Indexes...};
10551055
for (size_t I = 0; I < Idxs.size(); ++I) {
10561056
(*m_Vector)[Idxs[I]] = Rhs.getValue(I);
10571057
}
@@ -1061,9 +1061,9 @@ class SwizzleOp : public detail::NamedSwizzlesMixinBoth<
10611061
template <
10621062
typename T1, typename T2, typename T3, template <typename> class T4,
10631063
int... T5,
1064-
typename = typename std::enable_if_t<sizeof...(T5) == getNumElements()>>
1064+
typename = typename std::enable_if_t<sizeof...(T5) == size()>>
10651065
SwizzleOp &operator=(SwizzleOp<T1, T2, T3, T4, T5...> &&Rhs) {
1066-
std::array<int, getNumElements()> Idxs{Indexes...};
1066+
std::array<int, size()> Idxs{Indexes...};
10671067
for (size_t I = 0; I < Idxs.size(); ++I) {
10681068
(*m_Vector)[Idxs[I]] = Rhs.getValue(I);
10691069
}
@@ -1212,7 +1212,7 @@ class SwizzleOp : public detail::NamedSwizzlesMixinBoth<
12121212
vec<convertT, sizeof...(Indexes)> convert() const {
12131213
// First materialize the swizzle to vec_t and then apply convert() to it.
12141214
vec_t Tmp;
1215-
std::array<int, getNumElements()> Idxs{Indexes...};
1215+
std::array<int, size()> Idxs{Indexes...};
12161216
for (size_t I = 0; I < Idxs.size(); ++I) {
12171217
Tmp[I] = (*m_Vector)[Idxs[I]];
12181218
}
@@ -1251,21 +1251,21 @@ class SwizzleOp : public detail::NamedSwizzlesMixinBoth<
12511251
// or reading values from actual vector. Perform implicit type conversion when
12521252
// the number of elements == 1
12531253

1254-
template <int IdxNum = getNumElements()>
1254+
template <int IdxNum = size()>
12551255
CommonDataT getValue(EnableIfOneIndex<IdxNum, size_t> Index) const {
12561256
if (std::is_same_v<OperationCurrentT<DataT>, GetOp<DataT>>) {
1257-
std::array<int, getNumElements()> Idxs{Indexes...};
1257+
std::array<int, size()> Idxs{Indexes...};
12581258
return (*m_Vector)[Idxs[Index]];
12591259
}
12601260
auto Op = OperationCurrentT<CommonDataT>();
12611261
return Op(m_LeftOperation.getValue(Index),
12621262
m_RightOperation.getValue(Index));
12631263
}
12641264

1265-
template <int IdxNum = getNumElements()>
1265+
template <int IdxNum = size()>
12661266
DataT getValue(EnableIfMultipleIndexes<IdxNum, size_t> Index) const {
12671267
if (std::is_same_v<OperationCurrentT<DataT>, GetOp<DataT>>) {
1268-
std::array<int, getNumElements()> Idxs{Indexes...};
1268+
std::array<int, size()> Idxs{Indexes...};
12691269
return (*m_Vector)[Idxs[Index]];
12701270
}
12711271
auto Op = OperationCurrentT<DataT>();
@@ -1276,7 +1276,7 @@ class SwizzleOp : public detail::NamedSwizzlesMixinBoth<
12761276
template <template <typename> class Operation, typename RhsOperation>
12771277
void operatorHelper(const RhsOperation &Rhs) const {
12781278
Operation<DataT> Op;
1279-
std::array<int, getNumElements()> Idxs{Indexes...};
1279+
std::array<int, size()> Idxs{Indexes...};
12801280
for (size_t I = 0; I < Idxs.size(); ++I) {
12811281
DataT Res = Op((*m_Vector)[Idxs[I]], Rhs.getValue(I));
12821282
(*m_Vector)[Idxs[I]] = Res;

0 commit comments

Comments
 (0)