19 inline namespace _V1 {
20 namespace ext::oneapi {
25 static constexpr
int value =
false;
29 static constexpr
int value =
true;
33 static constexpr
int value =
true;
37 static constexpr
int value =
true;
41 static constexpr
int value =
true;
47 std::enable_if_t<detail::is_bf16_storage_type<T>::value, T>
fabs(T x) {
48 #ifdef __SYCL_DEVICE_ONLY__
52 throw runtime_error(
"bf16 is not supported on host device.",
53 PI_ERROR_INVALID_DEVICE);
57 std::enable_if_t<detail::is_bf16_storage_type<T>::value, T>
fmin(T x, T y) {
58 #ifdef __SYCL_DEVICE_ONLY__
59 return __clc_fmin(x, y);
63 throw runtime_error(
"bf16 is not supported on host device.",
64 PI_ERROR_INVALID_DEVICE);
68 std::enable_if_t<detail::is_bf16_storage_type<T>::value, T>
fmax(T x, T y) {
69 #ifdef __SYCL_DEVICE_ONLY__
70 return __clc_fmax(x, y);
74 throw runtime_error(
"bf16 is not supported on host device.",
75 PI_ERROR_INVALID_DEVICE);
79 std::enable_if_t<detail::is_bf16_storage_type<T>::value, T>
fma(T x, T y, T z) {
80 #ifdef __SYCL_DEVICE_ONLY__
81 return __clc_fma(x, y, z);
86 throw runtime_error(
"bf16 is not supported on host device.",
87 PI_ERROR_INVALID_DEVICE);