16 lines
620 B
C
16 lines
620 B
C
|
|
// Copyright (c) 2021 The DigiByte Core developers
|
||
|
|
// Distributed under the MIT software license, see the accompanying
|
||
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||
|
|
|
||
|
|
#ifndef DIGIBYTE_UTIL_SERFLOAT_H
|
||
|
|
#define DIGIBYTE_UTIL_SERFLOAT_H
|
||
|
|
|
||
|
|
#include <stdint.h>
|
||
|
|
|
||
|
|
/* 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 // DIGIBYTE_UTIL_SERFLOAT_H
|