From f1ab85a5d27f846371a3917e82a38d20d60fa6b6 Mon Sep 17 00:00:00 2001 From: JJCUBER <34446698+JJCUBER@users.noreply.github.com> Date: Wed, 10 Dec 2025 08:54:50 -0500 Subject: [PATCH] [Vector4] Fix loss of precision with division Resolves #113847 --- core/math/vector4.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/math/vector4.h b/core/math/vector4.h index e05968eae1f..edfe28b0771 100644 --- a/core/math/vector4.h +++ b/core/math/vector4.h @@ -204,7 +204,10 @@ constexpr void Vector4::operator*=(real_t p_s) { } constexpr void Vector4::operator/=(real_t p_s) { - *this *= (1 / p_s); + x /= p_s; + y /= p_s; + z /= p_s; + w /= p_s; } constexpr Vector4 Vector4::operator+(const Vector4 &p_vec4) const { @@ -232,7 +235,7 @@ constexpr Vector4 Vector4::operator*(real_t p_s) const { } constexpr Vector4 Vector4::operator/(real_t p_s) const { - return *this * (1 / p_s); + return Vector4(x / p_s, y / p_s, z / p_s, w / p_s); } constexpr bool Vector4::operator==(const Vector4 &p_vec4) const {