31#include "utils/type_dispatch.hpp"
34namespace dpctl_td_ns = dpctl::tensor::type_dispatch;
36namespace dpnp::extensions::lapack::types
51 static constexpr bool is_defined = std::disjunction<
52 dpctl_td_ns::TypePairDefinedEntry<T, double, T, double>,
53 dpctl_td_ns::TypePairDefinedEntry<T, float, T, float>,
54 dpctl_td_ns::TypePairDefinedEntry<T,
58 dpctl_td_ns::TypePairDefinedEntry<T,
61 std::complex<double>>,
63 dpctl_td_ns::NotDefinedEntry>::is_defined;
78 static constexpr bool is_defined = std::disjunction<
79 dpctl_td_ns::TypePairDefinedEntry<T, double, T, double>,
80 dpctl_td_ns::TypePairDefinedEntry<T, float, T, float>,
81 dpctl_td_ns::TypePairDefinedEntry<T,
85 dpctl_td_ns::TypePairDefinedEntry<T,
88 std::complex<double>>,
90 dpctl_td_ns::NotDefinedEntry>::is_defined;
105 static constexpr bool is_defined = std::disjunction<
106 dpctl_td_ns::TypePairDefinedEntry<T, float, T, float>,
107 dpctl_td_ns::TypePairDefinedEntry<T, double, T, double>,
108 dpctl_td_ns::TypePairDefinedEntry<T,
111 std::complex<float>>,
112 dpctl_td_ns::TypePairDefinedEntry<T,
113 std::complex<double>,
115 std::complex<double>>,
117 dpctl_td_ns::NotDefinedEntry>::is_defined;
129template <
typename T,
typename RealT>
132 static constexpr bool is_defined = std::disjunction<
133 dpctl_td_ns::TypePairDefinedEntry<T, float, RealT, float>,
134 dpctl_td_ns::TypePairDefinedEntry<T, double, RealT, double>,
135 dpctl_td_ns::TypePairDefinedEntry<T, std::complex<float>, RealT,
float>,
137 TypePairDefinedEntry<T, std::complex<double>, RealT,
double>,
139 dpctl_td_ns::NotDefinedEntry>::is_defined;
153 static constexpr bool is_defined = std::disjunction<
154 dpctl_td_ns::TypePairDefinedEntry<T, double, T, double>,
155 dpctl_td_ns::TypePairDefinedEntry<T, float, T, float>,
156 dpctl_td_ns::TypePairDefinedEntry<T,
159 std::complex<float>>,
160 dpctl_td_ns::TypePairDefinedEntry<T,
161 std::complex<double>,
163 std::complex<double>>,
165 dpctl_td_ns::NotDefinedEntry>::is_defined;
179 static constexpr bool is_defined = std::disjunction<
180 dpctl_td_ns::TypePairDefinedEntry<T, double, T, double>,
181 dpctl_td_ns::TypePairDefinedEntry<T, float, T, float>,
182 dpctl_td_ns::TypePairDefinedEntry<T,
185 std::complex<float>>,
186 dpctl_td_ns::TypePairDefinedEntry<T,
187 std::complex<double>,
189 std::complex<double>>,
191 dpctl_td_ns::NotDefinedEntry>::is_defined;
205 static constexpr bool is_defined = std::disjunction<
206 dpctl_td_ns::TypePairDefinedEntry<T, double, T, double>,
207 dpctl_td_ns::TypePairDefinedEntry<T, float, T, float>,
208 dpctl_td_ns::TypePairDefinedEntry<T,
211 std::complex<float>>,
212 dpctl_td_ns::TypePairDefinedEntry<T,
213 std::complex<double>,
215 std::complex<double>>,
217 dpctl_td_ns::NotDefinedEntry>::is_defined;
233 static constexpr bool is_defined = std::disjunction<
234 dpctl_td_ns::TypePairDefinedEntry<T, double, T, double>,
235 dpctl_td_ns::TypePairDefinedEntry<T, float, T, float>,
236 dpctl_td_ns::TypePairDefinedEntry<T,
239 std::complex<float>>,
240 dpctl_td_ns::TypePairDefinedEntry<T,
241 std::complex<double>,
243 std::complex<double>>,
245 dpctl_td_ns::NotDefinedEntry>::is_defined;
257template <
typename T,
typename RealT>
260 static constexpr bool is_defined = std::disjunction<
262 TypePairDefinedEntry<T, std::complex<double>, RealT,
double>,
263 dpctl_td_ns::TypePairDefinedEntry<T, std::complex<float>, RealT,
float>,
265 dpctl_td_ns::NotDefinedEntry>::is_defined;
282 static constexpr bool is_defined = std::disjunction<
283 dpctl_td_ns::TypePairDefinedEntry<T, double, T, double>,
284 dpctl_td_ns::TypePairDefinedEntry<T, float, T, float>,
286 dpctl_td_ns::NotDefinedEntry>::is_defined;
301 static constexpr bool is_defined = std::disjunction<
302 dpctl_td_ns::TypePairDefinedEntry<T, double, T, double>,
303 dpctl_td_ns::TypePairDefinedEntry<T, float, T, float>,
305 dpctl_td_ns::NotDefinedEntry>::is_defined;
319 static constexpr bool is_defined = std::disjunction<
320 dpctl_td_ns::TypePairDefinedEntry<T, double, T, double>,
321 dpctl_td_ns::TypePairDefinedEntry<T, float, T, float>,
322 dpctl_td_ns::TypePairDefinedEntry<T,
325 std::complex<float>>,
326 dpctl_td_ns::TypePairDefinedEntry<T,
327 std::complex<double>,
329 std::complex<double>>,
331 dpctl_td_ns::NotDefinedEntry>::is_defined;
345 static constexpr bool is_defined = std::disjunction<
346 dpctl_td_ns::TypePairDefinedEntry<T, double, T, double>,
347 dpctl_td_ns::TypePairDefinedEntry<T, float, T, float>,
348 dpctl_td_ns::TypePairDefinedEntry<T,
351 std::complex<float>>,
352 dpctl_td_ns::TypePairDefinedEntry<T,
353 std::complex<double>,
355 std::complex<double>>,
357 dpctl_td_ns::NotDefinedEntry>::is_defined;
368template <
typename T,
typename RealT>
371 static constexpr bool is_defined = std::disjunction<
372 dpctl_td_ns::TypePairDefinedEntry<T, double, RealT, double>,
373 dpctl_td_ns::TypePairDefinedEntry<T, float, RealT, float>,
375 dpctl_td_ns::NotDefinedEntry>::is_defined;
392 static constexpr bool is_defined = std::disjunction<
393 dpctl_td_ns::TypePairDefinedEntry<T,
396 std::complex<float>>,
397 dpctl_td_ns::TypePairDefinedEntry<T,
398 std::complex<double>,
400 std::complex<double>>,
402 dpctl_td_ns::NotDefinedEntry>::is_defined;
417 static constexpr bool is_defined = std::disjunction<
418 dpctl_td_ns::TypePairDefinedEntry<T,
421 std::complex<float>>,
422 dpctl_td_ns::TypePairDefinedEntry<T,
423 std::complex<double>,
425 std::complex<double>>,
427 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:...