diff options
| author | untodesu <kirill@untode.su> | 2025-09-11 13:10:52 +0500 |
|---|---|---|
| committer | untodesu <kirill@untode.su> | 2025-09-11 13:10:52 +0500 |
| commit | 96bd73ae020ecca1f94698744c77498a89ad19f7 (patch) | |
| tree | dc0ee946138141e7a0327a7d3c566f4a37adff3f /core/math/floathacks.hh | |
| parent | 6dc5194895b6bd61d19bf5c95021471784084325 (diff) | |
| download | voxelius-96bd73ae020ecca1f94698744c77498a89ad19f7.tar.bz2 voxelius-96bd73ae020ecca1f94698744c77498a89ad19f7.zip | |
Graft build scripts and buffer code from QFengine
Diffstat (limited to 'core/math/floathacks.hh')
| -rw-r--r-- | core/math/floathacks.hh | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/core/math/floathacks.hh b/core/math/floathacks.hh deleted file mode 100644 index dc8c235..0000000 --- a/core/math/floathacks.hh +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef CORE_MATH_FLOATHACKS_HH -#define CORE_MATH_FLOATHACKS_HH 1 -#pragma once - -namespace math -{ -static inline float int32_to_float(const std::int32_t value); -static inline float uint32_to_float(const std::uint32_t value); -static inline std::int32_t float_to_int32(const float value); -static inline std::uint32_t float_to_uint32(const float value); -} // namespace math - -static_assert(std::numeric_limits<float>::is_iec559, "Floathacks only works with IEEE 754 compliant floats"); -static_assert(sizeof(std::int32_t) == sizeof(float), "Floathacks requires 32-bit integers to match float size"); - -static inline float math::int32_to_float(const std::int32_t value) -{ - union { - std::int32_t src; - float dst; - } hack; - hack.src = value; - return hack.dst; -} - -static inline float math::uint32_to_float(const std::uint32_t value) -{ - union { - std::uint32_t src; - float dst; - } hack; - hack.src = value; - return hack.dst; -} - -static inline std::int32_t math::float_to_int32(const float value) -{ - union { - float src; - std::int32_t dst; - } hack; - hack.src = value; - return hack.dst; -} - -static inline std::uint32_t math::float_to_uint32(const float value) -{ - union { - float src; - std::uint32_t dst; - } hack; - hack.src = value; - return hack.dst; -} - -#endif // CORE_MATH_FLOATHACKS_HH |
