Skip to content

Commit 620bdd0

Browse files
Replace use of anonymous namespace in kernels/elementwise_functions headers
Using anonymous namespace in header files is against best C++ practices, since entities in anonymous namespace have internal linkage, and every translation unit that includes the header file would have its own copy, increasing compilation time and bloating the binary size.
1 parent a7ca491 commit 620bdd0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+441
-400
lines changed

dpctl/tensor/libtensor/include/kernels/elementwise_functions/abs.hpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ template <typename T> struct AbsOutputType
125125
static constexpr bool is_defined = !std::is_same_v<value_type, void>;
126126
};
127127

128-
namespace
128+
namespace hyperparam_detail
129129
{
130130

131131
namespace vsu_ns = dpctl::tensor::kernels::vec_size_utils;
@@ -141,7 +141,7 @@ template <typename argTy> struct AbsContigHyperparameterSet
141141
constexpr static auto n_vecs = value_type::n_vecs;
142142
};
143143

144-
} // namespace
144+
} // namespace hyperparam_detail
145145

146146
template <typename T1, typename T2, std::uint8_t vec_sz, std::uint8_t n_vecs>
147147
class abs_contig_kernel;
@@ -153,8 +153,9 @@ sycl::event abs_contig_impl(sycl::queue &exec_q,
153153
char *res_p,
154154
const std::vector<sycl::event> &depends = {})
155155
{
156-
constexpr std::uint8_t vec_sz = AbsContigHyperparameterSet<argTy>::vec_sz;
157-
constexpr std::uint8_t n_vec = AbsContigHyperparameterSet<argTy>::n_vecs;
156+
using AbsHS = hyperparam_detail::AbsContigHyperparameterSet<argTy>;
157+
constexpr std::uint8_t vec_sz = AbsHS::vec_sz;
158+
constexpr std::uint8_t n_vec = AbsHS::n_vecs;
158159

159160
return elementwise_common::unary_contig_impl<
160161
argTy, AbsOutputType, AbsContigFunctor, abs_contig_kernel, vec_sz,

dpctl/tensor/libtensor/include/kernels/elementwise_functions/acos.hpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ template <typename T> struct AcosOutputType
159159
static constexpr bool is_defined = !std::is_same_v<value_type, void>;
160160
};
161161

162-
namespace
162+
namespace hyperparam_detail
163163
{
164164

165165
namespace vsu_ns = dpctl::tensor::kernels::vec_size_utils;
@@ -175,7 +175,7 @@ template <typename argTy> struct AcosContigHyperparameterSet
175175
constexpr static auto n_vecs = value_type::n_vecs;
176176
};
177177

178-
} // namespace
178+
} // end of namespace hyperparam_detail
179179

180180
template <typename T1, typename T2, std::uint8_t vec_sz, std::uint8_t n_vecs>
181181
class acos_contig_kernel;
@@ -187,8 +187,9 @@ sycl::event acos_contig_impl(sycl::queue &exec_q,
187187
char *res_p,
188188
const std::vector<sycl::event> &depends = {})
189189
{
190-
constexpr std::uint8_t vec_sz = AcosContigHyperparameterSet<argTy>::vec_sz;
191-
constexpr std::uint8_t n_vec = AcosContigHyperparameterSet<argTy>::n_vecs;
190+
using AcosHS = hyperparam_detail::AcosContigHyperparameterSet<argTy>;
191+
constexpr std::uint8_t vec_sz = AcosHS::vec_sz;
192+
constexpr std::uint8_t n_vec = AcosHS::n_vecs;
192193

193194
return elementwise_common::unary_contig_impl<
194195
argTy, AcosOutputType, AcosContigFunctor, acos_contig_kernel, vec_sz,

dpctl/tensor/libtensor/include/kernels/elementwise_functions/acosh.hpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ template <typename T> struct AcoshOutputType
186186
static constexpr bool is_defined = !std::is_same_v<value_type, void>;
187187
};
188188

189-
namespace
189+
namespace hyperparam_detail
190190
{
191191

192192
namespace vsu_ns = dpctl::tensor::kernels::vec_size_utils;
@@ -203,7 +203,7 @@ template <typename argTy> struct AcoshContigHyperparameterSet
203203
constexpr static auto n_vecs = value_type::n_vecs;
204204
};
205205

206-
} // namespace
206+
} // end of namespace hyperparam_detail
207207

208208
template <typename T1, typename T2, std::uint8_t vec_sz, std::uint8_t n_vecs>
209209
class acosh_contig_kernel;
@@ -215,8 +215,9 @@ sycl::event acosh_contig_impl(sycl::queue &exec_q,
215215
char *res_p,
216216
const std::vector<sycl::event> &depends = {})
217217
{
218-
constexpr std::uint8_t vec_sz = AcoshContigHyperparameterSet<argTy>::vec_sz;
219-
constexpr std::uint8_t n_vec = AcoshContigHyperparameterSet<argTy>::n_vecs;
218+
using AcoshHS = hyperparam_detail::AcoshContigHyperparameterSet<argTy>;
219+
constexpr std::uint8_t vec_sz = AcoshHS::vec_sz;
220+
constexpr std::uint8_t n_vec = AcoshHS::n_vecs;
220221

221222
return elementwise_common::unary_contig_impl<
222223
argTy, AcoshOutputType, AcoshContigFunctor, acosh_contig_kernel, vec_sz,

dpctl/tensor/libtensor/include/kernels/elementwise_functions/add.hpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ template <typename T1, typename T2> struct AddOutputType
199199
static constexpr bool is_defined = !std::is_same_v<value_type, void>;
200200
};
201201

202-
namespace
202+
namespace hyperparam_detail
203203
{
204204

205205
namespace vsu_ns = dpctl::tensor::kernels::vec_size_utils;
@@ -252,7 +252,7 @@ template <typename argTy1, typename argTy2> struct AddContigHyperparameterSet
252252
constexpr static auto n_vecs = value_type::n_vecs;
253253
};
254254

255-
} // end of anonymous namespace
255+
} // end of namespace hyperparam_detail
256256

257257
template <typename argT1,
258258
typename argT2,
@@ -272,8 +272,9 @@ sycl::event add_contig_impl(sycl::queue &exec_q,
272272
ssize_t res_offset,
273273
const std::vector<sycl::event> &depends = {})
274274
{
275-
constexpr auto vec_sz = AddContigHyperparameterSet<argTy1, argTy2>::vec_sz;
276-
constexpr auto n_vecs = AddContigHyperparameterSet<argTy1, argTy2>::n_vecs;
275+
using AddHS = hyperparam_detail::AddContigHyperparameterSet<argTy1, argTy2>;
276+
constexpr auto vec_sz = AddHS::vec_sz;
277+
constexpr auto n_vecs = AddHS::n_vecs;
277278

278279
return elementwise_common::binary_contig_impl<
279280
argTy1, argTy2, AddOutputType, AddContigFunctor, add_contig_kernel,
@@ -550,8 +551,10 @@ add_inplace_contig_impl(sycl::queue &exec_q,
550551
ssize_t res_offset,
551552
const std::vector<sycl::event> &depends = {})
552553
{
553-
constexpr auto vec_sz = AddContigHyperparameterSet<resTy, argTy>::vec_sz;
554-
constexpr auto n_vecs = AddContigHyperparameterSet<resTy, argTy>::n_vecs;
554+
constexpr auto vec_sz =
555+
hyperparam_detail::AddContigHyperparameterSet<resTy, argTy>::vec_sz;
556+
constexpr auto n_vecs =
557+
hyperparam_detail::AddContigHyperparameterSet<resTy, argTy>::n_vecs;
555558

556559
return elementwise_common::binary_inplace_contig_impl<
557560
argTy, resTy, AddInplaceContigFunctor, add_inplace_contig_kernel,

dpctl/tensor/libtensor/include/kernels/elementwise_functions/angle.hpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ template <typename T> struct AngleOutputType
102102
static constexpr bool is_defined = !std::is_same_v<value_type, void>;
103103
};
104104

105-
namespace
105+
namespace hyperparam_detail
106106
{
107107

108108
namespace vsu_ns = dpctl::tensor::kernels::vec_size_utils;
@@ -119,7 +119,7 @@ template <typename argTy> struct AngleContigHyperparameterSet
119119
constexpr static auto n_vecs = value_type::n_vecs;
120120
};
121121

122-
} // end of anonymous namespace
122+
} // end of namespace hyperparam_detail
123123

124124
template <typename T1, typename T2, std::uint8_t vec_sz, std::uint8_t n_vecs>
125125
class angle_contig_kernel;
@@ -131,8 +131,9 @@ sycl::event angle_contig_impl(sycl::queue &exec_q,
131131
char *res_p,
132132
const std::vector<sycl::event> &depends = {})
133133
{
134-
constexpr std::uint8_t vec_sz = AngleContigHyperparameterSet<argTy>::vec_sz;
135-
constexpr std::uint8_t n_vec = AngleContigHyperparameterSet<argTy>::n_vecs;
134+
using AngleHS = hyperparam_detail::AngleContigHyperparameterSet<argTy>;
135+
constexpr std::uint8_t vec_sz = AngleHS::vec_sz;
136+
constexpr std::uint8_t n_vec = AngleHS::n_vecs;
136137

137138
return elementwise_common::unary_contig_impl<
138139
argTy, AngleOutputType, AngleContigFunctor, angle_contig_kernel, vec_sz,

dpctl/tensor/libtensor/include/kernels/elementwise_functions/asin.hpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ template <typename T> struct AsinOutputType
179179
static constexpr bool is_defined = !std::is_same_v<value_type, void>;
180180
};
181181

182-
namespace
182+
namespace hyperparam_detail
183183
{
184184

185185
namespace vsu_ns = dpctl::tensor::kernels::vec_size_utils;
@@ -196,7 +196,7 @@ template <typename argTy> struct AsinContigHyperparameterSet
196196
constexpr static auto n_vecs = value_type::n_vecs;
197197
};
198198

199-
} // end of anonymous namespace
199+
} // end of namespace hyperparam_detail
200200

201201
template <typename T1, typename T2, std::uint8_t vec_sz, std::uint8_t n_vecs>
202202
class asin_contig_kernel;
@@ -208,8 +208,9 @@ sycl::event asin_contig_impl(sycl::queue &exec_q,
208208
char *res_p,
209209
const std::vector<sycl::event> &depends = {})
210210
{
211-
constexpr std::uint8_t vec_sz = AsinContigHyperparameterSet<argTy>::vec_sz;
212-
constexpr std::uint8_t n_vec = AsinContigHyperparameterSet<argTy>::n_vecs;
211+
using AddHS = hyperparam_detail::AsinContigHyperparameterSet<argTy>;
212+
constexpr std::uint8_t vec_sz = AddHS::vec_sz;
213+
constexpr std::uint8_t n_vec = AddHS::n_vecs;
213214

214215
return elementwise_common::unary_contig_impl<
215216
argTy, AsinOutputType, AsinContigFunctor, asin_contig_kernel, vec_sz,

dpctl/tensor/libtensor/include/kernels/elementwise_functions/asinh.hpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ template <typename T> struct AsinhOutputType
162162
static constexpr bool is_defined = !std::is_same_v<value_type, void>;
163163
};
164164

165-
namespace
165+
namespace hyperparam_detail
166166
{
167167

168168
namespace vsu_ns = dpctl::tensor::kernels::vec_size_utils;
@@ -179,7 +179,7 @@ template <typename argTy> struct AsinhContigHyperparameterSet
179179
constexpr static auto n_vecs = value_type::n_vecs;
180180
};
181181

182-
} // end of anonymous namespace
182+
} // end of namespace hyperparam_detail
183183

184184
template <typename T1, typename T2, std::uint8_t vec_sz, std::uint8_t n_vecs>
185185
class asinh_contig_kernel;
@@ -191,8 +191,9 @@ sycl::event asinh_contig_impl(sycl::queue &exec_q,
191191
char *res_p,
192192
const std::vector<sycl::event> &depends = {})
193193
{
194-
constexpr std::uint8_t vec_sz = AsinhContigHyperparameterSet<argTy>::vec_sz;
195-
constexpr std::uint8_t n_vec = AsinhContigHyperparameterSet<argTy>::n_vecs;
194+
using AsinhHS = hyperparam_detail::AsinhContigHyperparameterSet<argTy>;
195+
constexpr std::uint8_t vec_sz = AsinhHS::vec_sz;
196+
constexpr std::uint8_t n_vec = AsinhHS::n_vecs;
196197

197198
return elementwise_common::unary_contig_impl<
198199
argTy, AsinhOutputType, AsinhContigFunctor, asinh_contig_kernel, vec_sz,

dpctl/tensor/libtensor/include/kernels/elementwise_functions/atan.hpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ template <typename T> struct AtanOutputType
172172
static constexpr bool is_defined = !std::is_same_v<value_type, void>;
173173
};
174174

175-
namespace
175+
namespace hyperparam_detail
176176
{
177177

178178
namespace vsu_ns = dpctl::tensor::kernels::vec_size_utils;
@@ -189,7 +189,7 @@ template <typename argTy> struct AtanContigHyperparameterSet
189189
constexpr static auto n_vecs = value_type::n_vecs;
190190
};
191191

192-
} // end of anonymous namespace
192+
} // end of namespace hyperparam_detail
193193

194194
template <typename T1, typename T2, std::uint8_t vec_sz, std::uint8_t n_vecs>
195195
class atan_contig_kernel;
@@ -201,8 +201,9 @@ sycl::event atan_contig_impl(sycl::queue &exec_q,
201201
char *res_p,
202202
const std::vector<sycl::event> &depends = {})
203203
{
204-
constexpr std::uint8_t vec_sz = AtanContigHyperparameterSet<argTy>::vec_sz;
205-
constexpr std::uint8_t n_vec = AtanContigHyperparameterSet<argTy>::n_vecs;
204+
using AtanHS = hyperparam_detail::AtanContigHyperparameterSet<argTy>;
205+
constexpr std::uint8_t vec_sz = AtanHS::vec_sz;
206+
constexpr std::uint8_t n_vec = AtanHS::n_vecs;
206207

207208
return elementwise_common::unary_contig_impl<
208209
argTy, AtanOutputType, AtanContigFunctor, atan_contig_kernel, vec_sz,

dpctl/tensor/libtensor/include/kernels/elementwise_functions/atan2.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ template <typename T1, typename T2> struct Atan2OutputType
106106
static constexpr bool is_defined = !std::is_same_v<value_type, void>;
107107
};
108108

109-
namespace
109+
namespace hyperparam_detail
110110
{
111111

112112
namespace vsu_ns = dpctl::tensor::kernels::vec_size_utils;
@@ -123,7 +123,7 @@ template <typename argTy1, typename argTy2> struct Atan2ContigHyperparameterSet
123123
constexpr static auto n_vecs = value_type::n_vecs;
124124
};
125125

126-
} // end of anonymous namespace
126+
} // end of namespace hyperparam_detail
127127

128128
template <typename argT1,
129129
typename argT2,
@@ -143,10 +143,10 @@ sycl::event atan2_contig_impl(sycl::queue &exec_q,
143143
ssize_t res_offset,
144144
const std::vector<sycl::event> &depends = {})
145145
{
146-
constexpr std::uint8_t vec_sz =
147-
Atan2ContigHyperparameterSet<argTy1, argTy2>::vec_sz;
148-
constexpr std::uint8_t n_vecs =
149-
Atan2ContigHyperparameterSet<argTy1, argTy2>::n_vecs;
146+
using Atan2HS =
147+
hyperparam_detail::Atan2ContigHyperparameterSet<argTy1, argTy2>;
148+
constexpr std::uint8_t vec_sz = Atan2HS::vec_sz;
149+
constexpr std::uint8_t n_vecs = Atan2HS::n_vecs;
150150

151151
return elementwise_common::binary_contig_impl<
152152
argTy1, argTy2, Atan2OutputType, Atan2ContigFunctor,

dpctl/tensor/libtensor/include/kernels/elementwise_functions/atanh.hpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ template <typename T> struct AtanhOutputType
163163
static constexpr bool is_defined = !std::is_same_v<value_type, void>;
164164
};
165165

166-
namespace
166+
namespace hyperparam_detail
167167
{
168168

169169
namespace vsu_ns = dpctl::tensor::kernels::vec_size_utils;
@@ -180,7 +180,7 @@ template <typename argTy> struct AtanhContigHyperparameterSet
180180
constexpr static auto n_vecs = value_type::n_vecs;
181181
};
182182

183-
} // end of anonymous namespace
183+
} // end of namespace hyperparam_detail
184184

185185
template <typename T1, typename T2, std::uint8_t vec_sz, std::uint8_t n_vecs>
186186
class atanh_contig_kernel;
@@ -192,8 +192,9 @@ sycl::event atanh_contig_impl(sycl::queue &exec_q,
192192
char *res_p,
193193
const std::vector<sycl::event> &depends = {})
194194
{
195-
constexpr std::uint8_t vec_sz = AtanhContigHyperparameterSet<argTy>::vec_sz;
196-
constexpr std::uint8_t n_vec = AtanhContigHyperparameterSet<argTy>::n_vecs;
195+
using AtanhHS = hyperparam_detail::AtanhContigHyperparameterSet<argTy>;
196+
constexpr std::uint8_t vec_sz = AtanhHS::vec_sz;
197+
constexpr std::uint8_t n_vec = AtanhHS::n_vecs;
197198

198199
return elementwise_common::unary_contig_impl<
199200
argTy, AtanhOutputType, AtanhContigFunctor, atanh_contig_kernel, vec_sz,

dpctl/tensor/libtensor/include/kernels/elementwise_functions/bitwise_and.hpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ template <typename T1, typename T2> struct BitwiseAndOutputType
163163
static constexpr bool is_defined = !std::is_same_v<value_type, void>;
164164
};
165165

166-
namespace
166+
namespace hyperparam_detail
167167
{
168168

169169
namespace vsu_ns = dpctl::tensor::kernels::vec_size_utils;
@@ -180,7 +180,7 @@ struct BitwiseAndContigHyperparameterSet
180180
constexpr static auto vec_sz = value_type::vec_sz;
181181
constexpr static auto n_vecs = value_type::n_vecs;
182182
};
183-
} // namespace
183+
} // end of namespace hyperparam_detail
184184

185185
template <typename argT1,
186186
typename argT2,
@@ -201,10 +201,10 @@ bitwise_and_contig_impl(sycl::queue &exec_q,
201201
ssize_t res_offset,
202202
const std::vector<sycl::event> &depends = {})
203203
{
204-
constexpr std::uint8_t vec_sz =
205-
BitwiseAndContigHyperparameterSet<argTy1, argTy2>::vec_sz;
206-
constexpr std::uint8_t n_vec =
207-
BitwiseAndContigHyperparameterSet<argTy1, argTy2>::n_vecs;
204+
using BitwiseAndHS =
205+
hyperparam_detail::BitwiseAndContigHyperparameterSet<argTy1, argTy2>;
206+
constexpr std::uint8_t vec_sz = BitwiseAndHS::vec_sz;
207+
constexpr std::uint8_t n_vec = BitwiseAndHS::n_vecs;
208208

209209
return elementwise_common::binary_contig_impl<
210210
argTy1, argTy2, BitwiseAndOutputType, BitwiseAndContigFunctor,
@@ -389,10 +389,10 @@ bitwise_and_inplace_contig_impl(sycl::queue &exec_q,
389389
ssize_t res_offset,
390390
const std::vector<sycl::event> &depends = {})
391391
{
392-
constexpr std::uint8_t vec_sz =
393-
BitwiseAndContigHyperparameterSet<resTy, argTy>::vec_sz;
394-
constexpr std::uint8_t n_vecs =
395-
BitwiseAndContigHyperparameterSet<resTy, argTy>::n_vecs;
392+
using BitwiseAndHS =
393+
hyperparam_detail::BitwiseAndContigHyperparameterSet<resTy, argTy>;
394+
constexpr std::uint8_t vec_sz = BitwiseAndHS::vec_sz;
395+
constexpr std::uint8_t n_vecs = BitwiseAndHS::n_vecs;
396396

397397
return elementwise_common::binary_inplace_contig_impl<
398398
argTy, resTy, BitwiseAndInplaceContigFunctor,

dpctl/tensor/libtensor/include/kernels/elementwise_functions/bitwise_invert.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ template <typename argTy> struct BitwiseInvertOutputType
118118
static constexpr bool is_defined = !std::is_same_v<value_type, void>;
119119
};
120120

121-
namespace
121+
namespace hyperparam_detail
122122
{
123123

124124
namespace vsu_ns = dpctl::tensor::kernels::vec_size_utils;
@@ -135,7 +135,7 @@ template <typename argTy> struct BitwiseInvertContigHyperparameterSet
135135
constexpr static auto n_vecs = value_type::n_vecs;
136136
};
137137

138-
} // end of anonymous namespace
138+
} // end of namespace hyperparam_detail
139139

140140
template <typename T1, typename T2, std::uint8_t vec_sz, std::uint8_t n_vecs>
141141
class bitwise_invert_contig_kernel;
@@ -148,10 +148,10 @@ bitwise_invert_contig_impl(sycl::queue &exec_q,
148148
char *res_p,
149149
const std::vector<sycl::event> &depends = {})
150150
{
151-
constexpr std::uint8_t vec_sz =
152-
BitwiseInvertContigHyperparameterSet<argTy>::vec_sz;
153-
constexpr std::uint8_t n_vec =
154-
BitwiseInvertContigHyperparameterSet<argTy>::n_vecs;
151+
using BitwiseInvertHS =
152+
hyperparam_detail::BitwiseInvertContigHyperparameterSet<argTy>;
153+
constexpr std::uint8_t vec_sz = BitwiseInvertHS::vec_sz;
154+
constexpr std::uint8_t n_vec = BitwiseInvertHS::n_vecs;
155155

156156
return elementwise_common::unary_contig_impl<
157157
argTy, BitwiseInvertOutputType, BitwiseInvertContigFunctor,

0 commit comments

Comments
 (0)