34#include "utils/type_dispatch.hpp"
37namespace dpnp_td_ns = dpnp::tensor::type_dispatch;
39namespace dpnp::extensions::lapack::types
54 static constexpr bool is_defined =
55 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T, double, T, double>,
56 dpnp_td_ns::TypePairDefinedEntry<T, float, T, float>,
57 dpnp_td_ns::TypePairDefinedEntry<T,
61 dpnp_td_ns::TypePairDefinedEntry<T,
64 std::complex<double>>,
66 dpnp_td_ns::NotDefinedEntry>::is_defined;
81 static constexpr bool is_defined =
82 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T, double, T, double>,
83 dpnp_td_ns::TypePairDefinedEntry<T, float, T, float>,
84 dpnp_td_ns::TypePairDefinedEntry<T,
88 dpnp_td_ns::TypePairDefinedEntry<T,
91 std::complex<double>>,
93 dpnp_td_ns::NotDefinedEntry>::is_defined;
108 static constexpr bool is_defined =
109 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T, float, T, float>,
110 dpnp_td_ns::TypePairDefinedEntry<T, double, T, double>,
111 dpnp_td_ns::TypePairDefinedEntry<T,
114 std::complex<float>>,
115 dpnp_td_ns::TypePairDefinedEntry<T,
116 std::complex<double>,
118 std::complex<double>>,
120 dpnp_td_ns::NotDefinedEntry>::is_defined;
132template <
typename T,
typename RealT>
135 static constexpr bool is_defined = std::disjunction<
136 dpnp_td_ns::TypePairDefinedEntry<T, float, RealT, float>,
137 dpnp_td_ns::TypePairDefinedEntry<T, double, RealT, double>,
138 dpnp_td_ns::TypePairDefinedEntry<T, std::complex<float>, RealT,
float>,
140 TypePairDefinedEntry<T, std::complex<double>, RealT,
double>,
142 dpnp_td_ns::NotDefinedEntry>::is_defined;
156 static constexpr bool is_defined =
157 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T, double, T, double>,
158 dpnp_td_ns::TypePairDefinedEntry<T, float, T, float>,
159 dpnp_td_ns::TypePairDefinedEntry<T,
162 std::complex<float>>,
163 dpnp_td_ns::TypePairDefinedEntry<T,
164 std::complex<double>,
166 std::complex<double>>,
168 dpnp_td_ns::NotDefinedEntry>::is_defined;
182 static constexpr bool is_defined =
183 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T, double, T, double>,
184 dpnp_td_ns::TypePairDefinedEntry<T, float, T, float>,
185 dpnp_td_ns::TypePairDefinedEntry<T,
188 std::complex<float>>,
189 dpnp_td_ns::TypePairDefinedEntry<T,
190 std::complex<double>,
192 std::complex<double>>,
194 dpnp_td_ns::NotDefinedEntry>::is_defined;
208 static constexpr bool is_defined =
209 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T, double, T, double>,
210 dpnp_td_ns::TypePairDefinedEntry<T, float, T, float>,
211 dpnp_td_ns::TypePairDefinedEntry<T,
214 std::complex<float>>,
215 dpnp_td_ns::TypePairDefinedEntry<T,
216 std::complex<double>,
218 std::complex<double>>,
220 dpnp_td_ns::NotDefinedEntry>::is_defined;
236 static constexpr bool is_defined =
237 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T, double, T, double>,
238 dpnp_td_ns::TypePairDefinedEntry<T, float, T, float>,
239 dpnp_td_ns::TypePairDefinedEntry<T,
242 std::complex<float>>,
243 dpnp_td_ns::TypePairDefinedEntry<T,
244 std::complex<double>,
246 std::complex<double>>,
248 dpnp_td_ns::NotDefinedEntry>::is_defined;
264 static constexpr bool is_defined =
265 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T, double, T, double>,
266 dpnp_td_ns::TypePairDefinedEntry<T, float, T, float>,
267 dpnp_td_ns::TypePairDefinedEntry<T,
270 std::complex<float>>,
271 dpnp_td_ns::TypePairDefinedEntry<T,
272 std::complex<double>,
274 std::complex<double>>,
276 dpnp_td_ns::NotDefinedEntry>::is_defined;
288template <
typename T,
typename RealT>
291 static constexpr bool is_defined = std::disjunction<
293 TypePairDefinedEntry<T, std::complex<double>, RealT,
double>,
294 dpnp_td_ns::TypePairDefinedEntry<T, std::complex<float>, RealT,
float>,
296 dpnp_td_ns::NotDefinedEntry>::is_defined;
313 static constexpr bool is_defined =
314 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T, double, T, double>,
315 dpnp_td_ns::TypePairDefinedEntry<T, float, T, float>,
317 dpnp_td_ns::NotDefinedEntry>::is_defined;
332 static constexpr bool is_defined =
333 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T, double, T, double>,
334 dpnp_td_ns::TypePairDefinedEntry<T, float, T, float>,
336 dpnp_td_ns::NotDefinedEntry>::is_defined;
350 static constexpr bool is_defined =
351 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T, double, T, double>,
352 dpnp_td_ns::TypePairDefinedEntry<T, float, T, float>,
353 dpnp_td_ns::TypePairDefinedEntry<T,
356 std::complex<float>>,
357 dpnp_td_ns::TypePairDefinedEntry<T,
358 std::complex<double>,
360 std::complex<double>>,
362 dpnp_td_ns::NotDefinedEntry>::is_defined;
376 static constexpr bool is_defined =
377 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T, double, T, double>,
378 dpnp_td_ns::TypePairDefinedEntry<T, float, T, float>,
379 dpnp_td_ns::TypePairDefinedEntry<T,
382 std::complex<float>>,
383 dpnp_td_ns::TypePairDefinedEntry<T,
384 std::complex<double>,
386 std::complex<double>>,
388 dpnp_td_ns::NotDefinedEntry>::is_defined;
399template <
typename T,
typename RealT>
402 static constexpr bool is_defined = std::disjunction<
403 dpnp_td_ns::TypePairDefinedEntry<T, double, RealT, double>,
404 dpnp_td_ns::TypePairDefinedEntry<T, float, RealT, float>,
406 dpnp_td_ns::NotDefinedEntry>::is_defined;
423 static constexpr bool is_defined =
424 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T,
427 std::complex<float>>,
428 dpnp_td_ns::TypePairDefinedEntry<T,
429 std::complex<double>,
431 std::complex<double>>,
433 dpnp_td_ns::NotDefinedEntry>::is_defined;
448 static constexpr bool is_defined =
449 std::disjunction<dpnp_td_ns::TypePairDefinedEntry<T,
452 std::complex<float>>,
453 dpnp_td_ns::TypePairDefinedEntry<T,
454 std::complex<double>,
456 std::complex<double>>,
458 dpnp_td_ns::NotDefinedEntry>::is_defined;
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...
A factory to define pairs of supported types for which MKL LAPACK library provides support in oneapi:...