Ajout de Jolt Physics + 1ere version des factory entitecomposants - camera, transform, rigidbody, collider, renderer
This commit is contained in:
29
lib/All/JoltPhysics/UnitTests/Core/PreciseMathTest.cpp
Normal file
29
lib/All/JoltPhysics/UnitTests/Core/PreciseMathTest.cpp
Normal file
@@ -0,0 +1,29 @@
|
||||
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
||||
// SPDX-FileCopyrightText: 2023 Jorrit Rouwe
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
#include "UnitTestFramework.h"
|
||||
#include <atomic>
|
||||
|
||||
// Implemented as a global atomic so the compiler can't optimize it to a constant
|
||||
extern atomic<float> One, OneTenth, Ten;
|
||||
atomic<float> One = 1.0f, OneTenth = 0.1f /* Actually: 0.100000001f */, Ten = 10.0f;
|
||||
|
||||
JPH_PRECISE_MATH_ON
|
||||
|
||||
TEST_SUITE("PreciseMathTest")
|
||||
{
|
||||
TEST_CASE("CheckNoFMA")
|
||||
{
|
||||
// Should not use the FMA instruction and end up being zero
|
||||
// If FMA is active, a * b will not be rounded to 1.0f so the result will be a small positive number
|
||||
float a = OneTenth, b = Ten, c = One;
|
||||
float result = a * b - c;
|
||||
CHECK(result == 0.0f);
|
||||
|
||||
// Compiler should not optimize these variables away
|
||||
One = OneTenth = Ten = 2.0f;
|
||||
}
|
||||
}
|
||||
|
||||
JPH_PRECISE_MATH_OFF
|
||||
Reference in New Issue
Block a user