mkl-devel-dpcpp 2025.1.0__py2.py3-none-win_amd64.whl → 2025.2.0__py2.py3-none-win_amd64.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.
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl.lib +0 -0
- mkl_devel_dpcpp-2025.2.0.data/data/Library/lib/mkl_sycl_dft_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_dll.lib +0 -0
- mkl_devel_dpcpp-2025.2.0.data/data/Library/lib/mkl_sycl_lapack_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_rng_dll.lib +0 -0
- mkl_devel_dpcpp-2025.2.0.data/data/Library/lib/mkl_sycl_sparse_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/METADATA +4 -3
- mkl_devel_dpcpp-2025.2.0.dist-info/RECORD +15 -0
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/bfloat16.hpp +0 -26
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/buffer.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/buffer_decls.hpp +0 -880
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/types.hpp +0 -60
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/usm.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/usm_decls.hpp +0 -1240
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas.hpp +0 -34
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/dft/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/dft.hpp +0 -254
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/dfti.hpp +0 -22
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/exceptions.hpp +0 -110
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting/interpolate.hpp +0 -67
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting/spline_and_data_params.hpp +0 -68
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting/splines.hpp +0 -177
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting.hpp +0 -22
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/export.hpp +0 -25
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/concepts.hpp +0 -55
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/exceptions.hpp +0 -75
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/lapack.hpp +0 -1096
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/scratchpad.hpp +0 -107
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack.hpp +0 -24
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/detail/engine_base.hpp +0 -48
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/bernoulli_impl.hpp +0 -89
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/beta_impl.hpp +0 -463
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/bits_impl.hpp +0 -71
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/distribution_base.hpp +0 -85
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/engine_base.hpp +0 -43
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/engine_helpers_base.hpp +0 -54
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/exponential_impl.hpp +0 -116
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/gamma_impl.hpp +0 -285
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/gaussian_impl.hpp +0 -270
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/geometric_impl.hpp +0 -99
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/lognormal_impl.hpp +0 -105
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg31m1_helpers_impl.hpp +0 -117
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg31m1_impl.hpp +0 -223
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg59_helpers_impl.hpp +0 -118
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg59_impl.hpp +0 -266
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_helpers_impl.hpp +0 -125
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_impl.hpp +0 -385
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_skip_ahead_matrix.hpp +0 -3668
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/philox4x32x10_helpers_impl.hpp +0 -141
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/philox4x32x10_impl.hpp +0 -552
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/poisson_impl.hpp +0 -328
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/types.hpp +0 -58
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/uniform_bits_impl.hpp +0 -51
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/uniform_impl.hpp +0 -287
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/vm_wrappers.hpp +0 -183
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/distributions.hpp +0 -700
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/engine_helpers.hpp +0 -116
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/engines.hpp +0 -187
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/functions.hpp +0 -59
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/types.hpp +0 -79
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device.hpp +0 -29
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/distributions.hpp +0 -1913
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/engines.hpp +0 -788
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/functions.hpp +0 -163
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng.hpp +0 -23
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/sparse_auxiliary.hpp +0 -111
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/sparse_operations.hpp +0 -446
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/sparse_structures.hpp +0 -193
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas.hpp +0 -33
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/stats/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/stats.hpp +0 -357
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/types.hpp +0 -321
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/buffer.hpp +0 -3529
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/decls.hpp +0 -280
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/decls.hpp +0 -81
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/dispatch.hpp +0 -1059
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/ep.hpp +0 -861
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/ha.hpp +0 -860
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/la.hpp +0 -860
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/rts.hpp +0 -4608
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/scalar.hpp +0 -8963
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/vm.hpp +0 -460
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/span.hpp +0 -3813
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/usm.hpp +0 -3581
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm.hpp +0 -31
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl.hpp +0 -35
- mkl_devel_dpcpp-2025.1.0.data/data/Library/lib/mkl_sycl_dft_dll.lib +0 -0
- mkl_devel_dpcpp-2025.1.0.data/data/Library/lib/mkl_sycl_lapack_dll.lib +0 -0
- mkl_devel_dpcpp-2025.1.0.data/data/Library/lib/mkl_sycl_sparse_dll.lib +0 -0
- mkl_devel_dpcpp-2025.1.0.dist-info/RECORD +0 -99
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_blas_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_data_fitting_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_stats_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_vm_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/LICENSE.txt +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/WHEEL +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/top_level.txt +0 -0
|
@@ -1,1059 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* Copyright (C) 2019 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_VM_DETAIL_DISPATCH_HPP
|
|
16
|
-
#define ONEAPI_MKL_VM_DEVICE_VM_DETAIL_DISPATCH_HPP 1
|
|
17
|
-
|
|
18
|
-
#include "oneapi/mkl/vm/device/detail/decls.hpp"
|
|
19
|
-
|
|
20
|
-
#include "oneapi/mkl/vm/device/detail/scalar.hpp"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
namespace oneapi::mkl::vm::device::detail {
|
|
24
|
-
|
|
25
|
-
template <Function f, typename Tin, typename Tout, Accuracy acc, Feature fea,
|
|
26
|
-
typename = void>
|
|
27
|
-
constexpr bool Exists{false};
|
|
28
|
-
|
|
29
|
-
template <Function f, typename Tin, typename Tout, Accuracy acc, Feature fea>
|
|
30
|
-
constexpr bool Exists<
|
|
31
|
-
f, Tin, Tout, acc, fea,
|
|
32
|
-
std::void_t<decltype(
|
|
33
|
-
std::declval<Evaluator<f, Tin, Tout, acc, fea>>().operator()())>> =
|
|
34
|
-
true;
|
|
35
|
-
|
|
36
|
-
using AccFeaT = std::pair<Accuracy, Feature>;
|
|
37
|
-
|
|
38
|
-
constexpr bool operator>=(enum Accuracy lhs, enum Accuracy rhs) {
|
|
39
|
-
if (Accuracy::kCR == lhs && Accuracy::kCR == rhs) { return true; }
|
|
40
|
-
|
|
41
|
-
if (Accuracy::kCR == lhs && Accuracy::kHA == rhs) { return true; }
|
|
42
|
-
if (Accuracy::kHA == lhs && Accuracy::kHA == rhs) { return true; }
|
|
43
|
-
if (Accuracy::kNS == lhs && Accuracy::kHA == rhs) { return true; }
|
|
44
|
-
|
|
45
|
-
// NS defaults to HA
|
|
46
|
-
if (Accuracy::kCR == lhs && Accuracy::kNS == rhs) { return true; }
|
|
47
|
-
if (Accuracy::kHA == lhs && Accuracy::kNS == rhs) { return true; }
|
|
48
|
-
if (Accuracy::kNS == lhs && Accuracy::kNS == rhs) { return true; }
|
|
49
|
-
|
|
50
|
-
if (Accuracy::kCR == lhs && Accuracy::kLA == rhs) { return true; }
|
|
51
|
-
if (Accuracy::kHA == lhs && Accuracy::kLA == rhs) { return true; }
|
|
52
|
-
if (Accuracy::kLA == lhs && Accuracy::kLA == rhs) { return true; }
|
|
53
|
-
|
|
54
|
-
if (Accuracy::kCR == lhs && Accuracy::kEP == rhs) { return true; }
|
|
55
|
-
if (Accuracy::kHA == lhs && Accuracy::kEP == rhs) { return true; }
|
|
56
|
-
if (Accuracy::kLA == lhs && Accuracy::kEP == rhs) { return true; }
|
|
57
|
-
if (Accuracy::kEP == lhs && Accuracy::kEP == rhs) { return true; }
|
|
58
|
-
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
using AccFeaT = std::pair<Accuracy, Feature>;
|
|
63
|
-
|
|
64
|
-
template <Function Func, typename Tin, typename Tout,
|
|
65
|
-
Accuracy Acc = Accuracy::kNS, Feature Fea = Feature::kNS>
|
|
66
|
-
struct CompileTimeSelector {
|
|
67
|
-
static constexpr auto result = []() -> AccFeaT {
|
|
68
|
-
if constexpr (Exists<Func, Tin, Tout, Acc, Fea>) {
|
|
69
|
-
return AccFeaT{Acc, Fea};
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if constexpr (Acc == Accuracy::kCR &&
|
|
73
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kTA>) {
|
|
74
|
-
return AccFeaT{Accuracy::kCR, Feature::kTA};
|
|
75
|
-
}
|
|
76
|
-
if constexpr (Acc == Accuracy::kCR &&
|
|
77
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kGE>) {
|
|
78
|
-
return AccFeaT{Accuracy::kCR, Feature::kGE};
|
|
79
|
-
}
|
|
80
|
-
if constexpr (Acc == Accuracy::kCR &&
|
|
81
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kSO>) {
|
|
82
|
-
return AccFeaT{Accuracy::kCR, Feature::kSO};
|
|
83
|
-
}
|
|
84
|
-
if constexpr (Acc == Accuracy::kCR &&
|
|
85
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kDR>) {
|
|
86
|
-
return AccFeaT{Accuracy::kCR, Feature::kDR};
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if constexpr (Acc == Accuracy::kHA &&
|
|
90
|
-
Exists<Func, Tin, Tout, Accuracy::kHA, Feature::kTA>) {
|
|
91
|
-
return AccFeaT{Accuracy::kHA, Feature::kTA};
|
|
92
|
-
}
|
|
93
|
-
if constexpr (Acc == Accuracy::kHA &&
|
|
94
|
-
Exists<Func, Tin, Tout, Accuracy::kHA, Feature::kGE>) {
|
|
95
|
-
return AccFeaT{Accuracy::kHA, Feature::kGE};
|
|
96
|
-
}
|
|
97
|
-
if constexpr (Acc == Accuracy::kHA &&
|
|
98
|
-
Exists<Func, Tin, Tout, Accuracy::kHA, Feature::kSO>) {
|
|
99
|
-
return AccFeaT{Accuracy::kHA, Feature::kSO};
|
|
100
|
-
}
|
|
101
|
-
if constexpr (Acc == Accuracy::kHA &&
|
|
102
|
-
Exists<Func, Tin, Tout, Accuracy::kHA, Feature::kDR>) {
|
|
103
|
-
return AccFeaT{Accuracy::kHA, Feature::kDR};
|
|
104
|
-
}
|
|
105
|
-
if constexpr (Acc == Accuracy::kHA &&
|
|
106
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kTA>) {
|
|
107
|
-
return AccFeaT{Accuracy::kCR, Feature::kTA};
|
|
108
|
-
}
|
|
109
|
-
if constexpr (Acc == Accuracy::kHA &&
|
|
110
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kGE>) {
|
|
111
|
-
return AccFeaT{Accuracy::kCR, Feature::kGE};
|
|
112
|
-
}
|
|
113
|
-
if constexpr (Acc == Accuracy::kHA &&
|
|
114
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kSO>) {
|
|
115
|
-
return AccFeaT{Accuracy::kCR, Feature::kSO};
|
|
116
|
-
}
|
|
117
|
-
if constexpr (Acc == Accuracy::kHA &&
|
|
118
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kDR>) {
|
|
119
|
-
return AccFeaT{Accuracy::kCR, Feature::kDR};
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
if constexpr (Acc == Accuracy::kLA &&
|
|
123
|
-
Exists<Func, Tin, Tout, Accuracy::kLA, Feature::kTA>) {
|
|
124
|
-
return AccFeaT{Accuracy::kLA, Feature::kTA};
|
|
125
|
-
}
|
|
126
|
-
if constexpr (Acc == Accuracy::kLA &&
|
|
127
|
-
Exists<Func, Tin, Tout, Accuracy::kLA, Feature::kGE>) {
|
|
128
|
-
return AccFeaT{Accuracy::kLA, Feature::kGE};
|
|
129
|
-
}
|
|
130
|
-
if constexpr (Acc == Accuracy::kLA &&
|
|
131
|
-
Exists<Func, Tin, Tout, Accuracy::kLA, Feature::kSO>) {
|
|
132
|
-
return AccFeaT{Accuracy::kLA, Feature::kSO};
|
|
133
|
-
}
|
|
134
|
-
if constexpr (Acc == Accuracy::kLA &&
|
|
135
|
-
Exists<Func, Tin, Tout, Accuracy::kLA, Feature::kDR>) {
|
|
136
|
-
return AccFeaT{Accuracy::kLA, Feature::kDR};
|
|
137
|
-
}
|
|
138
|
-
if constexpr (Acc == Accuracy::kLA &&
|
|
139
|
-
Exists<Func, Tin, Tout, Accuracy::kHA, Feature::kTA>) {
|
|
140
|
-
return AccFeaT{Accuracy::kHA, Feature::kTA};
|
|
141
|
-
}
|
|
142
|
-
if constexpr (Acc == Accuracy::kLA &&
|
|
143
|
-
Exists<Func, Tin, Tout, Accuracy::kHA, Feature::kGE>) {
|
|
144
|
-
return AccFeaT{Accuracy::kHA, Feature::kGE};
|
|
145
|
-
}
|
|
146
|
-
if constexpr (Acc == Accuracy::kLA &&
|
|
147
|
-
Exists<Func, Tin, Tout, Accuracy::kHA, Feature::kSO>) {
|
|
148
|
-
return AccFeaT{Accuracy::kHA, Feature::kSO};
|
|
149
|
-
}
|
|
150
|
-
if constexpr (Acc == Accuracy::kLA &&
|
|
151
|
-
Exists<Func, Tin, Tout, Accuracy::kHA, Feature::kDR>) {
|
|
152
|
-
return AccFeaT{Accuracy::kHA, Feature::kDR};
|
|
153
|
-
}
|
|
154
|
-
if constexpr (Acc == Accuracy::kLA &&
|
|
155
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kTA>) {
|
|
156
|
-
return AccFeaT{Accuracy::kCR, Feature::kTA};
|
|
157
|
-
}
|
|
158
|
-
if constexpr (Acc == Accuracy::kLA &&
|
|
159
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kGE>) {
|
|
160
|
-
return AccFeaT{Accuracy::kCR, Feature::kGE};
|
|
161
|
-
}
|
|
162
|
-
if constexpr (Acc == Accuracy::kLA &&
|
|
163
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kSO>) {
|
|
164
|
-
return AccFeaT{Accuracy::kCR, Feature::kSO};
|
|
165
|
-
}
|
|
166
|
-
if constexpr (Acc == Accuracy::kLA &&
|
|
167
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kDR>) {
|
|
168
|
-
return AccFeaT{Accuracy::kCR, Feature::kDR};
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
172
|
-
Exists<Func, Tin, Tout, Accuracy::kEP, Feature::kTA>) {
|
|
173
|
-
return AccFeaT{Accuracy::kEP, Feature::kTA};
|
|
174
|
-
}
|
|
175
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
176
|
-
Exists<Func, Tin, Tout, Accuracy::kEP, Feature::kGE>) {
|
|
177
|
-
return AccFeaT{Accuracy::kEP, Feature::kGE};
|
|
178
|
-
}
|
|
179
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
180
|
-
Exists<Func, Tin, Tout, Accuracy::kEP, Feature::kSO>) {
|
|
181
|
-
return AccFeaT{Accuracy::kEP, Feature::kSO};
|
|
182
|
-
}
|
|
183
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
184
|
-
Exists<Func, Tin, Tout, Accuracy::kEP, Feature::kDR>) {
|
|
185
|
-
return AccFeaT{Accuracy::kEP, Feature::kDR};
|
|
186
|
-
}
|
|
187
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
188
|
-
Exists<Func, Tin, Tout, Accuracy::kLA, Feature::kTA>) {
|
|
189
|
-
return AccFeaT{Accuracy::kLA, Feature::kTA};
|
|
190
|
-
}
|
|
191
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
192
|
-
Exists<Func, Tin, Tout, Accuracy::kLA, Feature::kGE>) {
|
|
193
|
-
return AccFeaT{Accuracy::kLA, Feature::kGE};
|
|
194
|
-
}
|
|
195
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
196
|
-
Exists<Func, Tin, Tout, Accuracy::kLA, Feature::kSO>) {
|
|
197
|
-
return AccFeaT{Accuracy::kLA, Feature::kSO};
|
|
198
|
-
}
|
|
199
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
200
|
-
Exists<Func, Tin, Tout, Accuracy::kLA, Feature::kDR>) {
|
|
201
|
-
return AccFeaT{Accuracy::kLA, Feature::kDR};
|
|
202
|
-
}
|
|
203
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
204
|
-
Exists<Func, Tin, Tout, Accuracy::kHA, Feature::kTA>) {
|
|
205
|
-
return AccFeaT{Accuracy::kHA, Feature::kTA};
|
|
206
|
-
}
|
|
207
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
208
|
-
Exists<Func, Tin, Tout, Accuracy::kHA, Feature::kGE>) {
|
|
209
|
-
return AccFeaT{Accuracy::kHA, Feature::kGE};
|
|
210
|
-
}
|
|
211
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
212
|
-
Exists<Func, Tin, Tout, Accuracy::kHA, Feature::kSO>) {
|
|
213
|
-
return AccFeaT{Accuracy::kHA, Feature::kSO};
|
|
214
|
-
}
|
|
215
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
216
|
-
Exists<Func, Tin, Tout, Accuracy::kHA, Feature::kDR>) {
|
|
217
|
-
return AccFeaT{Accuracy::kHA, Feature::kDR};
|
|
218
|
-
}
|
|
219
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
220
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kTA>) {
|
|
221
|
-
return AccFeaT{Accuracy::kCR, Feature::kTA};
|
|
222
|
-
}
|
|
223
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
224
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kGE>) {
|
|
225
|
-
return AccFeaT{Accuracy::kCR, Feature::kGE};
|
|
226
|
-
}
|
|
227
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
228
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kSO>) {
|
|
229
|
-
return AccFeaT{Accuracy::kCR, Feature::kSO};
|
|
230
|
-
}
|
|
231
|
-
if constexpr (Acc == Accuracy::kEP &&
|
|
232
|
-
Exists<Func, Tin, Tout, Accuracy::kCR, Feature::kDR>) {
|
|
233
|
-
return AccFeaT{Accuracy::kCR, Feature::kDR};
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
return AccFeaT{Accuracy::kNA, Feature::kNA};
|
|
237
|
-
}();
|
|
238
|
-
};
|
|
239
|
-
|
|
240
|
-
template <Function Func, typename Tin, typename Tout,
|
|
241
|
-
Accuracy Acc = Accuracy::kNS, Feature Fea = Feature::kNS>
|
|
242
|
-
constexpr bool ExistsAtAll =
|
|
243
|
-
CompileTimeSelector<Func, Tin, Tout, Acc, Fea>::result.first !=
|
|
244
|
-
Accuracy::kNA&& CompileTimeSelector<Func, Tin, Tout, Acc, Fea>::result
|
|
245
|
-
.second != Feature::kNA;
|
|
246
|
-
|
|
247
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
248
|
-
typename std::enable_if<ExistsAtAll<Function::kAbs, Tin, Tout, Acc::a>,
|
|
249
|
-
oneapi::mkl::vm::status>::type
|
|
250
|
-
abs(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
251
|
-
constexpr auto cts =
|
|
252
|
-
CompileTimeSelector<Function::kAbs, Tin, Tout, Acc::a>::result;
|
|
253
|
-
Evaluator<Function::kAbs, Tin, Tout, cts.first, cts.second> EV;
|
|
254
|
-
return EV(a, y);
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
258
|
-
typename std::enable_if<ExistsAtAll<Function::kAcos, Tin, Tout, Acc::a>,
|
|
259
|
-
oneapi::mkl::vm::status>::type
|
|
260
|
-
acos(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
261
|
-
constexpr auto cts =
|
|
262
|
-
CompileTimeSelector<Function::kAcos, Tin, Tout, Acc::a>::result;
|
|
263
|
-
Evaluator<Function::kAcos, Tin, Tout, cts.first, cts.second> EV;
|
|
264
|
-
return EV(a, y);
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
268
|
-
typename std::enable_if<ExistsAtAll<Function::kAcosh, Tin, Tout, Acc::a>,
|
|
269
|
-
oneapi::mkl::vm::status>::type
|
|
270
|
-
acosh(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
271
|
-
constexpr auto cts =
|
|
272
|
-
CompileTimeSelector<Function::kAcosh, Tin, Tout, Acc::a>::result;
|
|
273
|
-
Evaluator<Function::kAcosh, Tin, Tout, cts.first, cts.second> EV;
|
|
274
|
-
return EV(a, y);
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
278
|
-
typename std::enable_if<ExistsAtAll<Function::kAcospi, Tin, Tout, Acc::a>,
|
|
279
|
-
oneapi::mkl::vm::status>::type
|
|
280
|
-
acospi(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
281
|
-
constexpr auto cts =
|
|
282
|
-
CompileTimeSelector<Function::kAcospi, Tin, Tout, Acc::a>::result;
|
|
283
|
-
Evaluator<Function::kAcospi, Tin, Tout, cts.first, cts.second> EV;
|
|
284
|
-
return EV(a, y);
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
288
|
-
typename std::enable_if<ExistsAtAll<Function::kAdd, Tin, Tout, Acc::a>,
|
|
289
|
-
oneapi::mkl::vm::status>::type
|
|
290
|
-
add(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
291
|
-
constexpr auto cts =
|
|
292
|
-
CompileTimeSelector<Function::kAdd, Tin, Tout, Acc::a>::result;
|
|
293
|
-
Evaluator<Function::kAdd, Tin, Tout, cts.first, cts.second> EV;
|
|
294
|
-
return EV(a, b, y);
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
298
|
-
typename std::enable_if<ExistsAtAll<Function::kArg, Tin, Tout, Acc::a>,
|
|
299
|
-
oneapi::mkl::vm::status>::type
|
|
300
|
-
arg(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
301
|
-
constexpr auto cts =
|
|
302
|
-
CompileTimeSelector<Function::kArg, Tin, Tout, Acc::a>::result;
|
|
303
|
-
Evaluator<Function::kArg, Tin, Tout, cts.first, cts.second> EV;
|
|
304
|
-
return EV(a, y);
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
308
|
-
typename std::enable_if<ExistsAtAll<Function::kAsin, Tin, Tout, Acc::a>,
|
|
309
|
-
oneapi::mkl::vm::status>::type
|
|
310
|
-
asin(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
311
|
-
constexpr auto cts =
|
|
312
|
-
CompileTimeSelector<Function::kAsin, Tin, Tout, Acc::a>::result;
|
|
313
|
-
Evaluator<Function::kAsin, Tin, Tout, cts.first, cts.second> EV;
|
|
314
|
-
return EV(a, y);
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
318
|
-
typename std::enable_if<ExistsAtAll<Function::kAsinh, Tin, Tout, Acc::a>,
|
|
319
|
-
oneapi::mkl::vm::status>::type
|
|
320
|
-
asinh(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
321
|
-
constexpr auto cts =
|
|
322
|
-
CompileTimeSelector<Function::kAsinh, Tin, Tout, Acc::a>::result;
|
|
323
|
-
Evaluator<Function::kAsinh, Tin, Tout, cts.first, cts.second> EV;
|
|
324
|
-
return EV(a, y);
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
328
|
-
typename std::enable_if<ExistsAtAll<Function::kAsinpi, Tin, Tout, Acc::a>,
|
|
329
|
-
oneapi::mkl::vm::status>::type
|
|
330
|
-
asinpi(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
331
|
-
constexpr auto cts =
|
|
332
|
-
CompileTimeSelector<Function::kAsinpi, Tin, Tout, Acc::a>::result;
|
|
333
|
-
Evaluator<Function::kAsinpi, Tin, Tout, cts.first, cts.second> EV;
|
|
334
|
-
return EV(a, y);
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
338
|
-
typename std::enable_if<ExistsAtAll<Function::kAtan, Tin, Tout, Acc::a>,
|
|
339
|
-
oneapi::mkl::vm::status>::type
|
|
340
|
-
atan(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
341
|
-
constexpr auto cts =
|
|
342
|
-
CompileTimeSelector<Function::kAtan, Tin, Tout, Acc::a>::result;
|
|
343
|
-
Evaluator<Function::kAtan, Tin, Tout, cts.first, cts.second> EV;
|
|
344
|
-
return EV(a, y);
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
348
|
-
typename std::enable_if<ExistsAtAll<Function::kAtan2, Tin, Tout, Acc::a>,
|
|
349
|
-
oneapi::mkl::vm::status>::type
|
|
350
|
-
atan2(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
351
|
-
constexpr auto cts =
|
|
352
|
-
CompileTimeSelector<Function::kAtan2, Tin, Tout, Acc::a>::result;
|
|
353
|
-
Evaluator<Function::kAtan2, Tin, Tout, cts.first, cts.second> EV;
|
|
354
|
-
return EV(a, b, y);
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
358
|
-
typename std::enable_if<ExistsAtAll<Function::kAtan2pi, Tin, Tout, Acc::a>,
|
|
359
|
-
oneapi::mkl::vm::status>::type
|
|
360
|
-
atan2pi(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
361
|
-
constexpr auto cts =
|
|
362
|
-
CompileTimeSelector<Function::kAtan2pi, Tin, Tout, Acc::a>::result;
|
|
363
|
-
Evaluator<Function::kAtan2pi, Tin, Tout, cts.first, cts.second> EV;
|
|
364
|
-
return EV(a, b, y);
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
368
|
-
typename std::enable_if<ExistsAtAll<Function::kAtanh, Tin, Tout, Acc::a>,
|
|
369
|
-
oneapi::mkl::vm::status>::type
|
|
370
|
-
atanh(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
371
|
-
constexpr auto cts =
|
|
372
|
-
CompileTimeSelector<Function::kAtanh, Tin, Tout, Acc::a>::result;
|
|
373
|
-
Evaluator<Function::kAtanh, Tin, Tout, cts.first, cts.second> EV;
|
|
374
|
-
return EV(a, y);
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
378
|
-
typename std::enable_if<ExistsAtAll<Function::kAtanpi, Tin, Tout, Acc::a>,
|
|
379
|
-
oneapi::mkl::vm::status>::type
|
|
380
|
-
atanpi(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
381
|
-
constexpr auto cts =
|
|
382
|
-
CompileTimeSelector<Function::kAtanpi, Tin, Tout, Acc::a>::result;
|
|
383
|
-
Evaluator<Function::kAtanpi, Tin, Tout, cts.first, cts.second> EV;
|
|
384
|
-
return EV(a, y);
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
388
|
-
typename std::enable_if<ExistsAtAll<Function::kCbrt, Tin, Tout, Acc::a>,
|
|
389
|
-
oneapi::mkl::vm::status>::type
|
|
390
|
-
cbrt(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
391
|
-
constexpr auto cts =
|
|
392
|
-
CompileTimeSelector<Function::kCbrt, Tin, Tout, Acc::a>::result;
|
|
393
|
-
Evaluator<Function::kCbrt, Tin, Tout, cts.first, cts.second> EV;
|
|
394
|
-
return EV(a, y);
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
398
|
-
typename std::enable_if<ExistsAtAll<Function::kCdfnorm, Tin, Tout, Acc::a>,
|
|
399
|
-
oneapi::mkl::vm::status>::type
|
|
400
|
-
cdfnorm(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
401
|
-
constexpr auto cts =
|
|
402
|
-
CompileTimeSelector<Function::kCdfnorm, Tin, Tout, Acc::a>::result;
|
|
403
|
-
Evaluator<Function::kCdfnorm, Tin, Tout, cts.first, cts.second> EV;
|
|
404
|
-
return EV(a, y);
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
408
|
-
typename std::enable_if<ExistsAtAll<Function::kCdfnorminv, Tin, Tout, Acc::a>,
|
|
409
|
-
oneapi::mkl::vm::status>::type
|
|
410
|
-
cdfnorminv(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
411
|
-
constexpr auto cts =
|
|
412
|
-
CompileTimeSelector<Function::kCdfnorminv, Tin, Tout, Acc::a>::result;
|
|
413
|
-
Evaluator<Function::kCdfnorminv, Tin, Tout, cts.first, cts.second> EV;
|
|
414
|
-
return EV(a, y);
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
418
|
-
typename std::enable_if<ExistsAtAll<Function::kCeil, Tin, Tout, Acc::a>,
|
|
419
|
-
oneapi::mkl::vm::status>::type
|
|
420
|
-
ceil(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
421
|
-
constexpr auto cts =
|
|
422
|
-
CompileTimeSelector<Function::kCeil, Tin, Tout, Acc::a>::result;
|
|
423
|
-
Evaluator<Function::kCeil, Tin, Tout, cts.first, cts.second> EV;
|
|
424
|
-
return EV(a, y);
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
428
|
-
typename std::enable_if<ExistsAtAll<Function::kCis, Tin, Tout, Acc::a>,
|
|
429
|
-
oneapi::mkl::vm::status>::type
|
|
430
|
-
cis(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
431
|
-
constexpr auto cts =
|
|
432
|
-
CompileTimeSelector<Function::kCis, Tin, Tout, Acc::a>::result;
|
|
433
|
-
Evaluator<Function::kCis, Tin, Tout, cts.first, cts.second> EV;
|
|
434
|
-
return EV(a, y);
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
438
|
-
typename std::enable_if<ExistsAtAll<Function::kConj, Tin, Tout, Acc::a>,
|
|
439
|
-
oneapi::mkl::vm::status>::type
|
|
440
|
-
conj(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
441
|
-
constexpr auto cts =
|
|
442
|
-
CompileTimeSelector<Function::kConj, Tin, Tout, Acc::a>::result;
|
|
443
|
-
Evaluator<Function::kConj, Tin, Tout, cts.first, cts.second> EV;
|
|
444
|
-
return EV(a, y);
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
448
|
-
typename std::enable_if<ExistsAtAll<Function::kCopysign, Tin, Tout, Acc::a>,
|
|
449
|
-
oneapi::mkl::vm::status>::type
|
|
450
|
-
copysign(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
451
|
-
constexpr auto cts =
|
|
452
|
-
CompileTimeSelector<Function::kCopysign, Tin, Tout, Acc::a>::result;
|
|
453
|
-
Evaluator<Function::kCopysign, Tin, Tout, cts.first, cts.second> EV;
|
|
454
|
-
return EV(a, b, y);
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
458
|
-
typename std::enable_if<ExistsAtAll<Function::kCos, Tin, Tout, Acc::a>,
|
|
459
|
-
oneapi::mkl::vm::status>::type
|
|
460
|
-
cos(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
461
|
-
constexpr auto cts =
|
|
462
|
-
CompileTimeSelector<Function::kCos, Tin, Tout, Acc::a>::result;
|
|
463
|
-
Evaluator<Function::kCos, Tin, Tout, cts.first, cts.second> EV;
|
|
464
|
-
return EV(a, y);
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
468
|
-
typename std::enable_if<ExistsAtAll<Function::kCosd, Tin, Tout, Acc::a>,
|
|
469
|
-
oneapi::mkl::vm::status>::type
|
|
470
|
-
cosd(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
471
|
-
constexpr auto cts =
|
|
472
|
-
CompileTimeSelector<Function::kCosd, Tin, Tout, Acc::a>::result;
|
|
473
|
-
Evaluator<Function::kCosd, Tin, Tout, cts.first, cts.second> EV;
|
|
474
|
-
return EV(a, y);
|
|
475
|
-
}
|
|
476
|
-
|
|
477
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
478
|
-
typename std::enable_if<ExistsAtAll<Function::kCosh, Tin, Tout, Acc::a>,
|
|
479
|
-
oneapi::mkl::vm::status>::type
|
|
480
|
-
cosh(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
481
|
-
constexpr auto cts =
|
|
482
|
-
CompileTimeSelector<Function::kCosh, Tin, Tout, Acc::a>::result;
|
|
483
|
-
Evaluator<Function::kCosh, Tin, Tout, cts.first, cts.second> EV;
|
|
484
|
-
return EV(a, y);
|
|
485
|
-
}
|
|
486
|
-
|
|
487
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
488
|
-
typename std::enable_if<ExistsAtAll<Function::kCospi, Tin, Tout, Acc::a>,
|
|
489
|
-
oneapi::mkl::vm::status>::type
|
|
490
|
-
cospi(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
491
|
-
constexpr auto cts =
|
|
492
|
-
CompileTimeSelector<Function::kCospi, Tin, Tout, Acc::a>::result;
|
|
493
|
-
Evaluator<Function::kCospi, Tin, Tout, cts.first, cts.second> EV;
|
|
494
|
-
return EV(a, y);
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
498
|
-
typename std::enable_if<ExistsAtAll<Function::kDiv, Tin, Tout, Acc::a>,
|
|
499
|
-
oneapi::mkl::vm::status>::type
|
|
500
|
-
div(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
501
|
-
constexpr auto cts =
|
|
502
|
-
CompileTimeSelector<Function::kDiv, Tin, Tout, Acc::a>::result;
|
|
503
|
-
Evaluator<Function::kDiv, Tin, Tout, cts.first, cts.second> EV;
|
|
504
|
-
return EV(a, b, y);
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
508
|
-
typename std::enable_if<ExistsAtAll<Function::kErf, Tin, Tout, Acc::a>,
|
|
509
|
-
oneapi::mkl::vm::status>::type
|
|
510
|
-
erf(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
511
|
-
constexpr auto cts =
|
|
512
|
-
CompileTimeSelector<Function::kErf, Tin, Tout, Acc::a>::result;
|
|
513
|
-
Evaluator<Function::kErf, Tin, Tout, cts.first, cts.second> EV;
|
|
514
|
-
return EV(a, y);
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
518
|
-
typename std::enable_if<ExistsAtAll<Function::kErfc, Tin, Tout, Acc::a>,
|
|
519
|
-
oneapi::mkl::vm::status>::type
|
|
520
|
-
erfc(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
521
|
-
constexpr auto cts =
|
|
522
|
-
CompileTimeSelector<Function::kErfc, Tin, Tout, Acc::a>::result;
|
|
523
|
-
Evaluator<Function::kErfc, Tin, Tout, cts.first, cts.second> EV;
|
|
524
|
-
return EV(a, y);
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
528
|
-
typename std::enable_if<ExistsAtAll<Function::kErfc, Tin, Tout, Acc::a>,
|
|
529
|
-
oneapi::mkl::vm::status>::type
|
|
530
|
-
erfcx(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
531
|
-
constexpr auto cts =
|
|
532
|
-
CompileTimeSelector<Function::kErfc, Tin, Tout, Acc::a>::result;
|
|
533
|
-
Evaluator<Function::kErfc, Tin, Tout, cts.first, cts.second> EV;
|
|
534
|
-
return EV(a, y);
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
538
|
-
typename std::enable_if<ExistsAtAll<Function::kErfcinv, Tin, Tout, Acc::a>,
|
|
539
|
-
oneapi::mkl::vm::status>::type
|
|
540
|
-
erfcinv(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
541
|
-
constexpr auto cts =
|
|
542
|
-
CompileTimeSelector<Function::kErfcinv, Tin, Tout, Acc::a>::result;
|
|
543
|
-
Evaluator<Function::kErfcinv, Tin, Tout, cts.first, cts.second> EV;
|
|
544
|
-
return EV(a, y);
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
548
|
-
typename std::enable_if<ExistsAtAll<Function::kErfinv, Tin, Tout, Acc::a>,
|
|
549
|
-
oneapi::mkl::vm::status>::type
|
|
550
|
-
erfinv(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
551
|
-
constexpr auto cts =
|
|
552
|
-
CompileTimeSelector<Function::kErfinv, Tin, Tout, Acc::a>::result;
|
|
553
|
-
Evaluator<Function::kErfinv, Tin, Tout, cts.first, cts.second> EV;
|
|
554
|
-
return EV(a, y);
|
|
555
|
-
}
|
|
556
|
-
|
|
557
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
558
|
-
typename std::enable_if<ExistsAtAll<Function::kExp, Tin, Tout, Acc::a>,
|
|
559
|
-
oneapi::mkl::vm::status>::type
|
|
560
|
-
exp(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
561
|
-
constexpr auto cts =
|
|
562
|
-
CompileTimeSelector<Function::kExp, Tin, Tout, Acc::a>::result;
|
|
563
|
-
Evaluator<Function::kExp, Tin, Tout, cts.first, cts.second> EV;
|
|
564
|
-
return EV(a, y);
|
|
565
|
-
}
|
|
566
|
-
|
|
567
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
568
|
-
typename std::enable_if<ExistsAtAll<Function::kExp10, Tin, Tout, Acc::a>,
|
|
569
|
-
oneapi::mkl::vm::status>::type
|
|
570
|
-
exp10(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
571
|
-
constexpr auto cts =
|
|
572
|
-
CompileTimeSelector<Function::kExp10, Tin, Tout, Acc::a>::result;
|
|
573
|
-
Evaluator<Function::kExp10, Tin, Tout, cts.first, cts.second> EV;
|
|
574
|
-
return EV(a, y);
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
578
|
-
typename std::enable_if<ExistsAtAll<Function::kExp2, Tin, Tout, Acc::a>,
|
|
579
|
-
oneapi::mkl::vm::status>::type
|
|
580
|
-
exp2(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
581
|
-
constexpr auto cts =
|
|
582
|
-
CompileTimeSelector<Function::kExp2, Tin, Tout, Acc::a>::result;
|
|
583
|
-
Evaluator<Function::kExp2, Tin, Tout, cts.first, cts.second> EV;
|
|
584
|
-
return EV(a, y);
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
588
|
-
typename std::enable_if<ExistsAtAll<Function::kExpm1, Tin, Tout, Acc::a>,
|
|
589
|
-
oneapi::mkl::vm::status>::type
|
|
590
|
-
expm1(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
591
|
-
constexpr auto cts =
|
|
592
|
-
CompileTimeSelector<Function::kExpm1, Tin, Tout, Acc::a>::result;
|
|
593
|
-
Evaluator<Function::kExpm1, Tin, Tout, cts.first, cts.second> EV;
|
|
594
|
-
return EV(a, y);
|
|
595
|
-
}
|
|
596
|
-
|
|
597
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
598
|
-
typename std::enable_if<ExistsAtAll<Function::kFdim, Tin, Tout, Acc::a>,
|
|
599
|
-
oneapi::mkl::vm::status>::type
|
|
600
|
-
fdim(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
601
|
-
constexpr auto cts =
|
|
602
|
-
CompileTimeSelector<Function::kFdim, Tin, Tout, Acc::a>::result;
|
|
603
|
-
Evaluator<Function::kFdim, Tin, Tout, cts.first, cts.second> EV;
|
|
604
|
-
return EV(a, b, y);
|
|
605
|
-
}
|
|
606
|
-
|
|
607
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
608
|
-
typename std::enable_if<ExistsAtAll<Function::kFloor, Tin, Tout, Acc::a>,
|
|
609
|
-
oneapi::mkl::vm::status>::type
|
|
610
|
-
floor(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
611
|
-
constexpr auto cts =
|
|
612
|
-
CompileTimeSelector<Function::kFloor, Tin, Tout, Acc::a>::result;
|
|
613
|
-
Evaluator<Function::kFloor, Tin, Tout, cts.first, cts.second> EV;
|
|
614
|
-
return EV(a, y);
|
|
615
|
-
}
|
|
616
|
-
|
|
617
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
618
|
-
typename std::enable_if<ExistsAtAll<Function::kFmax, Tin, Tout, Acc::a>,
|
|
619
|
-
oneapi::mkl::vm::status>::type
|
|
620
|
-
fmax(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
621
|
-
constexpr auto cts =
|
|
622
|
-
CompileTimeSelector<Function::kFmax, Tin, Tout, Acc::a>::result;
|
|
623
|
-
Evaluator<Function::kFmax, Tin, Tout, cts.first, cts.second> EV;
|
|
624
|
-
return EV(a, b, y);
|
|
625
|
-
}
|
|
626
|
-
|
|
627
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
628
|
-
typename std::enable_if<ExistsAtAll<Function::kFmin, Tin, Tout, Acc::a>,
|
|
629
|
-
oneapi::mkl::vm::status>::type
|
|
630
|
-
fmin(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
631
|
-
constexpr auto cts =
|
|
632
|
-
CompileTimeSelector<Function::kFmin, Tin, Tout, Acc::a>::result;
|
|
633
|
-
Evaluator<Function::kFmin, Tin, Tout, cts.first, cts.second> EV;
|
|
634
|
-
return EV(a, b, y);
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
638
|
-
typename std::enable_if<ExistsAtAll<Function::kFmod, Tin, Tout, Acc::a>,
|
|
639
|
-
oneapi::mkl::vm::status>::type
|
|
640
|
-
fmod(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
641
|
-
constexpr auto cts =
|
|
642
|
-
CompileTimeSelector<Function::kFmod, Tin, Tout, Acc::a>::result;
|
|
643
|
-
Evaluator<Function::kFmod, Tin, Tout, cts.first, cts.second> EV;
|
|
644
|
-
return EV(a, b, y);
|
|
645
|
-
}
|
|
646
|
-
|
|
647
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
648
|
-
typename std::enable_if<ExistsAtAll<Function::kFrac, Tin, Tout, Acc::a>,
|
|
649
|
-
oneapi::mkl::vm::status>::type
|
|
650
|
-
frac(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
651
|
-
constexpr auto cts =
|
|
652
|
-
CompileTimeSelector<Function::kFrac, Tin, Tout, Acc::a>::result;
|
|
653
|
-
Evaluator<Function::kFrac, Tin, Tout, cts.first, cts.second> EV;
|
|
654
|
-
return EV(a, y);
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
658
|
-
typename std::enable_if<ExistsAtAll<Function::kHypot, Tin, Tout, Acc::a>,
|
|
659
|
-
oneapi::mkl::vm::status>::type
|
|
660
|
-
hypot(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
661
|
-
constexpr auto cts =
|
|
662
|
-
CompileTimeSelector<Function::kHypot, Tin, Tout, Acc::a>::result;
|
|
663
|
-
Evaluator<Function::kHypot, Tin, Tout, cts.first, cts.second> EV;
|
|
664
|
-
return EV(a, b, y);
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
668
|
-
typename std::enable_if<ExistsAtAll<Function::kInv, Tin, Tout, Acc::a>,
|
|
669
|
-
oneapi::mkl::vm::status>::type
|
|
670
|
-
inv(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
671
|
-
constexpr auto cts =
|
|
672
|
-
CompileTimeSelector<Function::kInv, Tin, Tout, Acc::a>::result;
|
|
673
|
-
Evaluator<Function::kInv, Tin, Tout, cts.first, cts.second> EV;
|
|
674
|
-
return EV(a, y);
|
|
675
|
-
}
|
|
676
|
-
|
|
677
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
678
|
-
typename std::enable_if<ExistsAtAll<Function::kInvcbrt, Tin, Tout, Acc::a>,
|
|
679
|
-
oneapi::mkl::vm::status>::type
|
|
680
|
-
invcbrt(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
681
|
-
constexpr auto cts =
|
|
682
|
-
CompileTimeSelector<Function::kInvcbrt, Tin, Tout, Acc::a>::result;
|
|
683
|
-
Evaluator<Function::kInvcbrt, Tin, Tout, cts.first, cts.second> EV;
|
|
684
|
-
return EV(a, y);
|
|
685
|
-
}
|
|
686
|
-
|
|
687
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
688
|
-
typename std::enable_if<ExistsAtAll<Function::kInvsqrt, Tin, Tout, Acc::a>,
|
|
689
|
-
oneapi::mkl::vm::status>::type
|
|
690
|
-
invsqrt(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
691
|
-
constexpr auto cts =
|
|
692
|
-
CompileTimeSelector<Function::kInvsqrt, Tin, Tout, Acc::a>::result;
|
|
693
|
-
Evaluator<Function::kInvsqrt, Tin, Tout, cts.first, cts.second> EV;
|
|
694
|
-
return EV(a, y);
|
|
695
|
-
}
|
|
696
|
-
|
|
697
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
698
|
-
typename std::enable_if<ExistsAtAll<Function::kLgamma, Tin, Tout, Acc::a>,
|
|
699
|
-
oneapi::mkl::vm::status>::type
|
|
700
|
-
lgamma(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
701
|
-
constexpr auto cts =
|
|
702
|
-
CompileTimeSelector<Function::kLgamma, Tin, Tout, Acc::a>::result;
|
|
703
|
-
Evaluator<Function::kLgamma, Tin, Tout, cts.first, cts.second> EV;
|
|
704
|
-
return EV(a, y);
|
|
705
|
-
}
|
|
706
|
-
|
|
707
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
708
|
-
typename std::enable_if<ExistsAtAll<Function::kLn, Tin, Tout, Acc::a>,
|
|
709
|
-
oneapi::mkl::vm::status>::type
|
|
710
|
-
ln(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
711
|
-
constexpr auto cts =
|
|
712
|
-
CompileTimeSelector<Function::kLn, Tin, Tout, Acc::a>::result;
|
|
713
|
-
Evaluator<Function::kLn, Tin, Tout, cts.first, cts.second> EV;
|
|
714
|
-
return EV(a, y);
|
|
715
|
-
}
|
|
716
|
-
|
|
717
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
718
|
-
typename std::enable_if<ExistsAtAll<Function::kLog10, Tin, Tout, Acc::a>,
|
|
719
|
-
oneapi::mkl::vm::status>::type
|
|
720
|
-
log10(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
721
|
-
constexpr auto cts =
|
|
722
|
-
CompileTimeSelector<Function::kLog10, Tin, Tout, Acc::a>::result;
|
|
723
|
-
Evaluator<Function::kLog10, Tin, Tout, cts.first, cts.second> EV;
|
|
724
|
-
return EV(a, y);
|
|
725
|
-
}
|
|
726
|
-
|
|
727
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
728
|
-
typename std::enable_if<ExistsAtAll<Function::kLog1p, Tin, Tout, Acc::a>,
|
|
729
|
-
oneapi::mkl::vm::status>::type
|
|
730
|
-
log1p(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
731
|
-
constexpr auto cts =
|
|
732
|
-
CompileTimeSelector<Function::kLog1p, Tin, Tout, Acc::a>::result;
|
|
733
|
-
Evaluator<Function::kLog1p, Tin, Tout, cts.first, cts.second> EV;
|
|
734
|
-
return EV(a, y);
|
|
735
|
-
}
|
|
736
|
-
|
|
737
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
738
|
-
typename std::enable_if<ExistsAtAll<Function::kLog2, Tin, Tout, Acc::a>,
|
|
739
|
-
oneapi::mkl::vm::status>::type
|
|
740
|
-
log2(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
741
|
-
constexpr auto cts =
|
|
742
|
-
CompileTimeSelector<Function::kLog2, Tin, Tout, Acc::a>::result;
|
|
743
|
-
Evaluator<Function::kLog2, Tin, Tout, cts.first, cts.second> EV;
|
|
744
|
-
return EV(a, y);
|
|
745
|
-
}
|
|
746
|
-
|
|
747
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
748
|
-
typename std::enable_if<ExistsAtAll<Function::kLogb, Tin, Tout, Acc::a>,
|
|
749
|
-
oneapi::mkl::vm::status>::type
|
|
750
|
-
logb(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
751
|
-
constexpr auto cts =
|
|
752
|
-
CompileTimeSelector<Function::kLogb, Tin, Tout, Acc::a>::result;
|
|
753
|
-
Evaluator<Function::kLogb, Tin, Tout, cts.first, cts.second> EV;
|
|
754
|
-
return EV(a, y);
|
|
755
|
-
}
|
|
756
|
-
|
|
757
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
758
|
-
typename std::enable_if<ExistsAtAll<Function::kMaxmag, Tin, Tout, Acc::a>,
|
|
759
|
-
oneapi::mkl::vm::status>::type
|
|
760
|
-
maxmag(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
761
|
-
constexpr auto cts =
|
|
762
|
-
CompileTimeSelector<Function::kMaxmag, Tin, Tout, Acc::a>::result;
|
|
763
|
-
Evaluator<Function::kMaxmag, Tin, Tout, cts.first, cts.second> EV;
|
|
764
|
-
return EV(a, b, y);
|
|
765
|
-
}
|
|
766
|
-
|
|
767
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
768
|
-
typename std::enable_if<ExistsAtAll<Function::kMinmag, Tin, Tout, Acc::a>,
|
|
769
|
-
oneapi::mkl::vm::status>::type
|
|
770
|
-
minmag(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
771
|
-
constexpr auto cts =
|
|
772
|
-
CompileTimeSelector<Function::kMinmag, Tin, Tout, Acc::a>::result;
|
|
773
|
-
Evaluator<Function::kMinmag, Tin, Tout, cts.first, cts.second> EV;
|
|
774
|
-
return EV(a, b, y);
|
|
775
|
-
}
|
|
776
|
-
|
|
777
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
778
|
-
typename std::enable_if<ExistsAtAll<Function::kModf, Tin, Tout, Acc::a>,
|
|
779
|
-
oneapi::mkl::vm::status>::type
|
|
780
|
-
modf(const Tin* a, Tout* y, Tout* z, Acc const& acc = {}) {
|
|
781
|
-
constexpr auto cts =
|
|
782
|
-
CompileTimeSelector<Function::kModf, Tin, Tout, Acc::a>::result;
|
|
783
|
-
Evaluator<Function::kModf, Tin, Tout, cts.first, cts.second> EV;
|
|
784
|
-
return EV(a, y, z);
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
788
|
-
typename std::enable_if<ExistsAtAll<Function::kMul, Tin, Tout, Acc::a>,
|
|
789
|
-
oneapi::mkl::vm::status>::type
|
|
790
|
-
mul(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
791
|
-
constexpr auto cts =
|
|
792
|
-
CompileTimeSelector<Function::kMul, Tin, Tout, Acc::a>::result;
|
|
793
|
-
Evaluator<Function::kMul, Tin, Tout, cts.first, cts.second> EV;
|
|
794
|
-
return EV(a, b, y);
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
798
|
-
typename std::enable_if<ExistsAtAll<Function::kMulbyconj, Tin, Tout, Acc::a>,
|
|
799
|
-
oneapi::mkl::vm::status>::type
|
|
800
|
-
mulbyconj(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
801
|
-
constexpr auto cts =
|
|
802
|
-
CompileTimeSelector<Function::kMulbyconj, Tin, Tout, Acc::a>::result;
|
|
803
|
-
Evaluator<Function::kMulbyconj, Tin, Tout, cts.first, cts.second> EV;
|
|
804
|
-
return EV(a, b, y);
|
|
805
|
-
}
|
|
806
|
-
|
|
807
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
808
|
-
typename std::enable_if<ExistsAtAll<Function::kNearbyint, Tin, Tout, Acc::a>,
|
|
809
|
-
oneapi::mkl::vm::status>::type
|
|
810
|
-
nearbyint(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
811
|
-
constexpr auto cts =
|
|
812
|
-
CompileTimeSelector<Function::kNearbyint, Tin, Tout, Acc::a>::result;
|
|
813
|
-
Evaluator<Function::kNearbyint, Tin, Tout, cts.first, cts.second> EV;
|
|
814
|
-
return EV(a, y);
|
|
815
|
-
}
|
|
816
|
-
|
|
817
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
818
|
-
typename std::enable_if<ExistsAtAll<Function::kNextafter, Tin, Tout, Acc::a>,
|
|
819
|
-
oneapi::mkl::vm::status>::type
|
|
820
|
-
nextafter(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
821
|
-
constexpr auto cts =
|
|
822
|
-
CompileTimeSelector<Function::kNextafter, Tin, Tout, Acc::a>::result;
|
|
823
|
-
Evaluator<Function::kNextafter, Tin, Tout, cts.first, cts.second> EV;
|
|
824
|
-
return EV(a, b, y);
|
|
825
|
-
}
|
|
826
|
-
|
|
827
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
828
|
-
typename std::enable_if<ExistsAtAll<Function::kPow, Tin, Tout, Acc::a>,
|
|
829
|
-
oneapi::mkl::vm::status>::type
|
|
830
|
-
pow(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
831
|
-
constexpr auto cts =
|
|
832
|
-
CompileTimeSelector<Function::kPow, Tin, Tout, Acc::a>::result;
|
|
833
|
-
Evaluator<Function::kPow, Tin, Tout, cts.first, cts.second> EV;
|
|
834
|
-
return EV(a, b, y);
|
|
835
|
-
}
|
|
836
|
-
|
|
837
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
838
|
-
typename std::enable_if<ExistsAtAll<Function::kPow2o3, Tin, Tout, Acc::a>,
|
|
839
|
-
oneapi::mkl::vm::status>::type
|
|
840
|
-
pow2o3(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
841
|
-
constexpr auto cts =
|
|
842
|
-
CompileTimeSelector<Function::kPow2o3, Tin, Tout, Acc::a>::result;
|
|
843
|
-
Evaluator<Function::kPow2o3, Tin, Tout, cts.first, cts.second> EV;
|
|
844
|
-
return EV(a, y);
|
|
845
|
-
}
|
|
846
|
-
|
|
847
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
848
|
-
typename std::enable_if<ExistsAtAll<Function::kPow3o2, Tin, Tout, Acc::a>,
|
|
849
|
-
oneapi::mkl::vm::status>::type
|
|
850
|
-
pow3o2(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
851
|
-
constexpr auto cts =
|
|
852
|
-
CompileTimeSelector<Function::kPow3o2, Tin, Tout, Acc::a>::result;
|
|
853
|
-
Evaluator<Function::kPow3o2, Tin, Tout, cts.first, cts.second> EV;
|
|
854
|
-
return EV(a, y);
|
|
855
|
-
}
|
|
856
|
-
|
|
857
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
858
|
-
typename std::enable_if<ExistsAtAll<Function::kPowr, Tin, Tout, Acc::a>,
|
|
859
|
-
oneapi::mkl::vm::status>::type
|
|
860
|
-
powr(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
861
|
-
constexpr auto cts =
|
|
862
|
-
CompileTimeSelector<Function::kPowr, Tin, Tout, Acc::a>::result;
|
|
863
|
-
Evaluator<Function::kPowr, Tin, Tout, cts.first, cts.second> EV;
|
|
864
|
-
return EV(a, b, y);
|
|
865
|
-
}
|
|
866
|
-
|
|
867
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
868
|
-
typename std::enable_if<ExistsAtAll<Function::kPowx, Tin, Tout, Acc::a>,
|
|
869
|
-
oneapi::mkl::vm::status>::type
|
|
870
|
-
powx(const Tin* a, const Tin b, Tout* y, Acc const& acc = {}) {
|
|
871
|
-
constexpr auto cts =
|
|
872
|
-
CompileTimeSelector<Function::kPowx, Tin, Tout, Acc::a>::result;
|
|
873
|
-
Evaluator<Function::kPowx, Tin, Tout, cts.first, cts.second> EV;
|
|
874
|
-
return EV(a, b, y);
|
|
875
|
-
}
|
|
876
|
-
|
|
877
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
878
|
-
typename std::enable_if<ExistsAtAll<Function::kRemainder, Tin, Tout, Acc::a>,
|
|
879
|
-
oneapi::mkl::vm::status>::type
|
|
880
|
-
remainder(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
881
|
-
constexpr auto cts =
|
|
882
|
-
CompileTimeSelector<Function::kRemainder, Tin, Tout, Acc::a>::result;
|
|
883
|
-
Evaluator<Function::kRemainder, Tin, Tout, cts.first, cts.second> EV;
|
|
884
|
-
return EV(a, b, y);
|
|
885
|
-
}
|
|
886
|
-
|
|
887
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
888
|
-
typename std::enable_if<ExistsAtAll<Function::kRint, Tin, Tout, Acc::a>,
|
|
889
|
-
oneapi::mkl::vm::status>::type
|
|
890
|
-
rint(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
891
|
-
constexpr auto cts =
|
|
892
|
-
CompileTimeSelector<Function::kRint, Tin, Tout, Acc::a>::result;
|
|
893
|
-
Evaluator<Function::kRint, Tin, Tout, cts.first, cts.second> EV;
|
|
894
|
-
return EV(a, y);
|
|
895
|
-
}
|
|
896
|
-
|
|
897
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
898
|
-
typename std::enable_if<ExistsAtAll<Function::kRound, Tin, Tout, Acc::a>,
|
|
899
|
-
oneapi::mkl::vm::status>::type
|
|
900
|
-
round(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
901
|
-
constexpr auto cts =
|
|
902
|
-
CompileTimeSelector<Function::kRound, Tin, Tout, Acc::a>::result;
|
|
903
|
-
Evaluator<Function::kRound, Tin, Tout, cts.first, cts.second> EV;
|
|
904
|
-
return EV(a, y);
|
|
905
|
-
}
|
|
906
|
-
|
|
907
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
908
|
-
typename std::enable_if<ExistsAtAll<Function::kSin, Tin, Tout, Acc::a>,
|
|
909
|
-
oneapi::mkl::vm::status>::type
|
|
910
|
-
sin(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
911
|
-
constexpr auto cts =
|
|
912
|
-
CompileTimeSelector<Function::kSin, Tin, Tout, Acc::a>::result;
|
|
913
|
-
Evaluator<Function::kSin, Tin, Tout, cts.first, cts.second> EV;
|
|
914
|
-
return EV(a, y);
|
|
915
|
-
}
|
|
916
|
-
|
|
917
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
918
|
-
typename std::enable_if<ExistsAtAll<Function::kSincos, Tin, Tout, Acc::a>,
|
|
919
|
-
oneapi::mkl::vm::status>::type
|
|
920
|
-
sincos(const Tin* a, Tout* y, Tout* z, Acc const& acc = {}) {
|
|
921
|
-
constexpr auto cts =
|
|
922
|
-
CompileTimeSelector<Function::kSincos, Tin, Tout, Acc::a>::result;
|
|
923
|
-
Evaluator<Function::kSincos, Tin, Tout, cts.first, cts.second> EV;
|
|
924
|
-
return EV(a, y, z);
|
|
925
|
-
}
|
|
926
|
-
|
|
927
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
928
|
-
typename std::enable_if<ExistsAtAll<Function::kSincospi, Tin, Tout, Acc::a>,
|
|
929
|
-
oneapi::mkl::vm::status>::type
|
|
930
|
-
sincospi(const Tin* a, Tout* y, Tout* z, Acc const& acc = {}) {
|
|
931
|
-
constexpr auto cts =
|
|
932
|
-
CompileTimeSelector<Function::kSincospi, Tin, Tout, Acc::a>::result;
|
|
933
|
-
Evaluator<Function::kSincospi, Tin, Tout, cts.first, cts.second> EV;
|
|
934
|
-
return EV(a, y, z);
|
|
935
|
-
}
|
|
936
|
-
|
|
937
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
938
|
-
typename std::enable_if<ExistsAtAll<Function::kSind, Tin, Tout, Acc::a>,
|
|
939
|
-
oneapi::mkl::vm::status>::type
|
|
940
|
-
sind(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
941
|
-
constexpr auto cts =
|
|
942
|
-
CompileTimeSelector<Function::kSind, Tin, Tout, Acc::a>::result;
|
|
943
|
-
Evaluator<Function::kSind, Tin, Tout, cts.first, cts.second> EV;
|
|
944
|
-
return EV(a, y);
|
|
945
|
-
}
|
|
946
|
-
|
|
947
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
948
|
-
typename std::enable_if<ExistsAtAll<Function::kSinh, Tin, Tout, Acc::a>,
|
|
949
|
-
oneapi::mkl::vm::status>::type
|
|
950
|
-
sinh(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
951
|
-
constexpr auto cts =
|
|
952
|
-
CompileTimeSelector<Function::kSinh, Tin, Tout, Acc::a>::result;
|
|
953
|
-
Evaluator<Function::kSinh, Tin, Tout, cts.first, cts.second> EV;
|
|
954
|
-
return EV(a, y);
|
|
955
|
-
}
|
|
956
|
-
|
|
957
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
958
|
-
typename std::enable_if<ExistsAtAll<Function::kSinpi, Tin, Tout, Acc::a>,
|
|
959
|
-
oneapi::mkl::vm::status>::type
|
|
960
|
-
sinpi(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
961
|
-
constexpr auto cts =
|
|
962
|
-
CompileTimeSelector<Function::kSinpi, Tin, Tout, Acc::a>::result;
|
|
963
|
-
Evaluator<Function::kSinpi, Tin, Tout, cts.first, cts.second> EV;
|
|
964
|
-
return EV(a, y);
|
|
965
|
-
}
|
|
966
|
-
|
|
967
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
968
|
-
typename std::enable_if<ExistsAtAll<Function::kSqr, Tin, Tout, Acc::a>,
|
|
969
|
-
oneapi::mkl::vm::status>::type
|
|
970
|
-
sqr(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
971
|
-
constexpr auto cts =
|
|
972
|
-
CompileTimeSelector<Function::kSqr, Tin, Tout, Acc::a>::result;
|
|
973
|
-
Evaluator<Function::kSqr, Tin, Tout, cts.first, cts.second> EV;
|
|
974
|
-
return EV(a, y);
|
|
975
|
-
}
|
|
976
|
-
|
|
977
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
978
|
-
typename std::enable_if<ExistsAtAll<Function::kSqrt, Tin, Tout, Acc::a>,
|
|
979
|
-
oneapi::mkl::vm::status>::type
|
|
980
|
-
sqrt(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
981
|
-
constexpr auto cts =
|
|
982
|
-
CompileTimeSelector<Function::kSqrt, Tin, Tout, Acc::a>::result;
|
|
983
|
-
Evaluator<Function::kSqrt, Tin, Tout, cts.first, cts.second> EV;
|
|
984
|
-
return EV(a, y);
|
|
985
|
-
}
|
|
986
|
-
|
|
987
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
988
|
-
typename std::enable_if<ExistsAtAll<Function::kSub, Tin, Tout, Acc::a>,
|
|
989
|
-
oneapi::mkl::vm::status>::type
|
|
990
|
-
sub(const Tin* a, const Tin* b, Tout* y, Acc const& acc = {}) {
|
|
991
|
-
constexpr auto cts =
|
|
992
|
-
CompileTimeSelector<Function::kSub, Tin, Tout, Acc::a>::result;
|
|
993
|
-
Evaluator<Function::kSub, Tin, Tout, cts.first, cts.second> EV;
|
|
994
|
-
return EV(a, b, y);
|
|
995
|
-
}
|
|
996
|
-
|
|
997
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
998
|
-
typename std::enable_if<ExistsAtAll<Function::kTan, Tin, Tout, Acc::a>,
|
|
999
|
-
oneapi::mkl::vm::status>::type
|
|
1000
|
-
tan(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
1001
|
-
constexpr auto cts =
|
|
1002
|
-
CompileTimeSelector<Function::kTan, Tin, Tout, Acc::a>::result;
|
|
1003
|
-
Evaluator<Function::kTan, Tin, Tout, cts.first, cts.second> EV;
|
|
1004
|
-
return EV(a, y);
|
|
1005
|
-
}
|
|
1006
|
-
|
|
1007
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
1008
|
-
typename std::enable_if<ExistsAtAll<Function::kTand, Tin, Tout, Acc::a>,
|
|
1009
|
-
oneapi::mkl::vm::status>::type
|
|
1010
|
-
tand(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
1011
|
-
constexpr auto cts =
|
|
1012
|
-
CompileTimeSelector<Function::kTand, Tin, Tout, Acc::a>::result;
|
|
1013
|
-
Evaluator<Function::kTand, Tin, Tout, cts.first, cts.second> EV;
|
|
1014
|
-
return EV(a, y);
|
|
1015
|
-
}
|
|
1016
|
-
|
|
1017
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
1018
|
-
typename std::enable_if<ExistsAtAll<Function::kTanh, Tin, Tout, Acc::a>,
|
|
1019
|
-
oneapi::mkl::vm::status>::type
|
|
1020
|
-
tanh(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
1021
|
-
constexpr auto cts =
|
|
1022
|
-
CompileTimeSelector<Function::kTanh, Tin, Tout, Acc::a>::result;
|
|
1023
|
-
Evaluator<Function::kTanh, Tin, Tout, cts.first, cts.second> EV;
|
|
1024
|
-
return EV(a, y);
|
|
1025
|
-
}
|
|
1026
|
-
|
|
1027
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
1028
|
-
typename std::enable_if<ExistsAtAll<Function::kTanpi, Tin, Tout, Acc::a>,
|
|
1029
|
-
oneapi::mkl::vm::status>::type
|
|
1030
|
-
tanpi(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
1031
|
-
constexpr auto cts =
|
|
1032
|
-
CompileTimeSelector<Function::kTanpi, Tin, Tout, Acc::a>::result;
|
|
1033
|
-
Evaluator<Function::kTanpi, Tin, Tout, cts.first, cts.second> EV;
|
|
1034
|
-
return EV(a, y);
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
1038
|
-
typename std::enable_if<ExistsAtAll<Function::kTgamma, Tin, Tout, Acc::a>,
|
|
1039
|
-
oneapi::mkl::vm::status>::type
|
|
1040
|
-
tgamma(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
1041
|
-
constexpr auto cts =
|
|
1042
|
-
CompileTimeSelector<Function::kTgamma, Tin, Tout, Acc::a>::result;
|
|
1043
|
-
Evaluator<Function::kTgamma, Tin, Tout, cts.first, cts.second> EV;
|
|
1044
|
-
return EV(a, y);
|
|
1045
|
-
}
|
|
1046
|
-
|
|
1047
|
-
template <typename Tin, typename Tout, typename Acc = decltype(DefaultAccuracy)>
|
|
1048
|
-
typename std::enable_if<ExistsAtAll<Function::kTrunc, Tin, Tout, Acc::a>,
|
|
1049
|
-
oneapi::mkl::vm::status>::type
|
|
1050
|
-
trunc(const Tin* a, Tout* y, Acc const& acc = {}) {
|
|
1051
|
-
constexpr auto cts =
|
|
1052
|
-
CompileTimeSelector<Function::kTrunc, Tin, Tout, Acc::a>::result;
|
|
1053
|
-
Evaluator<Function::kTrunc, Tin, Tout, cts.first, cts.second> EV;
|
|
1054
|
-
return EV(a, y);
|
|
1055
|
-
}
|
|
1056
|
-
|
|
1057
|
-
} // namespace oneapi::mkl::vm::device::detail
|
|
1058
|
-
|
|
1059
|
-
#endif // #ifndef ONEAPI_MKL_VM_DEVICE_VM_DETAIL_DISPATCH_HPP
|