From 8fcf32778e3c054651a90c7ff6351f2f09276260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20GUEZO?= Date: Sat, 21 Jun 2025 22:20:38 +0200 Subject: [PATCH] fix: __restrict__ doesn't work on MSVC --- src/math/mconfig.h | 2 -- src/math/vec3.h | 10 +++++----- src/math/vec4.h | 10 +++++----- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/math/mconfig.h b/src/math/mconfig.h index 0e5abb6..37c5562 100644 --- a/src/math/mconfig.h +++ b/src/math/mconfig.h @@ -22,10 +22,8 @@ #ifdef _MSC_VER #define ALIGN16 __declspec(align(16)) - #define RESTRICT __restrict__ #else #define ALIGN16 __attribute__((aligned(16))) - #define RESTRICT __restrict #endif #endif // MCONFIG_H diff --git a/src/math/vec3.h b/src/math/vec3.h index 4529c62..3ffd2e6 100644 --- a/src/math/vec3.h +++ b/src/math/vec3.h @@ -16,25 +16,25 @@ typedef union float data[4]; } ALIGN16 Vec3f_t; -Vec3f_t vec3f_from_array(const float *RESTRICT val); +Vec3f_t vec3f_from_array(const float *restrict val); Vec3f_t vec3f(float x, float y, float z); // (f, f, f) Vec3f_t vec3f_scalar(float f); // (0, 0, 0) Vec3f_t vec3f_zero(void); -inline static Vec3f_t vec3f_clone(const Vec3f_t *RESTRICT v) +inline static Vec3f_t vec3f_clone(const Vec3f_t *restrict v) { return *v; } -Vec3f_t vec3f_add_r(Vec3f_t *RESTRICT out, Vec3f_t a); +Vec3f_t vec3f_add_r(Vec3f_t *restrict out, Vec3f_t a); Vec3f_t vec3f_add(Vec3f_t a, Vec3f_t b); -Vec3f_t vec3f_sub_r(Vec3f_t *RESTRICT out, Vec3f_t a); +Vec3f_t vec3f_sub_r(Vec3f_t *restrict out, Vec3f_t a); Vec3f_t vec3f_sub(Vec3f_t a, Vec3f_t b); -Vec3f_t vec3f_scale_r(Vec3f_t *RESTRICT out, float scale); +Vec3f_t vec3f_scale_r(Vec3f_t *restrict out, float scale); Vec3f_t vec3f_scale(Vec3f_t a, float scale); #endif /* vec3_h */ diff --git a/src/math/vec4.h b/src/math/vec4.h index 71f2a92..de56081 100644 --- a/src/math/vec4.h +++ b/src/math/vec4.h @@ -10,25 +10,25 @@ typedef union float data[4]; } ALIGN16 Vec4f_t; -Vec4f_t vec4f_from_array(const float *RESTRICT val); +Vec4f_t vec4f_from_array(const float *restrict val); Vec4f_t vec4f(float x, float y, float z, float w); // (f, f, f, f) Vec4f_t vec4f_scalar(float f); // (0, 0, 0, 0) Vec4f_t vec4f_zero(void); -inline static Vec4f_t vec4f_clone(const Vec4f_t *RESTRICT v) +inline static Vec4f_t vec4f_clone(const Vec4f_t *restrict v) { return *v; } -Vec4f_t vec4f_add_r(Vec4f_t *RESTRICT out, Vec4f_t a); +Vec4f_t vec4f_add_r(Vec4f_t *restrict out, Vec4f_t a); Vec4f_t vec4f_add(Vec4f_t a, Vec4f_t b); -Vec4f_t vec4f_sub_r(Vec4f_t *RESTRICT out, Vec4f_t a); +Vec4f_t vec4f_sub_r(Vec4f_t *restrict out, Vec4f_t a); Vec4f_t vec4f_sub(Vec4f_t a, Vec4f_t b); -Vec4f_t vec4f_scale_r(Vec4f_t *RESTRICT out, float scale); +Vec4f_t vec4f_scale_r(Vec4f_t *restrict out, float scale); Vec4f_t vec4f_scale(Vec4f_t a, float scale); float vec4_dot(Vec4f_t a, Vec4f_t b);