mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-26 22:57:52 -05:00
25 lines
440 B
C++
25 lines
440 B
C++
#include "HalfFloat.h"
|
|
|
|
float HalfFloat::ToFloat(const half_float_t half)
|
|
{
|
|
if (half)
|
|
{
|
|
union
|
|
{
|
|
uint32_t u;
|
|
float f;
|
|
} result{};
|
|
|
|
result.u = ((half << 16) & 0x80000000) | (((((half << 14) & 0xFFFC000)
|
|
- (~(half << 14) & 0x10000000)) ^ 0x80000000) >> 1);
|
|
return result.f;
|
|
}
|
|
|
|
return 0.0f;
|
|
}
|
|
|
|
half_float_t HalfFloat::ToHalf(float f)
|
|
{
|
|
return 0;
|
|
}
|