mkl-devel-dpcpp 2025.0.0__py2.py3-none-manylinux_2_28_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mkl-devel-dpcpp might be problematic. Click here for more details.

Files changed (82) hide show
  1. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/bfloat16.hpp +26 -0
  2. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/blas/buffer.hpp +42 -0
  3. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/blas/buffer_decls.hpp +880 -0
  4. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/blas/types.hpp +60 -0
  5. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/blas/usm.hpp +42 -0
  6. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/blas/usm_decls.hpp +1240 -0
  7. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/blas.hpp +33 -0
  8. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/dft.hpp +253 -0
  9. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/dfti.hpp +22 -0
  10. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/exceptions.hpp +110 -0
  11. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/experimental/data_fitting/interpolate.hpp +67 -0
  12. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/experimental/data_fitting/spline_and_data_params.hpp +68 -0
  13. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/experimental/data_fitting/splines.hpp +177 -0
  14. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/experimental/data_fitting.hpp +22 -0
  15. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/export.hpp +25 -0
  16. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/lapack/concepts.hpp +55 -0
  17. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/lapack/exceptions.hpp +75 -0
  18. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/lapack/lapack.hpp +1095 -0
  19. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/lapack/scratchpad.hpp +106 -0
  20. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/lapack.hpp +23 -0
  21. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/detail/engine_base.hpp +48 -0
  22. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/bernoulli_impl.hpp +89 -0
  23. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/beta_impl.hpp +464 -0
  24. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/bits_impl.hpp +71 -0
  25. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/distribution_base.hpp +81 -0
  26. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/engine_base.hpp +43 -0
  27. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/engine_helpers_base.hpp +54 -0
  28. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/exponential_impl.hpp +116 -0
  29. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/gamma_impl.hpp +285 -0
  30. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/gaussian_impl.hpp +270 -0
  31. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/lognormal_impl.hpp +105 -0
  32. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/mcg31m1_helpers_impl.hpp +117 -0
  33. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/mcg31m1_impl.hpp +223 -0
  34. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/mcg59_helpers_impl.hpp +118 -0
  35. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/mcg59_impl.hpp +266 -0
  36. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/mrg32k3a_helpers_impl.hpp +125 -0
  37. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/mrg32k3a_impl.hpp +385 -0
  38. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/mrg32k3a_skip_ahead_matrix.hpp +3668 -0
  39. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/philox4x32x10_helpers_impl.hpp +141 -0
  40. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/philox4x32x10_impl.hpp +552 -0
  41. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/poisson_impl.hpp +355 -0
  42. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/types.hpp +58 -0
  43. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/uniform_bits_impl.hpp +51 -0
  44. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/uniform_impl.hpp +289 -0
  45. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/detail/vm_wrappers.hpp +183 -0
  46. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/distributions.hpp +637 -0
  47. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/engine_helpers.hpp +116 -0
  48. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/engines.hpp +187 -0
  49. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/functions.hpp +59 -0
  50. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device/types.hpp +74 -0
  51. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/device.hpp +29 -0
  52. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/distributions.hpp +1913 -0
  53. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/engines.hpp +788 -0
  54. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng/functions.hpp +163 -0
  55. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/rng.hpp +22 -0
  56. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/spblas/sparse_auxiliary.hpp +111 -0
  57. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/spblas/sparse_operations.hpp +446 -0
  58. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/spblas/sparse_structures.hpp +193 -0
  59. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/spblas.hpp +32 -0
  60. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/stats.hpp +356 -0
  61. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/types.hpp +321 -0
  62. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/vm/buffer.hpp +3529 -0
  63. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/vm/decls.hpp +280 -0
  64. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/vm/device/detail/decls.hpp +81 -0
  65. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/vm/device/detail/dispatch.hpp +1059 -0
  66. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/vm/device/detail/ep.hpp +861 -0
  67. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/vm/device/detail/ha.hpp +860 -0
  68. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/vm/device/detail/la.hpp +860 -0
  69. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/vm/device/detail/rts.hpp +4608 -0
  70. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/vm/device/detail/scalar.hpp +8963 -0
  71. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/vm/device/vm.hpp +460 -0
  72. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/vm/span.hpp +3813 -0
  73. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/vm/usm.hpp +3581 -0
  74. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl/vm.hpp +30 -0
  75. mkl_devel_dpcpp-2025.0.0.data/data/include/oneapi/mkl.hpp +34 -0
  76. mkl_devel_dpcpp-2025.0.0.data/data/lib/libmkl_sycl.a +0 -0
  77. mkl_devel_dpcpp-2025.0.0.data/data/lib/libmkl_sycl.so +1 -0
  78. mkl_devel_dpcpp-2025.0.0.dist-info/LICENSE.txt +25 -0
  79. mkl_devel_dpcpp-2025.0.0.dist-info/METADATA +24 -0
  80. mkl_devel_dpcpp-2025.0.0.dist-info/RECORD +82 -0
  81. mkl_devel_dpcpp-2025.0.0.dist-info/WHEEL +6 -0
  82. mkl_devel_dpcpp-2025.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,860 @@
1
+ /*******************************************************************************
2
+ * Copyright 2019-2024 Intel Corporation.
3
+ *
4
+ * This software and the related documents are Intel copyrighted materials, and
5
+ * your use of them is governed by the express license under which they were
6
+ * provided to you (License). Unless the License provides otherwise, you may not
7
+ * use, modify, copy, publish, distribute, disclose or transmit this software or
8
+ * the related documents without Intel's prior written permission.
9
+ *
10
+ * This software and the related documents are provided as is, with no express
11
+ * or implied warranties, other than those that are expressly stated in the
12
+ * License.
13
+ *******************************************************************************/
14
+
15
+ #ifndef ONEAPI_MKL_VM_DEVICE_LA_HPP
16
+ #define ONEAPI_MKL_VM_DEVICE_LA_HPP 1
17
+
18
+ #include "oneapi/mkl/vm/device/detail/decls.hpp"
19
+
20
+ #include "oneapi/mkl/vm/device/detail/dispatch.hpp"
21
+ #include "oneapi/mkl/vm/device/detail/scalar.hpp"
22
+ #
23
+ namespace oneapi::mkl::vm::device::detail::la {
24
+
25
+ template <typename Tin, typename Tout>
26
+ typename std::enable_if<ExistsAtAll<Function::kAbs, Tin, Tout, Accuracy::kLA>,
27
+ oneapi::mkl::vm::status>::type
28
+ abs(const Tin* a, Tout* y) {
29
+ constexpr auto cts =
30
+ CompileTimeSelector<Function::kAbs, Tin, Tout, Accuracy::kLA>::result;
31
+ Evaluator<Function::kAbs, Tin, Tout, cts.first, cts.second> EV;
32
+ return EV(a, y);
33
+ }
34
+
35
+ template <typename Tin, typename Tout>
36
+ typename std::enable_if<ExistsAtAll<Function::kAcos, Tin, Tout, Accuracy::kLA>,
37
+ oneapi::mkl::vm::status>::type
38
+ acos(const Tin* a, Tout* y) {
39
+ constexpr auto cts =
40
+ CompileTimeSelector<Function::kAcos, Tin, Tout, Accuracy::kLA>::result;
41
+ Evaluator<Function::kAcos, Tin, Tout, cts.first, cts.second> EV;
42
+ return EV(a, y);
43
+ }
44
+
45
+ template <typename Tin, typename Tout>
46
+ typename std::enable_if<ExistsAtAll<Function::kAcosh, Tin, Tout, Accuracy::kLA>,
47
+ oneapi::mkl::vm::status>::type
48
+ acosh(const Tin* a, Tout* y) {
49
+ constexpr auto cts =
50
+ CompileTimeSelector<Function::kAcosh, Tin, Tout, Accuracy::kLA>::result;
51
+ Evaluator<Function::kAcosh, Tin, Tout, cts.first, cts.second> EV;
52
+ return EV(a, y);
53
+ }
54
+
55
+ template <typename Tin, typename Tout>
56
+ typename std::enable_if<
57
+ ExistsAtAll<Function::kAcospi, Tin, Tout, Accuracy::kLA>,
58
+ oneapi::mkl::vm::status>::type
59
+ acospi(const Tin* a, Tout* y) {
60
+ constexpr auto cts =
61
+ CompileTimeSelector<Function::kAcospi, Tin, Tout, Accuracy::kLA>::result;
62
+ Evaluator<Function::kAcospi, Tin, Tout, cts.first, cts.second> EV;
63
+ return EV(a, y);
64
+ }
65
+
66
+ template <typename Tin, typename Tout>
67
+ typename std::enable_if<ExistsAtAll<Function::kAdd, Tin, Tout, Accuracy::kLA>,
68
+ oneapi::mkl::vm::status>::type
69
+ add(const Tin* a, const Tin* b, Tout* y) {
70
+ constexpr auto cts =
71
+ CompileTimeSelector<Function::kAdd, Tin, Tout, Accuracy::kLA>::result;
72
+ Evaluator<Function::kAdd, Tin, Tout, cts.first, cts.second> EV;
73
+ return EV(a, b, y);
74
+ }
75
+
76
+ template <typename Tin, typename Tout>
77
+ typename std::enable_if<ExistsAtAll<Function::kArg, Tin, Tout, Accuracy::kLA>,
78
+ oneapi::mkl::vm::status>::type
79
+ arg(const Tin* a, Tout* y) {
80
+ constexpr auto cts =
81
+ CompileTimeSelector<Function::kArg, Tin, Tout, Accuracy::kLA>::result;
82
+ Evaluator<Function::kArg, Tin, Tout, cts.first, cts.second> EV;
83
+ return EV(a, y);
84
+ }
85
+
86
+ template <typename Tin, typename Tout>
87
+ typename std::enable_if<ExistsAtAll<Function::kAsin, Tin, Tout, Accuracy::kLA>,
88
+ oneapi::mkl::vm::status>::type
89
+ asin(const Tin* a, Tout* y) {
90
+ constexpr auto cts =
91
+ CompileTimeSelector<Function::kAsin, Tin, Tout, Accuracy::kLA>::result;
92
+ Evaluator<Function::kAsin, Tin, Tout, cts.first, cts.second> EV;
93
+ return EV(a, y);
94
+ }
95
+
96
+ template <typename Tin, typename Tout>
97
+ typename std::enable_if<ExistsAtAll<Function::kAsinh, Tin, Tout, Accuracy::kLA>,
98
+ oneapi::mkl::vm::status>::type
99
+ asinh(const Tin* a, Tout* y) {
100
+ constexpr auto cts =
101
+ CompileTimeSelector<Function::kAsinh, Tin, Tout, Accuracy::kLA>::result;
102
+ Evaluator<Function::kAsinh, Tin, Tout, cts.first, cts.second> EV;
103
+ return EV(a, y);
104
+ }
105
+
106
+ template <typename Tin, typename Tout>
107
+ typename std::enable_if<
108
+ ExistsAtAll<Function::kAsinpi, Tin, Tout, Accuracy::kLA>,
109
+ oneapi::mkl::vm::status>::type
110
+ asinpi(const Tin* a, Tout* y) {
111
+ constexpr auto cts =
112
+ CompileTimeSelector<Function::kAsinpi, Tin, Tout, Accuracy::kLA>::result;
113
+ Evaluator<Function::kAsinpi, Tin, Tout, cts.first, cts.second> EV;
114
+ return EV(a, y);
115
+ }
116
+
117
+ template <typename Tin, typename Tout>
118
+ typename std::enable_if<ExistsAtAll<Function::kAtan, Tin, Tout, Accuracy::kLA>,
119
+ oneapi::mkl::vm::status>::type
120
+ atan(const Tin* a, Tout* y) {
121
+ constexpr auto cts =
122
+ CompileTimeSelector<Function::kAtan, Tin, Tout, Accuracy::kLA>::result;
123
+ Evaluator<Function::kAtan, Tin, Tout, cts.first, cts.second> EV;
124
+ return EV(a, y);
125
+ }
126
+
127
+ template <typename Tin, typename Tout>
128
+ typename std::enable_if<ExistsAtAll<Function::kAtan2, Tin, Tout, Accuracy::kLA>,
129
+ oneapi::mkl::vm::status>::type
130
+ atan2(const Tin* a, const Tin* b, Tout* y) {
131
+ constexpr auto cts =
132
+ CompileTimeSelector<Function::kAtan2, Tin, Tout, Accuracy::kLA>::result;
133
+ Evaluator<Function::kAtan2, Tin, Tout, cts.first, cts.second> EV;
134
+ return EV(a, b, y);
135
+ }
136
+
137
+ template <typename Tin, typename Tout>
138
+ typename std::enable_if<
139
+ ExistsAtAll<Function::kAtan2pi, Tin, Tout, Accuracy::kLA>,
140
+ oneapi::mkl::vm::status>::type
141
+ atan2pi(const Tin* a, const Tin* b, Tout* y) {
142
+ constexpr auto cts =
143
+ CompileTimeSelector<Function::kAtan2pi, Tin, Tout, Accuracy::kLA>::result;
144
+ Evaluator<Function::kAtan2pi, Tin, Tout, cts.first, cts.second> EV;
145
+ return EV(a, b, y);
146
+ }
147
+
148
+ template <typename Tin, typename Tout>
149
+ typename std::enable_if<ExistsAtAll<Function::kAtanh, Tin, Tout, Accuracy::kLA>,
150
+ oneapi::mkl::vm::status>::type
151
+ atanh(const Tin* a, Tout* y) {
152
+ constexpr auto cts =
153
+ CompileTimeSelector<Function::kAtanh, Tin, Tout, Accuracy::kLA>::result;
154
+ Evaluator<Function::kAtanh, Tin, Tout, cts.first, cts.second> EV;
155
+ return EV(a, y);
156
+ }
157
+
158
+ template <typename Tin, typename Tout>
159
+ typename std::enable_if<
160
+ ExistsAtAll<Function::kAtanpi, Tin, Tout, Accuracy::kLA>,
161
+ oneapi::mkl::vm::status>::type
162
+ atanpi(const Tin* a, Tout* y) {
163
+ constexpr auto cts =
164
+ CompileTimeSelector<Function::kAtanpi, Tin, Tout, Accuracy::kLA>::result;
165
+ Evaluator<Function::kAtanpi, Tin, Tout, cts.first, cts.second> EV;
166
+ return EV(a, y);
167
+ }
168
+
169
+ template <typename Tin, typename Tout>
170
+ typename std::enable_if<ExistsAtAll<Function::kCbrt, Tin, Tout, Accuracy::kLA>,
171
+ oneapi::mkl::vm::status>::type
172
+ cbrt(const Tin* a, Tout* y) {
173
+ constexpr auto cts =
174
+ CompileTimeSelector<Function::kCbrt, Tin, Tout, Accuracy::kLA>::result;
175
+ Evaluator<Function::kCbrt, Tin, Tout, cts.first, cts.second> EV;
176
+ return EV(a, y);
177
+ }
178
+
179
+ template <typename Tin, typename Tout>
180
+ typename std::enable_if<
181
+ ExistsAtAll<Function::kCdfnorm, Tin, Tout, Accuracy::kLA>,
182
+ oneapi::mkl::vm::status>::type
183
+ cdfnorm(const Tin* a, Tout* y) {
184
+ constexpr auto cts =
185
+ CompileTimeSelector<Function::kCdfnorm, Tin, Tout, Accuracy::kLA>::result;
186
+ Evaluator<Function::kCdfnorm, Tin, Tout, cts.first, cts.second> EV;
187
+ return EV(a, y);
188
+ }
189
+
190
+ template <typename Tin, typename Tout>
191
+ typename std::enable_if<
192
+ ExistsAtAll<Function::kCdfnorminv, Tin, Tout, Accuracy::kLA>,
193
+ oneapi::mkl::vm::status>::type
194
+ cdfnorminv(const Tin* a, Tout* y) {
195
+ constexpr auto cts = CompileTimeSelector<Function::kCdfnorminv, Tin, Tout,
196
+ Accuracy::kLA>::result;
197
+ Evaluator<Function::kCdfnorminv, Tin, Tout, cts.first, cts.second> EV;
198
+ return EV(a, y);
199
+ }
200
+
201
+ template <typename Tin, typename Tout>
202
+ typename std::enable_if<ExistsAtAll<Function::kCeil, Tin, Tout, Accuracy::kLA>,
203
+ oneapi::mkl::vm::status>::type
204
+ ceil(const Tin* a, Tout* y) {
205
+ constexpr auto cts =
206
+ CompileTimeSelector<Function::kCeil, Tin, Tout, Accuracy::kLA>::result;
207
+ Evaluator<Function::kCeil, Tin, Tout, cts.first, cts.second> EV;
208
+ return EV(a, y);
209
+ }
210
+
211
+ template <typename Tin, typename Tout>
212
+ typename std::enable_if<ExistsAtAll<Function::kCis, Tin, Tout, Accuracy::kLA>,
213
+ oneapi::mkl::vm::status>::type
214
+ cis(const Tin* a, Tout* y) {
215
+ constexpr auto cts =
216
+ CompileTimeSelector<Function::kCis, Tin, Tout, Accuracy::kLA>::result;
217
+ Evaluator<Function::kCis, Tin, Tout, cts.first, cts.second> EV;
218
+ return EV(a, y);
219
+ }
220
+
221
+ template <typename Tin, typename Tout>
222
+ typename std::enable_if<ExistsAtAll<Function::kConj, Tin, Tout, Accuracy::kLA>,
223
+ oneapi::mkl::vm::status>::type
224
+ conj(const Tin* a, Tout* y) {
225
+ constexpr auto cts =
226
+ CompileTimeSelector<Function::kConj, Tin, Tout, Accuracy::kLA>::result;
227
+ Evaluator<Function::kConj, Tin, Tout, cts.first, cts.second> EV;
228
+ return EV(a, y);
229
+ }
230
+
231
+ template <typename Tin, typename Tout>
232
+ typename std::enable_if<
233
+ ExistsAtAll<Function::kCopysign, Tin, Tout, Accuracy::kLA>,
234
+ oneapi::mkl::vm::status>::type
235
+ copysign(const Tin* a, const Tin* b, Tout* y) {
236
+ constexpr auto cts = CompileTimeSelector<Function::kCopysign, Tin, Tout,
237
+ Accuracy::kLA>::result;
238
+ Evaluator<Function::kCopysign, Tin, Tout, cts.first, cts.second> EV;
239
+ return EV(a, b, y);
240
+ }
241
+
242
+ template <typename Tin, typename Tout>
243
+ typename std::enable_if<ExistsAtAll<Function::kCos, Tin, Tout, Accuracy::kLA>,
244
+ oneapi::mkl::vm::status>::type
245
+ cos(const Tin* a, Tout* y) {
246
+ constexpr auto cts =
247
+ CompileTimeSelector<Function::kCos, Tin, Tout, Accuracy::kLA>::result;
248
+ Evaluator<Function::kCos, Tin, Tout, cts.first, cts.second> EV;
249
+ return EV(a, y);
250
+ }
251
+
252
+ template <typename Tin, typename Tout>
253
+ typename std::enable_if<ExistsAtAll<Function::kCosd, Tin, Tout, Accuracy::kLA>,
254
+ oneapi::mkl::vm::status>::type
255
+ cosd(const Tin* a, Tout* y) {
256
+ constexpr auto cts =
257
+ CompileTimeSelector<Function::kCosd, Tin, Tout, Accuracy::kLA>::result;
258
+ Evaluator<Function::kCosd, Tin, Tout, cts.first, cts.second> EV;
259
+ return EV(a, y);
260
+ }
261
+
262
+ template <typename Tin, typename Tout>
263
+ typename std::enable_if<ExistsAtAll<Function::kCosh, Tin, Tout, Accuracy::kLA>,
264
+ oneapi::mkl::vm::status>::type
265
+ cosh(const Tin* a, Tout* y) {
266
+ constexpr auto cts =
267
+ CompileTimeSelector<Function::kCosh, Tin, Tout, Accuracy::kLA>::result;
268
+ Evaluator<Function::kCosh, Tin, Tout, cts.first, cts.second> EV;
269
+ return EV(a, y);
270
+ }
271
+
272
+ template <typename Tin, typename Tout>
273
+ typename std::enable_if<ExistsAtAll<Function::kCospi, Tin, Tout, Accuracy::kLA>,
274
+ oneapi::mkl::vm::status>::type
275
+ cospi(const Tin* a, Tout* y) {
276
+ constexpr auto cts =
277
+ CompileTimeSelector<Function::kCospi, Tin, Tout, Accuracy::kLA>::result;
278
+ Evaluator<Function::kCospi, Tin, Tout, cts.first, cts.second> EV;
279
+ return EV(a, y);
280
+ }
281
+
282
+ template <typename Tin, typename Tout>
283
+ typename std::enable_if<ExistsAtAll<Function::kDiv, Tin, Tout, Accuracy::kLA>,
284
+ oneapi::mkl::vm::status>::type
285
+ div(const Tin* a, const Tin* b, Tout* y) {
286
+ constexpr auto cts =
287
+ CompileTimeSelector<Function::kDiv, Tin, Tout, Accuracy::kLA>::result;
288
+ Evaluator<Function::kDiv, Tin, Tout, cts.first, cts.second> EV;
289
+ return EV(a, b, y);
290
+ }
291
+
292
+ template <typename Tin, typename Tout>
293
+ typename std::enable_if<ExistsAtAll<Function::kErf, Tin, Tout, Accuracy::kLA>,
294
+ oneapi::mkl::vm::status>::type
295
+ erf(const Tin* a, Tout* y) {
296
+ constexpr auto cts =
297
+ CompileTimeSelector<Function::kErf, Tin, Tout, Accuracy::kLA>::result;
298
+ Evaluator<Function::kErf, Tin, Tout, cts.first, cts.second> EV;
299
+ return EV(a, y);
300
+ }
301
+
302
+ template <typename Tin, typename Tout>
303
+ typename std::enable_if<ExistsAtAll<Function::kErfc, Tin, Tout, Accuracy::kLA>,
304
+ oneapi::mkl::vm::status>::type
305
+ erfc(const Tin* a, Tout* y) {
306
+ constexpr auto cts =
307
+ CompileTimeSelector<Function::kErfc, Tin, Tout, Accuracy::kLA>::result;
308
+ Evaluator<Function::kErfc, Tin, Tout, cts.first, cts.second> EV;
309
+ return EV(a, y);
310
+ }
311
+
312
+ template <typename Tin, typename Tout>
313
+ typename std::enable_if<ExistsAtAll<Function::kErfc, Tin, Tout, Accuracy::kLA>,
314
+ oneapi::mkl::vm::status>::type
315
+ erfcx(const Tin* a, Tout* y) {
316
+ constexpr auto cts =
317
+ CompileTimeSelector<Function::kErfc, Tin, Tout, Accuracy::kLA>::result;
318
+ Evaluator<Function::kErfc, Tin, Tout, cts.first, cts.second> EV;
319
+ return EV(a, y);
320
+ }
321
+
322
+ template <typename Tin, typename Tout>
323
+ typename std::enable_if<
324
+ ExistsAtAll<Function::kErfcinv, Tin, Tout, Accuracy::kLA>,
325
+ oneapi::mkl::vm::status>::type
326
+ erfcinv(const Tin* a, Tout* y) {
327
+ constexpr auto cts =
328
+ CompileTimeSelector<Function::kErfcinv, Tin, Tout, Accuracy::kLA>::result;
329
+ Evaluator<Function::kErfcinv, Tin, Tout, cts.first, cts.second> EV;
330
+ return EV(a, y);
331
+ }
332
+
333
+ template <typename Tin, typename Tout>
334
+ typename std::enable_if<
335
+ ExistsAtAll<Function::kErfinv, Tin, Tout, Accuracy::kLA>,
336
+ oneapi::mkl::vm::status>::type
337
+ erfinv(const Tin* a, Tout* y) {
338
+ constexpr auto cts =
339
+ CompileTimeSelector<Function::kErfinv, Tin, Tout, Accuracy::kLA>::result;
340
+ Evaluator<Function::kErfinv, Tin, Tout, cts.first, cts.second> EV;
341
+ return EV(a, y);
342
+ }
343
+
344
+ template <typename Tin, typename Tout>
345
+ typename std::enable_if<ExistsAtAll<Function::kExp, Tin, Tout, Accuracy::kLA>,
346
+ oneapi::mkl::vm::status>::type
347
+ exp(const Tin* a, Tout* y) {
348
+ constexpr auto cts =
349
+ CompileTimeSelector<Function::kExp, Tin, Tout, Accuracy::kLA>::result;
350
+ Evaluator<Function::kExp, Tin, Tout, cts.first, cts.second> EV;
351
+ return EV(a, y);
352
+ }
353
+
354
+ template <typename Tin, typename Tout>
355
+ typename std::enable_if<ExistsAtAll<Function::kExp10, Tin, Tout, Accuracy::kLA>,
356
+ oneapi::mkl::vm::status>::type
357
+ exp10(const Tin* a, Tout* y) {
358
+ constexpr auto cts =
359
+ CompileTimeSelector<Function::kExp10, Tin, Tout, Accuracy::kLA>::result;
360
+ Evaluator<Function::kExp10, Tin, Tout, cts.first, cts.second> EV;
361
+ return EV(a, y);
362
+ }
363
+
364
+ template <typename Tin, typename Tout>
365
+ typename std::enable_if<ExistsAtAll<Function::kExp2, Tin, Tout, Accuracy::kLA>,
366
+ oneapi::mkl::vm::status>::type
367
+ exp2(const Tin* a, Tout* y) {
368
+ constexpr auto cts =
369
+ CompileTimeSelector<Function::kExp2, Tin, Tout, Accuracy::kLA>::result;
370
+ Evaluator<Function::kExp2, Tin, Tout, cts.first, cts.second> EV;
371
+ return EV(a, y);
372
+ }
373
+
374
+ template <typename Tin, typename Tout>
375
+ typename std::enable_if<ExistsAtAll<Function::kExpm1, Tin, Tout, Accuracy::kLA>,
376
+ oneapi::mkl::vm::status>::type
377
+ expm1(const Tin* a, Tout* y) {
378
+ constexpr auto cts =
379
+ CompileTimeSelector<Function::kExpm1, Tin, Tout, Accuracy::kLA>::result;
380
+ Evaluator<Function::kExpm1, Tin, Tout, cts.first, cts.second> EV;
381
+ return EV(a, y);
382
+ }
383
+
384
+ template <typename Tin, typename Tout>
385
+ typename std::enable_if<ExistsAtAll<Function::kFdim, Tin, Tout, Accuracy::kLA>,
386
+ oneapi::mkl::vm::status>::type
387
+ fdim(const Tin* a, const Tin* b, Tout* y) {
388
+ constexpr auto cts =
389
+ CompileTimeSelector<Function::kFdim, Tin, Tout, Accuracy::kLA>::result;
390
+ Evaluator<Function::kFdim, Tin, Tout, cts.first, cts.second> EV;
391
+ return EV(a, b, y);
392
+ }
393
+
394
+ template <typename Tin, typename Tout>
395
+ typename std::enable_if<ExistsAtAll<Function::kFloor, Tin, Tout, Accuracy::kLA>,
396
+ oneapi::mkl::vm::status>::type
397
+ floor(const Tin* a, Tout* y) {
398
+ constexpr auto cts =
399
+ CompileTimeSelector<Function::kFloor, Tin, Tout, Accuracy::kLA>::result;
400
+ Evaluator<Function::kFloor, Tin, Tout, cts.first, cts.second> EV;
401
+ return EV(a, y);
402
+ }
403
+
404
+ template <typename Tin, typename Tout>
405
+ typename std::enable_if<ExistsAtAll<Function::kFmax, Tin, Tout, Accuracy::kLA>,
406
+ oneapi::mkl::vm::status>::type
407
+ fmax(const Tin* a, const Tin* b, Tout* y) {
408
+ constexpr auto cts =
409
+ CompileTimeSelector<Function::kFmax, Tin, Tout, Accuracy::kLA>::result;
410
+ Evaluator<Function::kFmax, Tin, Tout, cts.first, cts.second> EV;
411
+ return EV(a, b, y);
412
+ }
413
+
414
+ template <typename Tin, typename Tout>
415
+ typename std::enable_if<ExistsAtAll<Function::kFmin, Tin, Tout, Accuracy::kLA>,
416
+ oneapi::mkl::vm::status>::type
417
+ fmin(const Tin* a, const Tin* b, Tout* y) {
418
+ constexpr auto cts =
419
+ CompileTimeSelector<Function::kFmin, Tin, Tout, Accuracy::kLA>::result;
420
+ Evaluator<Function::kFmin, Tin, Tout, cts.first, cts.second> EV;
421
+ return EV(a, b, y);
422
+ }
423
+
424
+ template <typename Tin, typename Tout>
425
+ typename std::enable_if<ExistsAtAll<Function::kFmod, Tin, Tout, Accuracy::kLA>,
426
+ oneapi::mkl::vm::status>::type
427
+ fmod(const Tin* a, const Tin* b, Tout* y) {
428
+ constexpr auto cts =
429
+ CompileTimeSelector<Function::kFmod, Tin, Tout, Accuracy::kLA>::result;
430
+ Evaluator<Function::kFmod, Tin, Tout, cts.first, cts.second> EV;
431
+ return EV(a, b, y);
432
+ }
433
+
434
+ template <typename Tin, typename Tout>
435
+ typename std::enable_if<ExistsAtAll<Function::kFrac, Tin, Tout, Accuracy::kLA>,
436
+ oneapi::mkl::vm::status>::type
437
+ frac(const Tin* a, Tout* y) {
438
+ constexpr auto cts =
439
+ CompileTimeSelector<Function::kFrac, Tin, Tout, Accuracy::kLA>::result;
440
+ Evaluator<Function::kFrac, Tin, Tout, cts.first, cts.second> EV;
441
+ return EV(a, y);
442
+ }
443
+
444
+ template <typename Tin, typename Tout>
445
+ typename std::enable_if<ExistsAtAll<Function::kHypot, Tin, Tout, Accuracy::kLA>,
446
+ oneapi::mkl::vm::status>::type
447
+ hypot(const Tin* a, const Tin* b, Tout* y) {
448
+ constexpr auto cts =
449
+ CompileTimeSelector<Function::kHypot, Tin, Tout, Accuracy::kLA>::result;
450
+ Evaluator<Function::kHypot, Tin, Tout, cts.first, cts.second> EV;
451
+ return EV(a, b, y);
452
+ }
453
+
454
+ template <typename Tin, typename Tout>
455
+ typename std::enable_if<ExistsAtAll<Function::kInv, Tin, Tout, Accuracy::kLA>,
456
+ oneapi::mkl::vm::status>::type
457
+ inv(const Tin* a, Tout* y) {
458
+ constexpr auto cts =
459
+ CompileTimeSelector<Function::kInv, Tin, Tout, Accuracy::kLA>::result;
460
+ Evaluator<Function::kInv, Tin, Tout, cts.first, cts.second> EV;
461
+ return EV(a, y);
462
+ }
463
+
464
+ template <typename Tin, typename Tout>
465
+ typename std::enable_if<
466
+ ExistsAtAll<Function::kInvcbrt, Tin, Tout, Accuracy::kLA>,
467
+ oneapi::mkl::vm::status>::type
468
+ invcbrt(const Tin* a, Tout* y) {
469
+ constexpr auto cts =
470
+ CompileTimeSelector<Function::kInvcbrt, Tin, Tout, Accuracy::kLA>::result;
471
+ Evaluator<Function::kInvcbrt, Tin, Tout, cts.first, cts.second> EV;
472
+ return EV(a, y);
473
+ }
474
+
475
+ template <typename Tin, typename Tout>
476
+ typename std::enable_if<
477
+ ExistsAtAll<Function::kInvsqrt, Tin, Tout, Accuracy::kLA>,
478
+ oneapi::mkl::vm::status>::type
479
+ invsqrt(const Tin* a, Tout* y) {
480
+ constexpr auto cts =
481
+ CompileTimeSelector<Function::kInvsqrt, Tin, Tout, Accuracy::kLA>::result;
482
+ Evaluator<Function::kInvsqrt, Tin, Tout, cts.first, cts.second> EV;
483
+ return EV(a, y);
484
+ }
485
+
486
+ template <typename Tin, typename Tout>
487
+ typename std::enable_if<
488
+ ExistsAtAll<Function::kLgamma, Tin, Tout, Accuracy::kLA>,
489
+ oneapi::mkl::vm::status>::type
490
+ lgamma(const Tin* a, Tout* y) {
491
+ constexpr auto cts =
492
+ CompileTimeSelector<Function::kLgamma, Tin, Tout, Accuracy::kLA>::result;
493
+ Evaluator<Function::kLgamma, Tin, Tout, cts.first, cts.second> EV;
494
+ return EV(a, y);
495
+ }
496
+
497
+ template <typename Tin, typename Tout>
498
+ typename std::enable_if<ExistsAtAll<Function::kLn, Tin, Tout, Accuracy::kLA>,
499
+ oneapi::mkl::vm::status>::type
500
+ ln(const Tin* a, Tout* y) {
501
+ constexpr auto cts =
502
+ CompileTimeSelector<Function::kLn, Tin, Tout, Accuracy::kLA>::result;
503
+ Evaluator<Function::kLn, Tin, Tout, cts.first, cts.second> EV;
504
+ return EV(a, y);
505
+ }
506
+
507
+ template <typename Tin, typename Tout>
508
+ typename std::enable_if<ExistsAtAll<Function::kLog10, Tin, Tout, Accuracy::kLA>,
509
+ oneapi::mkl::vm::status>::type
510
+ log10(const Tin* a, Tout* y) {
511
+ constexpr auto cts =
512
+ CompileTimeSelector<Function::kLog10, Tin, Tout, Accuracy::kLA>::result;
513
+ Evaluator<Function::kLog10, Tin, Tout, cts.first, cts.second> EV;
514
+ return EV(a, y);
515
+ }
516
+
517
+ template <typename Tin, typename Tout>
518
+ typename std::enable_if<ExistsAtAll<Function::kLog1p, Tin, Tout, Accuracy::kLA>,
519
+ oneapi::mkl::vm::status>::type
520
+ log1p(const Tin* a, Tout* y) {
521
+ constexpr auto cts =
522
+ CompileTimeSelector<Function::kLog1p, Tin, Tout, Accuracy::kLA>::result;
523
+ Evaluator<Function::kLog1p, Tin, Tout, cts.first, cts.second> EV;
524
+ return EV(a, y);
525
+ }
526
+
527
+ template <typename Tin, typename Tout>
528
+ typename std::enable_if<ExistsAtAll<Function::kLog2, Tin, Tout, Accuracy::kLA>,
529
+ oneapi::mkl::vm::status>::type
530
+ log2(const Tin* a, Tout* y) {
531
+ constexpr auto cts =
532
+ CompileTimeSelector<Function::kLog2, Tin, Tout, Accuracy::kLA>::result;
533
+ Evaluator<Function::kLog2, Tin, Tout, cts.first, cts.second> EV;
534
+ return EV(a, y);
535
+ }
536
+
537
+ template <typename Tin, typename Tout>
538
+ typename std::enable_if<ExistsAtAll<Function::kLogb, Tin, Tout, Accuracy::kLA>,
539
+ oneapi::mkl::vm::status>::type
540
+ logb(const Tin* a, Tout* y) {
541
+ constexpr auto cts =
542
+ CompileTimeSelector<Function::kLogb, Tin, Tout, Accuracy::kLA>::result;
543
+ Evaluator<Function::kLogb, Tin, Tout, cts.first, cts.second> EV;
544
+ return EV(a, y);
545
+ }
546
+
547
+ template <typename Tin, typename Tout>
548
+ typename std::enable_if<
549
+ ExistsAtAll<Function::kMaxmag, Tin, Tout, Accuracy::kLA>,
550
+ oneapi::mkl::vm::status>::type
551
+ maxmag(const Tin* a, const Tin* b, Tout* y) {
552
+ constexpr auto cts =
553
+ CompileTimeSelector<Function::kMaxmag, Tin, Tout, Accuracy::kLA>::result;
554
+ Evaluator<Function::kMaxmag, Tin, Tout, cts.first, cts.second> EV;
555
+ return EV(a, b, y);
556
+ }
557
+
558
+ template <typename Tin, typename Tout>
559
+ typename std::enable_if<
560
+ ExistsAtAll<Function::kMinmag, Tin, Tout, Accuracy::kLA>,
561
+ oneapi::mkl::vm::status>::type
562
+ minmag(const Tin* a, const Tin* b, Tout* y) {
563
+ constexpr auto cts =
564
+ CompileTimeSelector<Function::kMinmag, Tin, Tout, Accuracy::kLA>::result;
565
+ Evaluator<Function::kMinmag, Tin, Tout, cts.first, cts.second> EV;
566
+ return EV(a, b, y);
567
+ }
568
+
569
+ template <typename Tin, typename Tout>
570
+ typename std::enable_if<ExistsAtAll<Function::kModf, Tin, Tout, Accuracy::kLA>,
571
+ oneapi::mkl::vm::status>::type
572
+ modf(const Tin* a, Tout* y, Tout* z) {
573
+ constexpr auto cts =
574
+ CompileTimeSelector<Function::kModf, Tin, Tout, Accuracy::kLA>::result;
575
+ Evaluator<Function::kModf, Tin, Tout, cts.first, cts.second> EV;
576
+ return EV(a, y, z);
577
+ }
578
+
579
+ template <typename Tin, typename Tout>
580
+ typename std::enable_if<ExistsAtAll<Function::kMul, Tin, Tout, Accuracy::kLA>,
581
+ oneapi::mkl::vm::status>::type
582
+ mul(const Tin* a, const Tin* b, Tout* y) {
583
+ constexpr auto cts =
584
+ CompileTimeSelector<Function::kMul, Tin, Tout, Accuracy::kLA>::result;
585
+ Evaluator<Function::kMul, Tin, Tout, cts.first, cts.second> EV;
586
+ return EV(a, b, y);
587
+ }
588
+
589
+ template <typename Tin, typename Tout>
590
+ typename std::enable_if<
591
+ ExistsAtAll<Function::kMulbyconj, Tin, Tout, Accuracy::kLA>,
592
+ oneapi::mkl::vm::status>::type
593
+ mulbyconj(const Tin* a, const Tin* b, Tout* y) {
594
+ constexpr auto cts = CompileTimeSelector<Function::kMulbyconj, Tin, Tout,
595
+ Accuracy::kLA>::result;
596
+ Evaluator<Function::kMulbyconj, Tin, Tout, cts.first, cts.second> EV;
597
+ return EV(a, b, y);
598
+ }
599
+
600
+ template <typename Tin, typename Tout>
601
+ typename std::enable_if<
602
+ ExistsAtAll<Function::kNearbyint, Tin, Tout, Accuracy::kLA>,
603
+ oneapi::mkl::vm::status>::type
604
+ nearbyint(const Tin* a, Tout* y) {
605
+ constexpr auto cts = CompileTimeSelector<Function::kNearbyint, Tin, Tout,
606
+ Accuracy::kLA>::result;
607
+ Evaluator<Function::kNearbyint, Tin, Tout, cts.first, cts.second> EV;
608
+ return EV(a, y);
609
+ }
610
+
611
+ template <typename Tin, typename Tout>
612
+ typename std::enable_if<
613
+ ExistsAtAll<Function::kNextafter, Tin, Tout, Accuracy::kLA>,
614
+ oneapi::mkl::vm::status>::type
615
+ nextafter(const Tin* a, const Tin* b, Tout* y) {
616
+ constexpr auto cts = CompileTimeSelector<Function::kNextafter, Tin, Tout,
617
+ Accuracy::kLA>::result;
618
+ Evaluator<Function::kNextafter, Tin, Tout, cts.first, cts.second> EV;
619
+ return EV(a, b, y);
620
+ }
621
+
622
+ template <typename Tin, typename Tout>
623
+ typename std::enable_if<ExistsAtAll<Function::kPow, Tin, Tout, Accuracy::kLA>,
624
+ oneapi::mkl::vm::status>::type
625
+ pow(const Tin* a, const Tin* b, Tout* y) {
626
+ constexpr auto cts =
627
+ CompileTimeSelector<Function::kPow, Tin, Tout, Accuracy::kLA>::result;
628
+ Evaluator<Function::kPow, Tin, Tout, cts.first, cts.second> EV;
629
+ return EV(a, b, y);
630
+ }
631
+
632
+ template <typename Tin, typename Tout>
633
+ typename std::enable_if<
634
+ ExistsAtAll<Function::kPow2o3, Tin, Tout, Accuracy::kLA>,
635
+ oneapi::mkl::vm::status>::type
636
+ pow2o3(const Tin* a, Tout* y) {
637
+ constexpr auto cts =
638
+ CompileTimeSelector<Function::kPow2o3, Tin, Tout, Accuracy::kLA>::result;
639
+ Evaluator<Function::kPow2o3, Tin, Tout, cts.first, cts.second> EV;
640
+ return EV(a, y);
641
+ }
642
+
643
+ template <typename Tin, typename Tout>
644
+ typename std::enable_if<
645
+ ExistsAtAll<Function::kPow3o2, Tin, Tout, Accuracy::kLA>,
646
+ oneapi::mkl::vm::status>::type
647
+ pow3o2(const Tin* a, Tout* y) {
648
+ constexpr auto cts =
649
+ CompileTimeSelector<Function::kPow3o2, Tin, Tout, Accuracy::kLA>::result;
650
+ Evaluator<Function::kPow3o2, Tin, Tout, cts.first, cts.second> EV;
651
+ return EV(a, y);
652
+ }
653
+
654
+ template <typename Tin, typename Tout>
655
+ typename std::enable_if<ExistsAtAll<Function::kPowr, Tin, Tout, Accuracy::kLA>,
656
+ oneapi::mkl::vm::status>::type
657
+ powr(const Tin* a, const Tin* b, Tout* y) {
658
+ constexpr auto cts =
659
+ CompileTimeSelector<Function::kPowr, Tin, Tout, Accuracy::kLA>::result;
660
+ Evaluator<Function::kPowr, Tin, Tout, cts.first, cts.second> EV;
661
+ return EV(a, b, y);
662
+ }
663
+
664
+ template <typename Tin, typename Tout>
665
+ typename std::enable_if<ExistsAtAll<Function::kPowx, Tin, Tout, Accuracy::kLA>,
666
+ oneapi::mkl::vm::status>::type
667
+ powx(const Tin* a, const Tin b, Tout* y) {
668
+ constexpr auto cts =
669
+ CompileTimeSelector<Function::kPowx, Tin, Tout, Accuracy::kLA>::result;
670
+ Evaluator<Function::kPowx, Tin, Tout, cts.first, cts.second> EV;
671
+ return EV(a, b, y);
672
+ }
673
+
674
+ template <typename Tin, typename Tout>
675
+ typename std::enable_if<
676
+ ExistsAtAll<Function::kRemainder, Tin, Tout, Accuracy::kLA>,
677
+ oneapi::mkl::vm::status>::type
678
+ remainder(const Tin* a, const Tin* b, Tout* y) {
679
+ constexpr auto cts = CompileTimeSelector<Function::kRemainder, Tin, Tout,
680
+ Accuracy::kLA>::result;
681
+ Evaluator<Function::kRemainder, Tin, Tout, cts.first, cts.second> EV;
682
+ return EV(a, b, y);
683
+ }
684
+
685
+ template <typename Tin, typename Tout>
686
+ typename std::enable_if<ExistsAtAll<Function::kRint, Tin, Tout, Accuracy::kLA>,
687
+ oneapi::mkl::vm::status>::type
688
+ rint(const Tin* a, Tout* y) {
689
+ constexpr auto cts =
690
+ CompileTimeSelector<Function::kRint, Tin, Tout, Accuracy::kLA>::result;
691
+ Evaluator<Function::kRint, Tin, Tout, cts.first, cts.second> EV;
692
+ return EV(a, y);
693
+ }
694
+
695
+ template <typename Tin, typename Tout>
696
+ typename std::enable_if<ExistsAtAll<Function::kRound, Tin, Tout, Accuracy::kLA>,
697
+ oneapi::mkl::vm::status>::type
698
+ round(const Tin* a, Tout* y) {
699
+ constexpr auto cts =
700
+ CompileTimeSelector<Function::kRound, Tin, Tout, Accuracy::kLA>::result;
701
+ Evaluator<Function::kRound, Tin, Tout, cts.first, cts.second> EV;
702
+ return EV(a, y);
703
+ }
704
+
705
+ template <typename Tin, typename Tout>
706
+ typename std::enable_if<ExistsAtAll<Function::kSin, Tin, Tout, Accuracy::kLA>,
707
+ oneapi::mkl::vm::status>::type
708
+ sin(const Tin* a, Tout* y) {
709
+ constexpr auto cts =
710
+ CompileTimeSelector<Function::kSin, Tin, Tout, Accuracy::kLA>::result;
711
+ Evaluator<Function::kSin, Tin, Tout, cts.first, cts.second> EV;
712
+ return EV(a, y);
713
+ }
714
+
715
+ template <typename Tin, typename Tout>
716
+ typename std::enable_if<
717
+ ExistsAtAll<Function::kSincos, Tin, Tout, Accuracy::kLA>,
718
+ oneapi::mkl::vm::status>::type
719
+ sincos(const Tin* a, Tout* y, Tout* z) {
720
+ constexpr auto cts =
721
+ CompileTimeSelector<Function::kSincos, Tin, Tout, Accuracy::kLA>::result;
722
+ Evaluator<Function::kSincos, Tin, Tout, cts.first, cts.second> EV;
723
+ return EV(a, y, z);
724
+ }
725
+
726
+ template <typename Tin, typename Tout>
727
+ typename std::enable_if<
728
+ ExistsAtAll<Function::kSincospi, Tin, Tout, Accuracy::kLA>,
729
+ oneapi::mkl::vm::status>::type
730
+ sincospi(const Tin* a, Tout* y, Tout* z) {
731
+ constexpr auto cts = CompileTimeSelector<Function::kSincospi, Tin, Tout,
732
+ Accuracy::kLA>::result;
733
+ Evaluator<Function::kSincospi, Tin, Tout, cts.first, cts.second> EV;
734
+ return EV(a, y, z);
735
+ }
736
+
737
+ template <typename Tin, typename Tout>
738
+ typename std::enable_if<ExistsAtAll<Function::kSind, Tin, Tout, Accuracy::kLA>,
739
+ oneapi::mkl::vm::status>::type
740
+ sind(const Tin* a, Tout* y) {
741
+ constexpr auto cts =
742
+ CompileTimeSelector<Function::kSind, Tin, Tout, Accuracy::kLA>::result;
743
+ Evaluator<Function::kSind, Tin, Tout, cts.first, cts.second> EV;
744
+ return EV(a, y);
745
+ }
746
+
747
+ template <typename Tin, typename Tout>
748
+ typename std::enable_if<ExistsAtAll<Function::kSinh, Tin, Tout, Accuracy::kLA>,
749
+ oneapi::mkl::vm::status>::type
750
+ sinh(const Tin* a, Tout* y) {
751
+ constexpr auto cts =
752
+ CompileTimeSelector<Function::kSinh, Tin, Tout, Accuracy::kLA>::result;
753
+ Evaluator<Function::kSinh, Tin, Tout, cts.first, cts.second> EV;
754
+ return EV(a, y);
755
+ }
756
+
757
+ template <typename Tin, typename Tout>
758
+ typename std::enable_if<ExistsAtAll<Function::kSinpi, Tin, Tout, Accuracy::kLA>,
759
+ oneapi::mkl::vm::status>::type
760
+ sinpi(const Tin* a, Tout* y) {
761
+ constexpr auto cts =
762
+ CompileTimeSelector<Function::kSinpi, Tin, Tout, Accuracy::kLA>::result;
763
+ Evaluator<Function::kSinpi, Tin, Tout, cts.first, cts.second> EV;
764
+ return EV(a, y);
765
+ }
766
+
767
+ template <typename Tin, typename Tout>
768
+ typename std::enable_if<ExistsAtAll<Function::kSqr, Tin, Tout, Accuracy::kLA>,
769
+ oneapi::mkl::vm::status>::type
770
+ sqr(const Tin* a, Tout* y) {
771
+ constexpr auto cts =
772
+ CompileTimeSelector<Function::kSqr, Tin, Tout, Accuracy::kLA>::result;
773
+ Evaluator<Function::kSqr, Tin, Tout, cts.first, cts.second> EV;
774
+ return EV(a, y);
775
+ }
776
+
777
+ template <typename Tin, typename Tout>
778
+ typename std::enable_if<ExistsAtAll<Function::kSqrt, Tin, Tout, Accuracy::kLA>,
779
+ oneapi::mkl::vm::status>::type
780
+ sqrt(const Tin* a, Tout* y) {
781
+ constexpr auto cts =
782
+ CompileTimeSelector<Function::kSqrt, Tin, Tout, Accuracy::kLA>::result;
783
+ Evaluator<Function::kSqrt, Tin, Tout, cts.first, cts.second> EV;
784
+ return EV(a, y);
785
+ }
786
+
787
+ template <typename Tin, typename Tout>
788
+ typename std::enable_if<ExistsAtAll<Function::kSub, Tin, Tout, Accuracy::kLA>,
789
+ oneapi::mkl::vm::status>::type
790
+ sub(const Tin* a, const Tin* b, Tout* y) {
791
+ constexpr auto cts =
792
+ CompileTimeSelector<Function::kSub, Tin, Tout, Accuracy::kLA>::result;
793
+ Evaluator<Function::kSub, Tin, Tout, cts.first, cts.second> EV;
794
+ return EV(a, b, y);
795
+ }
796
+
797
+ template <typename Tin, typename Tout>
798
+ typename std::enable_if<ExistsAtAll<Function::kTan, Tin, Tout, Accuracy::kLA>,
799
+ oneapi::mkl::vm::status>::type
800
+ tan(const Tin* a, Tout* y) {
801
+ constexpr auto cts =
802
+ CompileTimeSelector<Function::kTan, Tin, Tout, Accuracy::kLA>::result;
803
+ Evaluator<Function::kTan, Tin, Tout, cts.first, cts.second> EV;
804
+ return EV(a, y);
805
+ }
806
+
807
+ template <typename Tin, typename Tout>
808
+ typename std::enable_if<ExistsAtAll<Function::kTand, Tin, Tout, Accuracy::kLA>,
809
+ oneapi::mkl::vm::status>::type
810
+ tand(const Tin* a, Tout* y) {
811
+ constexpr auto cts =
812
+ CompileTimeSelector<Function::kTand, Tin, Tout, Accuracy::kLA>::result;
813
+ Evaluator<Function::kTand, Tin, Tout, cts.first, cts.second> EV;
814
+ return EV(a, y);
815
+ }
816
+
817
+ template <typename Tin, typename Tout>
818
+ typename std::enable_if<ExistsAtAll<Function::kTanh, Tin, Tout, Accuracy::kLA>,
819
+ oneapi::mkl::vm::status>::type
820
+ tanh(const Tin* a, Tout* y) {
821
+ constexpr auto cts =
822
+ CompileTimeSelector<Function::kTanh, Tin, Tout, Accuracy::kLA>::result;
823
+ Evaluator<Function::kTanh, Tin, Tout, cts.first, cts.second> EV;
824
+ return EV(a, y);
825
+ }
826
+
827
+ template <typename Tin, typename Tout>
828
+ typename std::enable_if<ExistsAtAll<Function::kTanpi, Tin, Tout, Accuracy::kLA>,
829
+ oneapi::mkl::vm::status>::type
830
+ tanpi(const Tin* a, Tout* y) {
831
+ constexpr auto cts =
832
+ CompileTimeSelector<Function::kTanpi, Tin, Tout, Accuracy::kLA>::result;
833
+ Evaluator<Function::kTanpi, Tin, Tout, cts.first, cts.second> EV;
834
+ return EV(a, y);
835
+ }
836
+
837
+ template <typename Tin, typename Tout>
838
+ typename std::enable_if<
839
+ ExistsAtAll<Function::kTgamma, Tin, Tout, Accuracy::kLA>,
840
+ oneapi::mkl::vm::status>::type
841
+ tgamma(const Tin* a, Tout* y) {
842
+ constexpr auto cts =
843
+ CompileTimeSelector<Function::kTgamma, Tin, Tout, Accuracy::kLA>::result;
844
+ Evaluator<Function::kTgamma, Tin, Tout, cts.first, cts.second> EV;
845
+ return EV(a, y);
846
+ }
847
+
848
+ template <typename Tin, typename Tout>
849
+ typename std::enable_if<ExistsAtAll<Function::kTrunc, Tin, Tout, Accuracy::kLA>,
850
+ oneapi::mkl::vm::status>::type
851
+ trunc(const Tin* a, Tout* y) {
852
+ constexpr auto cts =
853
+ CompileTimeSelector<Function::kTrunc, Tin, Tout, Accuracy::kLA>::result;
854
+ Evaluator<Function::kTrunc, Tin, Tout, cts.first, cts.second> EV;
855
+ return EV(a, y);
856
+ }
857
+
858
+ } // namespace oneapi::mkl::vm::device::detail::la
859
+
860
+ #endif // #ifndef ONEAPI_MKL_VM_DEVICE_LA_HPP