6TEST_CASE(
"Time Downcast",
"[conversion_tests]" )
8 constexpr U32 inputSeconds = 4;
9 constexpr U32 inputMilliseconds = 5;
10 constexpr U32 inputMicroseconds = 6;
12 constexpr U32 microToNanoResult = 6'000u;
14 constexpr U32 milliToMicroResult = 5'000u;
15 constexpr D64 milliToNanoResult = 5e6;
17 constexpr U32 secondsToMilliResult = 4'000u;
18 constexpr D64 secondsToMicroResult = 4e6;
19 constexpr D64 secondsToNanoResult = 4e9;
21 constexpr U32 microToNano = Time::MicrosecondsToNanoseconds<U32>(inputMicroseconds);
22 constexpr U32 milliToMicro = Time::MillisecondsToMicroseconds<U32>(inputMilliseconds);
23 constexpr D64 milliToNano = Time::MillisecondsToNanoseconds<D64>(inputMilliseconds);
24 constexpr U32 secondsToMilli = Time::SecondsToMilliseconds<U32>(inputSeconds);
25 constexpr D64 secondsToMicro = Time::SecondsToMicroseconds<D64>(inputSeconds);
26 constexpr D64 secondsToNano = Time::SecondsToNanoseconds<D64>(inputSeconds);
38 constexpr U32 secondsResult = 4;
39 constexpr U32 millisecondsResult = 5;
40 constexpr U32 microsecondsResult = 6;
42 constexpr D64 inputNanoToSeconds = 4e9;
43 constexpr D64 inputNanoToMilli = 5e6;
44 constexpr U32 inputNanoToMicro = 6'000u;
46 constexpr D64 inputMicroToSeconds = 4e6;
47 constexpr U32 inputMicroToMilli = 5'000u;
48 constexpr U32 inputMilliToSeconds = 4'000u;
50 constexpr U32 nanoToSeconds = Time::NanosecondsToSeconds<U32>(inputNanoToSeconds);
51 constexpr U32 nanoToMilli = Time::NanosecondsToMilliseconds<U32>(inputNanoToMilli);
52 constexpr U32 nanoToMicro = Time::NanosecondsToMicroseconds<U32>(inputNanoToMicro);
54 constexpr U32 microToSeconds = Time::MicrosecondsToSeconds<U32>(inputMicroToSeconds);
55 constexpr U32 microToMilli = Time::MicrosecondsToMilliseconds<U32>(inputMicroToMilli);
57 constexpr U32 milliToSeconds = Time::MillisecondsToSeconds<U32>(inputMilliToSeconds);
71 constexpr U32 in_min = 0;
72 constexpr U32 in_max = 100;
73 constexpr U32 out_min = 0;
74 constexpr U32 out_max = 10;
75 constexpr U32 in = 20;
76 constexpr U32 result = 2;
80TEST_CASE(
"Float To Char Conversions",
"[conversion_tests]" )
83 constexpr F32 tolerance = 0.005f;
105 constexpr F32 tolerance = 0.05f;
110 const vec4<U8> input4{ 32, 64, 128, 255};
111 const F32 input5{ -1023.99f };
bool compare(vec2< U > v) const noexcept
compare 2 vectors
bool compare(const vec3< U > &v) const noexcept
compare 2 vectors
void UNPACK_11_11_10(U32 src, vec3< F32_NORM > &res)
U32 PACK_11_11_10(const vec3< F32_NORM > &value)
F32 PACK_VEC3(F32_SNORM x, F32_SNORM y, F32_SNORM z) noexcept
void UNPACK_VEC3(F32 src, F32_SNORM &x, F32_SNORM &y, F32_SNORM &z) noexcept
void UNPACK_HALF1x16(U16 src, F32 &value)
Only convert the range [-1024., 1024.] for accurate results.
U32 PACK_UNORM4x8(const vec4< F32_NORM > &value)
vec4< U8 > UNPACK_UNORM4x8_U8(U32 src)
U16 PACK_HALF1x16(F32 value)
Only convert the range [-1024., 1024.] for accurate results.
U32 PACK_HALF2x16(vec2< F32 > value)
void UNPACK_HALF2x16(U32 src, vec2< F32 > &value)
Handle console commands that start with a forward slash.
constexpr U8 FLOAT_TO_CHAR_UNORM(F32_NORM value) noexcept
Returns round(value * 255)
constexpr I8 FLOAT_TO_CHAR_SNORM(F32_SNORM value) noexcept
Returns clamped value * 128.
constexpr F32_SNORM UNORM_CHAR_TO_PACKED_FLOAT(U8 value) noexcept
constexpr F32_NORM UNORM_CHAR_TO_FLOAT(U8 value) noexcept
Returns value / 255.f.
constexpr U8 PACKED_FLOAT_TO_CHAR_UNORM(F32_SNORM value) noexcept
Helper methods to go from an snorm float (-1...1) to packed unorm char (value => (value + 1) * 0....
::value constexpr T MAP(T input, T in_min, T in_max, T out_min, T out_max, D64 &slopeOut) noexcept
bool COMPARE_TOLERANCE(const T X, const U Y, const T TOLERANCE) noexcept
constexpr F32_SNORM SNORM_CHAR_TO_FLOAT(I8 value) noexcept
bool COMPARE(T X, U Y) noexcept
TEST_CASE("ByteBuffer RW Bool", "[byte_buffer]")
#define CHECK_EQUAL(LHS, RHS)