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