// Copyright (c) 2021-2022 The Limenka developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef LIMENKA_UTIL_SERFLOAT_H #define LIMENKA_UTIL_SERFLOAT_H #include /* Encode a double using the IEEE 754 binary64 format. All NaNs are encoded as x86/ARM's * positive quiet NaN with payload 0. */ uint64_t EncodeDouble(double f) noexcept; /* Reverse operation of DecodeDouble. DecodeDouble(EncodeDouble(f))==f unless isnan(f). */ double DecodeDouble(uint64_t v) noexcept; #endif // LIMENKA_UTIL_SERFLOAT_H