Ver Fonte

core: move inline functions to math.inl

Daniele Bartolini há 11 meses atrás
pai
commit
1c41b471e2

+ 1 - 61
src/core/math/math.cpp

@@ -3,71 +3,11 @@
  * SPDX-License-Identifier: MIT
  */
 
-#include "core/math/math.h"
-#include "core/math/types.h"
-#include "core/types.h"
-#include <math.h>
+#include "core/math/math.inl"
 #include <stb_sprintf.h>
 
 namespace crown
 {
-bool fequal(f32 a, f32 b, f32 epsilon)
-{
-	return b <= (a + epsilon)
-		&& b >= (a - epsilon)
-		;
-}
-
-f32 ffract(f32 a)
-{
-	return a - floorf(a);
-}
-
-f32 fabs(f32 a)
-{
-	return ::fabsf(a);
-}
-
-f32 fsin(f32 a)
-{
-	return sinf(a);
-}
-
-f32 fcos(f32 a)
-{
-	return cosf(a);
-}
-
-f32 facos(f32 a)
-{
-	return ::acosf(a);
-}
-
-f32 ftan(f32 a)
-{
-	return tanf(a);
-}
-
-f32 fsqrt(f32 a)
-{
-	return sqrtf(a);
-}
-
-f32 frad(f32 deg)
-{
-	return deg * PI / 180.0f;
-}
-
-f32 fdeg(f32 rad)
-{
-	return rad * 180.0f / PI;
-}
-
-f32 lerp(const f32 p0, const f32 p1, f32 t)
-{
-	return (1.0f - t) * p0 + t * p1;
-}
-
 f32 cosine(const f32 p0, const f32 p1, f32 t)
 {
 	const f32 f = t * PI;

+ 72 - 0
src/core/math/math.inl

@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2012-2025 Daniele Bartolini et al.
+ * SPDX-License-Identifier: MIT
+ */
+
+#pragma once
+
+#include "core/math/math.h"
+#include "core/math/types.h"
+#include "core/types.h"
+#include <math.h>
+
+namespace crown
+{
+inline bool fequal(f32 a, f32 b, f32 epsilon)
+{
+	return b <= (a + epsilon)
+		&& b >= (a - epsilon)
+		;
+}
+
+inline f32 ffract(f32 a)
+{
+	return a - floorf(a);
+}
+
+inline f32 fabs(f32 a)
+{
+	return ::fabsf(a);
+}
+
+inline f32 fsin(f32 a)
+{
+	return sinf(a);
+}
+
+inline f32 fcos(f32 a)
+{
+	return cosf(a);
+}
+
+inline f32 facos(f32 a)
+{
+	return ::acosf(a);
+}
+
+inline f32 ftan(f32 a)
+{
+	return tanf(a);
+}
+
+inline f32 fsqrt(f32 a)
+{
+	return sqrtf(a);
+}
+
+inline f32 frad(f32 deg)
+{
+	return deg * PI / 180.0f;
+}
+
+inline f32 fdeg(f32 rad)
+{
+	return rad * 180.0f / PI;
+}
+
+inline f32 lerp(const f32 p0, const f32 p1, f32 t)
+{
+	return (1.0f - t) * p0 + t * p1;
+}
+
+} // namespace crown

+ 1 - 1
src/core/math/vector2.inl

@@ -5,7 +5,7 @@
 
 #pragma once
 
-#include "core/math/math.h"
+#include "core/math/math.inl"
 #include "core/math/types.h"
 
 namespace crown

+ 1 - 1
src/core/math/vector3.inl

@@ -5,7 +5,7 @@
 
 #pragma once
 
-#include "core/math/math.h"
+#include "core/math/math.inl"
 #include "core/math/types.h"
 
 namespace crown

+ 1 - 1
src/device/delta_time_filter.cpp

@@ -3,7 +3,7 @@
  * SPDX-License-Identifier: MIT
  */
 
-#include "core/math/math.h"
+#include "core/math/math.inl"
 #include "core/time.h"
 #include "device/delta_time_filter.h"
 #include <algorithm> // std::sort

+ 1 - 1
src/resource/expression_language.cpp

@@ -1,5 +1,5 @@
 #include "core/error/error.h"
-#include "core/math/math.h"
+#include "core/math/math.inl"
 #include "core/strings/string.inl"
 #include "resource/expression_language.inl"
 #include <alloca.h>