Skip to content

Commit 59fed2e

Browse files
committed
Revert "Fixes float comparison issues in raymath functions"
This reverts commit a266d0b.
1 parent a266d0b commit 59fed2e

1 file changed

Lines changed: 17 additions & 24 deletions

File tree

src/raymath.h

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,6 @@
8484
#endif
8585
#endif
8686

87-
// Default define for RAYMATH_USE_SIMD_INTRINSICS
88-
#ifndef RAYMATH_USE_SIMD_INTRINSICS
89-
#define RAYMATH_USE_SIMD_INTRINSICS 0
90-
#endif
91-
9287
//----------------------------------------------------------------------------------
9388
// Defines and Macros
9489
//----------------------------------------------------------------------------------
@@ -532,7 +527,7 @@ RMAPI Vector2 Vector2MoveTowards(Vector2 v, Vector2 target, float maxDistance)
532527
float dy = target.y - v.y;
533528
float value = (dx*dx) + (dy*dy);
534529

535-
if ((FloatEquals(value, 0.0f)) || ((maxDistance >= 0) && (value <= maxDistance*maxDistance))) return target;
530+
if ((value == 0) || ((maxDistance >= 0) && (value <= maxDistance*maxDistance))) return target;
536531

537532
float dist = sqrtf(value);
538533

@@ -811,7 +806,7 @@ RMAPI Vector3 Vector3Normalize(Vector3 v)
811806
Vector3 result = v;
812807

813808
float length = sqrtf(v.x*v.x + v.y*v.y + v.z*v.z);
814-
if (!FloatEquals(length, 0.0f))
809+
if (length != 0.0f)
815810
{
816811
float ilength = 1.0f/length;
817812

@@ -868,7 +863,7 @@ RMAPI void Vector3OrthoNormalize(Vector3 *v1, Vector3 *v2)
868863
// Vector3Normalize(*v1);
869864
Vector3 v = *v1;
870865
length = sqrtf(v.x*v.x + v.y*v.y + v.z*v.z);
871-
if (FloatEquals(length, 0.0f)) length = 1.0f;
866+
if (length == 0.0f) length = 1.0f;
872867
ilength = 1.0f/length;
873868
v1->x *= ilength;
874869
v1->y *= ilength;
@@ -880,7 +875,7 @@ RMAPI void Vector3OrthoNormalize(Vector3 *v1, Vector3 *v2)
880875
// Vector3Normalize(vn1);
881876
v = vn1;
882877
length = sqrtf(v.x*v.x + v.y*v.y + v.z*v.z);
883-
if (FloatEquals(length, 0.0f)) length = 1.0f;
878+
if (length == 0.0f) length = 1.0f;
884879
ilength = 1.0f/length;
885880
vn1.x *= ilength;
886881
vn1.y *= ilength;
@@ -930,7 +925,7 @@ RMAPI Vector3 Vector3RotateByAxisAngle(Vector3 v, Vector3 axis, float angle)
930925

931926
// Vector3Normalize(axis);
932927
float length = sqrtf(axis.x*axis.x + axis.y*axis.y + axis.z*axis.z);
933-
if (FloatEquals(length, 0.0f)) length = 1.0f;
928+
if (length == 0.0f) length = 1.0f;
934929
float ilength = 1.0f/length;
935930
axis.x *= ilength;
936931
axis.y *= ilength;
@@ -982,7 +977,7 @@ RMAPI Vector3 Vector3MoveTowards(Vector3 v, Vector3 target, float maxDistance)
982977
float dz = target.z - v.z;
983978
float value = (dx*dx) + (dy*dy) + (dz*dz);
984979

985-
if ((FloatEquals(value, 0)) || ((maxDistance >= 0) && (value <= maxDistance*maxDistance))) return target;
980+
if ((value == 0) || ((maxDistance >= 0) && (value <= maxDistance*maxDistance))) return target;
986981

987982
float dist = sqrtf(value);
988983

@@ -1467,7 +1462,7 @@ RMAPI Vector4 Vector4MoveTowards(Vector4 v, Vector4 target, float maxDistance)
14671462
float dw = target.w - v.w;
14681463
float value = (dx*dx) + (dy*dy) + (dz*dz) + (dw*dw);
14691464

1470-
if ((FloatEquals(value, 0)) || ((maxDistance >= 0) && (value <= maxDistance*maxDistance))) return target;
1465+
if ((value == 0) || ((maxDistance >= 0) && (value <= maxDistance*maxDistance))) return target;
14711466

14721467
float dist = sqrtf(value);
14731468

@@ -1801,7 +1796,7 @@ RMAPI Matrix MatrixRotate(Vector3 axis, float angle)
18011796

18021797
float lengthSquared = x*x + y*y + z*z;
18031798

1804-
if (!FloatEquals(lengthSquared, 1.0f) && !FloatEquals(lengthSquared, 0.0f))
1799+
if ((lengthSquared != 1.0f) && (lengthSquared != 0.0f))
18051800
{
18061801
float ilength = 1.0f/sqrtf(lengthSquared);
18071802
x *= ilength;
@@ -2077,7 +2072,7 @@ RMAPI Matrix MatrixLookAt(Vector3 eye, Vector3 target, Vector3 up)
20772072
// Vector3Normalize(vz)
20782073
Vector3 v = vz;
20792074
length = sqrtf(v.x*v.x + v.y*v.y + v.z*v.z);
2080-
if (FloatEquals(length, 0.0f)) length = 1.0f;
2075+
if (length == 0.0f) length = 1.0f;
20812076
ilength = 1.0f/length;
20822077
vz.x *= ilength;
20832078
vz.y *= ilength;
@@ -2089,7 +2084,7 @@ RMAPI Matrix MatrixLookAt(Vector3 eye, Vector3 target, Vector3 up)
20892084
// Vector3Normalize(x)
20902085
v = vx;
20912086
length = sqrtf(v.x*v.x + v.y*v.y + v.z*v.z);
2092-
if (FloatEquals(length, 0.0f)) length = 1.0f;
2087+
if (length == 0.0f) length = 1.0f;
20932088
ilength = 1.0f/length;
20942089
vx.x *= ilength;
20952090
vx.y *= ilength;
@@ -2201,7 +2196,7 @@ RMAPI Quaternion QuaternionNormalize(Quaternion q)
22012196
Quaternion result = { 0 };
22022197

22032198
float length = sqrtf(q.x*q.x + q.y*q.y + q.z*q.z + q.w*q.w);
2204-
if (FloatEquals(length, 0.0f)) length = 1.0f;
2199+
if (length == 0.0f) length = 1.0f;
22052200
float ilength = 1.0f/length;
22062201

22072202
result.x = q.x*ilength;
@@ -2219,7 +2214,7 @@ RMAPI Quaternion QuaternionInvert(Quaternion q)
22192214

22202215
float lengthSq = q.x*q.x + q.y*q.y + q.z*q.z + q.w*q.w;
22212216

2222-
if (!FloatEquals(lengthSq, 0.0f))
2217+
if (lengthSq != 0.0f)
22232218
{
22242219
float invLength = 1.0f/lengthSq;
22252220

@@ -2296,7 +2291,7 @@ RMAPI Quaternion QuaternionNlerp(Quaternion q1, Quaternion q2, float amount)
22962291
// QuaternionNormalize(q);
22972292
Quaternion q = result;
22982293
float length = sqrtf(q.x*q.x + q.y*q.y + q.z*q.z + q.w*q.w);
2299-
if (FloatEquals(length, 0.0f)) length = 1.0f;
2294+
if (length == 0.0f) length = 1.0f;
23002295
float ilength = 1.0f/length;
23012296

23022297
result.x = q.x*ilength;
@@ -2396,7 +2391,7 @@ RMAPI Quaternion QuaternionFromVector3ToVector3(Vector3 from, Vector3 to)
23962391
// NOTE: Normalize to essentially nlerp the original and identity to 0.5
23972392
Quaternion q = result;
23982393
float length = sqrtf(q.x*q.x + q.y*q.y + q.z*q.z + q.w*q.w);
2399-
if (FloatEquals(length, 0.0f)) length = 1.0f;
2394+
if (length == 0.0f) length = 1.0f;
24002395
float ilength = 1.0f/length;
24012396

24022397
result.x = q.x*ilength;
@@ -2466,8 +2461,6 @@ RMAPI Quaternion QuaternionFromMatrix(Matrix mat)
24662461
result.x = (mat.m8 + mat.m2)*mult;
24672462
result.y = (mat.m6 + mat.m9)*mult;
24682463
break;
2469-
default:
2470-
break;
24712464
}
24722465

24732466
return result;
@@ -2514,7 +2507,7 @@ RMAPI Quaternion QuaternionFromAxisAngle(Vector3 axis, float angle)
25142507

25152508
float length = sqrtf(axis.x*axis.x + axis.y*axis.y + axis.z*axis.z);
25162509

2517-
if (!FloatEquals(length, 0.0f))
2510+
if (length != 0.0f)
25182511
{
25192512
angle *= 0.5f;
25202513

@@ -2535,7 +2528,7 @@ RMAPI Quaternion QuaternionFromAxisAngle(Vector3 axis, float angle)
25352528
// QuaternionNormalize(q);
25362529
Quaternion q = result;
25372530
length = sqrtf(q.x*q.x + q.y*q.y + q.z*q.z + q.w*q.w);
2538-
if (FloatEquals(length, 0.0f)) length = 1.0f;
2531+
if (length == 0.0f) length = 1.0f;
25392532
ilength = 1.0f/length;
25402533
result.x = q.x*ilength;
25412534
result.y = q.y*ilength;
@@ -2553,7 +2546,7 @@ RMAPI void QuaternionToAxisAngle(Quaternion q, Vector3 *outAxis, float *outAngle
25532546
{
25542547
// QuaternionNormalize(q);
25552548
float length = sqrtf(q.x*q.x + q.y*q.y + q.z*q.z + q.w*q.w);
2556-
if (FloatEquals(length, 0.0f)) length = 1.0f;
2549+
if (length == 0.0f) length = 1.0f;
25572550
float ilength = 1.0f/length;
25582551

25592552
q.x = q.x*ilength;

0 commit comments

Comments
 (0)