@@ -24,25 +24,25 @@ namespace nbl
24
24
namespace hlsl
25
25
{
26
26
// TODO: will not work for emulated_float as an input because `concepts::floating_point<T>` is only for native floats, fix every occurance
27
- template<typename FloatingPoint NBL_FUNC_REQUIRES (concepts::floating_point <FloatingPoint>)
27
+ template<typename FloatingPoint NBL_FUNC_REQUIRES (concepts::FloatingPointLike <FloatingPoint>)
28
28
inline FloatingPoint erf (FloatingPoint x)
29
29
{
30
30
return tgmath_impl::erf_helper<FloatingPoint>::__call (x);
31
31
}
32
32
33
- template<typename FloatingPoint NBL_FUNC_REQUIRES (concepts::floating_point <FloatingPoint>)
33
+ template<typename FloatingPoint NBL_FUNC_REQUIRES (concepts::FloatingPointLike <FloatingPoint>)
34
34
inline FloatingPoint erfInv (FloatingPoint x)
35
35
{
36
36
return tgmath_impl::erfInv_helper<FloatingPoint>::__call (x);
37
37
}
38
38
39
- template<typename T NBL_FUNC_REQUIRES (concepts::floating_point <T> || concepts::Vectorial<T>)
39
+ template<typename T NBL_FUNC_REQUIRES (concepts::FloatingPointLike <T> || concepts::Vectorial<T>)
40
40
inline T floor (NBL_CONST_REF_ARG (T) val)
41
41
{
42
42
return tgmath_impl::floor_helper<T>::__call (val);
43
43
}
44
44
45
- template<typename T, typename U NBL_FUNC_REQUIRES ((concepts::floating_point <T> || concepts::FloatingPointVectorial <T>) && (concepts::floating_point<U> || is_same_v<U, bool >))
45
+ template<typename T, typename U NBL_FUNC_REQUIRES ((concepts::FloatingPointLike <T> || concepts::FloatingPointLikeVectorial <T>) && (concepts::floating_point<U> || is_same_v<U, bool >))
46
46
inline T lerp (NBL_CONST_REF_ARG (T) x, NBL_CONST_REF_ARG (T) y, NBL_CONST_REF_ARG (U) a)
47
47
{
48
48
return tgmath_impl::lerp_helper<T, U>::__call (x, y, a);
@@ -54,7 +54,7 @@ inline bool isnan(NBL_CONST_REF_ARG(FloatingPoint) val)
54
54
return tgmath_impl::isnan_helper<FloatingPoint>::__call (val);
55
55
}
56
56
57
- template<typename V NBL_FUNC_REQUIRES (concepts::FloatingPointVectorial <V>)
57
+ template<typename V NBL_FUNC_REQUIRES (concepts::FloatingPointLikeVectorial <V>)
58
58
inline vector <bool , vector_traits<V>::Dimension> isnan (NBL_CONST_REF_ARG (V) val)
59
59
{
60
60
return tgmath_impl::isnan_helper<V>::__call (val);
@@ -66,38 +66,38 @@ inline FloatingPoint isinf(NBL_CONST_REF_ARG(FloatingPoint) val)
66
66
return tgmath_impl::isinf_helper<FloatingPoint>::__call (val);
67
67
}
68
68
69
- template<typename V NBL_FUNC_REQUIRES (concepts::FloatingPointVectorial <V>)
69
+ template<typename V NBL_FUNC_REQUIRES (concepts::FloatingPointLikeVectorial <V>)
70
70
inline vector <bool , vector_traits<V>::Dimension> isinf (NBL_CONST_REF_ARG (V) val)
71
71
{
72
72
return tgmath_impl::isinf_helper<V>::__call (val);
73
73
}
74
74
75
- template<typename T NBL_FUNC_REQUIRES (concepts::floating_point <T> || concepts::FloatingPointVectorial <T>)
75
+ template<typename T NBL_FUNC_REQUIRES (concepts::FloatingPointLike <T> || concepts::FloatingPointLikeVectorial <T>)
76
76
inline T pow (NBL_CONST_REF_ARG (T) x, NBL_CONST_REF_ARG (T) y)
77
77
{
78
78
return tgmath_impl::pow_helper<T>::__call (x, y);
79
79
}
80
80
81
- template<typename T NBL_FUNC_REQUIRES (concepts::floating_point <T> || concepts::FloatingPointVectorial <T>)
81
+ template<typename T NBL_FUNC_REQUIRES (concepts::FloatingPointLike <T> || concepts::FloatingPointLikeVectorial <T>)
82
82
inline T exp (NBL_CONST_REF_ARG (T) x)
83
83
{
84
84
return tgmath_impl::exp_helper<T>::__call (x);
85
85
}
86
86
87
87
88
- template<typename T NBL_FUNC_REQUIRES (concepts::floating_point <T> || concepts::Vectorial<T>)
88
+ template<typename T NBL_FUNC_REQUIRES (concepts::FloatingPointLike <T> || concepts::Vectorial<T>)
89
89
inline T exp2 (NBL_CONST_REF_ARG (T) x)
90
90
{
91
91
return tgmath_impl::exp2_helper<T>::__call (x);
92
92
}
93
93
94
- template<typename T NBL_FUNC_REQUIRES (concepts::floating_point <T> || concepts::FloatingPointVectorial <T>)
94
+ template<typename T NBL_FUNC_REQUIRES (concepts::FloatingPointLike <T> || concepts::FloatingPointLikeVectorial <T>)
95
95
inline T log (NBL_CONST_REF_ARG (T) x)
96
96
{
97
97
return tgmath_impl::log_helper<T>::__call (x);
98
98
}
99
99
100
- template<typename T NBL_FUNC_REQUIRES (concepts::floating_point <T> || concepts::signed_integral<T> || concepts::FloatingPointVectorial <T> || concepts::SignedIntVectorial<T>)
100
+ template<typename T NBL_FUNC_REQUIRES (concepts::FloatingPointLike <T> || concepts::signed_integral<T> || concepts::FloatingPointLikeVectorial <T> || concepts::SignedIntVectorial<T>)
101
101
inline T abs (NBL_CONST_REF_ARG (T) val)
102
102
{
103
103
return tgmath_impl::abs_helper<T>::__call (val);
0 commit comments