diff --git a/README.md b/README.md index 0a62881..5347efd 100644 --- a/README.md +++ b/README.md @@ -1010,7 +1010,7 @@ template < arithmetic T > constexpr T sign(T x) noexcept; template < floating_point T > -constexpr T reciprocal(T x) noexcept; +constexpr T rcp(T x) noexcept; template < floating_point T > T floor(T x) noexcept; @@ -1089,7 +1089,7 @@ template < typename T, size_t Size > constexpr vec sign(const vec& xs); template < typename T, size_t Size > -constexpr vec reciprocal(const vec& xs); +constexpr vec rcp(const vec& xs); template < typename T, size_t Size > vec floor(const vec& xs); diff --git a/headers/vmath.hpp/vmath_ext.hpp b/headers/vmath.hpp/vmath_ext.hpp index 67c82b2..cb17fc7 100644 --- a/headers/vmath.hpp/vmath_ext.hpp +++ b/headers/vmath.hpp/vmath_ext.hpp @@ -483,9 +483,9 @@ namespace vmath_hpp template < typename T > [[nodiscard]] mat orthographic_lh_zo(T left, T right, T bottom, T top, T znear, T zfar) { - const T sx = T(2) * reciprocal(right - left); - const T sy = T(2) * reciprocal(top - bottom); - const T sz = T(1) * reciprocal(zfar - znear); + const T sx = T(2) * rcp(right - left); + const T sy = T(2) * rcp(top - bottom); + const T sz = T(1) * rcp(zfar - znear); const T tx = - (right + left) / (right - left); const T ty = - (top + bottom) / (top - bottom); @@ -500,9 +500,9 @@ namespace vmath_hpp template < typename T > [[nodiscard]] mat orthographic_lh_no(T left, T right, T bottom, T top, T znear, T zfar) { - const T sx = T(2) * reciprocal(right - left); - const T sy = T(2) * reciprocal(top - bottom); - const T sz = T(2) * reciprocal(zfar - znear); + const T sx = T(2) * rcp(right - left); + const T sy = T(2) * rcp(top - bottom); + const T sz = T(2) * rcp(zfar - znear); const T tx = - (right + left) / (right - left); const T ty = - (top + bottom) / (top - bottom); @@ -517,9 +517,9 @@ namespace vmath_hpp template < typename T > [[nodiscard]] mat orthographic_rh_zo(T left, T right, T bottom, T top, T znear, T zfar) { - const T sx = T(2) * reciprocal(right - left); - const T sy = T(2) * reciprocal(top - bottom); - const T sz = -T(1) * reciprocal(zfar - znear); + const T sx = T(2) * rcp(right - left); + const T sy = T(2) * rcp(top - bottom); + const T sz = -T(1) * rcp(zfar - znear); const T tx = - (right + left) / (right - left); const T ty = - (top + bottom) / (top - bottom); @@ -534,9 +534,9 @@ namespace vmath_hpp template < typename T > [[nodiscard]] mat orthographic_rh_no(T left, T right, T bottom, T top, T znear, T zfar) { - const T sx = T(2) * reciprocal(right - left); - const T sy = T(2) * reciprocal(top - bottom); - const T sz = -T(2) * reciprocal(zfar - znear); + const T sx = T(2) * rcp(right - left); + const T sy = T(2) * rcp(top - bottom); + const T sz = -T(2) * rcp(zfar - znear); const T tx = - (right + left) / (right - left); const T ty = - (top + bottom) / (top - bottom); @@ -553,7 +553,7 @@ namespace vmath_hpp template < typename T > [[nodiscard]] mat perspective_lh_zo(T fov, T aspect, T znear, T zfar) { - const T sy = reciprocal(tan(fov * T(0.5))); + const T sy = rcp(tan(fov * T(0.5))); const T sx = sy / aspect; const T sz = zfar / (zfar - znear); const T tz = (znear * zfar) / (znear - zfar); @@ -566,7 +566,7 @@ namespace vmath_hpp template < typename T > [[nodiscard]] mat perspective_lh_no(T fov, T aspect, T znear, T zfar) { - const T sy = reciprocal(tan(fov * T(0.5))); + const T sy = rcp(tan(fov * T(0.5))); const T sx = sy / aspect; const T sz = (zfar + znear) / (zfar - znear); const T tz = (T(2) * znear * zfar) / (znear - zfar); @@ -579,7 +579,7 @@ namespace vmath_hpp template < typename T > [[nodiscard]] mat perspective_rh_zo(T fov, T aspect, T znear, T zfar) { - const T sy = reciprocal(tan(fov * T(0.5))); + const T sy = rcp(tan(fov * T(0.5))); const T sx = sy / aspect; const T sz = zfar / (znear - zfar); const T tz = (znear * zfar) / (znear - zfar); @@ -592,7 +592,7 @@ namespace vmath_hpp template < typename T > [[nodiscard]] mat perspective_rh_no(T fov, T aspect, T znear, T zfar) { - const T sy = reciprocal(tan(fov * T(0.5))); + const T sy = rcp(tan(fov * T(0.5))); const T sx = sy / aspect; const T sz = (zfar + znear) / (znear - zfar); const T tz = (T(2) * znear * zfar) / (znear - zfar); diff --git a/headers/vmath.hpp/vmath_fun.hpp b/headers/vmath.hpp/vmath_fun.hpp index 935571e..8be46f3 100644 --- a/headers/vmath.hpp/vmath_fun.hpp +++ b/headers/vmath.hpp/vmath_fun.hpp @@ -34,7 +34,7 @@ namespace vmath_hpp template < typename T > [[nodiscard]] std::enable_if_t, T> - constexpr reciprocal(T x) noexcept { + constexpr rcp(T x) noexcept { return T(1) / x; } @@ -331,7 +331,7 @@ namespace vmath_hpp template < typename T > [[nodiscard]] std::enable_if_t, T> rsqrt(T x) noexcept { - return reciprocal(sqrt(x)); + return rcp(sqrt(x)); } } diff --git a/headers/vmath.hpp/vmath_mat_fun.hpp b/headers/vmath.hpp/vmath_mat_fun.hpp index d6a67d6..c02ee3e 100644 --- a/headers/vmath.hpp/vmath_mat_fun.hpp +++ b/headers/vmath.hpp/vmath_mat_fun.hpp @@ -738,7 +738,7 @@ namespace vmath_hpp T a, T b, T c, T d) { - const T inv_det = reciprocal(determinant_2x2_impl( + const T inv_det = rcp(determinant_2x2_impl( a, b, c, d)); @@ -756,7 +756,7 @@ namespace vmath_hpp T d, T e, T f, T g, T h, T i) { - const T inv_det = reciprocal(determinant_3x3_impl( + const T inv_det = rcp(determinant_3x3_impl( a, b, c, d, e, f, g, h, i)); @@ -783,7 +783,7 @@ namespace vmath_hpp T i, T j, T k, T l, T m, T n, T o, T p) { - const T inv_det = reciprocal(determinant_4x4_impl( + const T inv_det = rcp(determinant_4x4_impl( a, b, c, d, e, f, g, h, i, j, k, l, diff --git a/headers/vmath.hpp/vmath_vec_fun.hpp b/headers/vmath.hpp/vmath_vec_fun.hpp index a08761e..94af7cb 100644 --- a/headers/vmath.hpp/vmath_vec_fun.hpp +++ b/headers/vmath.hpp/vmath_vec_fun.hpp @@ -660,8 +660,8 @@ namespace vmath_hpp } template < typename T, std::size_t Size > - [[nodiscard]] constexpr vec reciprocal(const vec& xs) { - return map_join([](T x) { return reciprocal(x); }, xs); + [[nodiscard]] constexpr vec rcp(const vec& xs) { + return map_join([](T x) { return rcp(x); }, xs); } template < typename T, std::size_t Size > diff --git a/untests/vmath_fun_tests.cpp b/untests/vmath_fun_tests.cpp index c2e24ee..5de0161 100644 --- a/untests/vmath_fun_tests.cpp +++ b/untests/vmath_fun_tests.cpp @@ -66,8 +66,8 @@ TEST_CASE("vmath/fun") { STATIC_REQUIRE(sign(-2.f) == uapprox(-1.f)); STATIC_REQUIRE(sign(0.f) == uapprox(0.f)); - STATIC_REQUIRE(reciprocal(2.f) == uapprox(0.5f)); - STATIC_REQUIRE(reciprocal(4.f) == uapprox(0.25f)); + STATIC_REQUIRE(rcp(2.f) == uapprox(0.5f)); + STATIC_REQUIRE(rcp(4.f) == uapprox(0.25f)); REQUIRE(floor(1.7f) == uapprox(1.f)); REQUIRE(trunc(1.7f) == uapprox(1.f)); diff --git a/untests/vmath_vec_fun_tests.cpp b/untests/vmath_vec_fun_tests.cpp index a3b70d5..5405ef9 100644 --- a/untests/vmath_vec_fun_tests.cpp +++ b/untests/vmath_vec_fun_tests.cpp @@ -189,7 +189,7 @@ TEST_CASE("vmath/vec_fun") { SUBCASE("Common Functions") { STATIC_REQUIRE(abs(float2(1.f, -1.f)) == uapprox2(1.f,1.f)); STATIC_REQUIRE(sign(float3(1.f, -1.f, 0.f)) == uapprox3(1.f,-1.f,0.f)); - STATIC_REQUIRE(reciprocal(float2(2.f, 4.f)) == uapprox2(0.5f,0.25f)); + STATIC_REQUIRE(rcp(float2(2.f, 4.f)) == uapprox2(0.5f,0.25f)); (void)floor(float2(1.f, -1.f)); (void)trunc(float2(1.f, -1.f));