These files change infrequently, and not much header shuffling is required. We don't add everything in src/util/ yet, because IWYU makes some dubious suggestions, which I'm going to follow up with upstream.
17 lines
615 B
C++
17 lines
615 B
C++
// Copyright (c) 2021 The Bitcoin Core developers
|
|
// Distributed under the MIT software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#ifndef BITCOIN_UTIL_SERFLOAT_H
|
|
#define BITCOIN_UTIL_SERFLOAT_H
|
|
|
|
#include <cstdint>
|
|
|
|
/* 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 // BITCOIN_UTIL_SERFLOAT_H
|