mirror of
https://github.com/BlackMATov/vmath.hpp.git
synced 2025-12-16 14:11:28 +07:00
rename reciprocal to rcp
This commit is contained in:
@@ -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<T, Size> sign(const vec<T, Size>& xs);
|
||||
|
||||
template < typename T, size_t Size >
|
||||
constexpr vec<T, Size> reciprocal(const vec<T, Size>& xs);
|
||||
constexpr vec<T, Size> rcp(const vec<T, Size>& xs);
|
||||
|
||||
template < typename T, size_t Size >
|
||||
vec<T, Size> floor(const vec<T, Size>& xs);
|
||||
|
||||
@@ -483,9 +483,9 @@ namespace vmath_hpp
|
||||
|
||||
template < typename T >
|
||||
[[nodiscard]] mat<T, 4> 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<T, 4> 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<T, 4> 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<T, 4> 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<T, 4> 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<T, 4> 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<T, 4> 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<T, 4> 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);
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace vmath_hpp
|
||||
|
||||
template < typename T >
|
||||
[[nodiscard]] std::enable_if_t<std::is_floating_point_v<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<std::is_floating_point_v<T>, T>
|
||||
rsqrt(T x) noexcept {
|
||||
return reciprocal(sqrt(x));
|
||||
return rcp(sqrt(x));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -660,8 +660,8 @@ namespace vmath_hpp
|
||||
}
|
||||
|
||||
template < typename T, std::size_t Size >
|
||||
[[nodiscard]] constexpr vec<T, Size> reciprocal(const vec<T, Size>& xs) {
|
||||
return map_join([](T x) { return reciprocal(x); }, xs);
|
||||
[[nodiscard]] constexpr vec<T, Size> rcp(const vec<T, Size>& xs) {
|
||||
return map_join([](T x) { return rcp(x); }, xs);
|
||||
}
|
||||
|
||||
template < typename T, std::size_t Size >
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user