From 2aab59afe7212e4a01f08cfa579800c70dce4a0e Mon Sep 17 00:00:00 2001 From: Jcw87 Date: Fri, 29 Dec 2023 20:44:55 -0800 Subject: [PATCH] JGeometry.h: reorder for better compiler compatibility --- include/JSystem/JGeometry.h | 48 ++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index b1fb48ace..212334cda 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -7,6 +7,29 @@ namespace JGeometry { +template +struct TUtil { + static inline f32 epsilon() { return 3.81469727e-06f; } + + static inline f32 sqrt(f32 mag) { + if (mag <= 0.0f) { + return mag; + } else { + f32 root = __frsqrte(mag); + return 0.5f * root * (3.0f - mag * (root * root)) * mag; + } + } + + static inline f32 inv_sqrt(f32 mag) { + if (mag <= 0.0f) { + return mag; + } else { + f32 root = __frsqrte(mag); + return 0.5f * root * (3.0f - mag * (root * root)); + } + } +}; + template struct TVec3 { T x; @@ -358,31 +381,6 @@ struct TBox2 : TBox > { void set(f32 x0, f32 y0, f32 x1, f32 y1) { i.set(x0, y0); f.set(x1, y1); } }; -template -struct TUtil { - static inline f32 epsilon() { - return 3.81469727e-06f; - } - - static inline f32 sqrt(f32 mag) { - if (mag <= 0.0f) { - return mag; - } else { - f32 root = __frsqrte(mag); - return 0.5f * root * (3.0f - mag * (root * root)) * mag; - } - } - - static inline f32 inv_sqrt(f32 mag) { - if (mag <= 0.0f) { - return mag; - } else { - f32 root = __frsqrte(mag); - return 0.5f * root * (3.0f - mag * (root * root)); - } - } -}; - // clang-format on } // namespace JGeometry