Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
|
#include <boost/version.hpp>
#include "boost_multiprecision/cpp_int.hpp"
#include "boost_multiprecision/cpp_dec_float.hpp"
#include <limits>
Go to the source code of this file.
Namespaces | |
impala | |
This file contains type definitions that are used throughout the code base. | |
Macros | |
#define | BOOST_NOEXCEPT |
#define | BOOST_NOEXCEPT_IF(Predicate) |
#define | BOOST_FORCEINLINE inline __attribute__ ((__always_inline__)) |
#define | BOOST_NO_CXX11_CONSTEXPR |
#define | BOOST_NO_CXX11_DECLTYPE |
#define | BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS |
#define | BOOST_NO_CXX11_HDR_ARRAY |
#define | BOOST_NO_CXX11_RVALUE_REFERENCES |
#define | BOOST_NO_CXX11_USER_DEFINED_LITERALS |
#define | BOOST_NO_CXX11_VARIADIC_TEMPLATES |
Typedefs | |
typedef __int128_t | impala::int128_t |
We use the c++ int128_t type. This is stored using 16 bytes and very performant. More... | |
typedef boost::multiprecision::number < boost::multiprecision::cpp_int_backend < 256, 256, boost::multiprecision::signed_magnitude, boost::multiprecision::unchecked, void > > | impala::int256_t |
Define 256 bit int type. More... | |
Functions | |
int256_t | impala::ConvertToInt256 (const int128_t &x) |
int128_t | impala::ConvertToInt128 (int256_t x, int128_t max_value, bool *overflow) |
int128_t | impala::abs (const int128_t &x) |
uint64_t | impala::HighBits (int128_t x) |
Get the high and low bits of an int128_t. More... | |
uint64_t | impala::LowBits (int128_t x) |
std::ostream & | impala::operator<< (std::ostream &os, const int128_t &val) |
Prints v in base 10. More... | |
#define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__)) |
Definition at line 27 of file multi-precision.h.
#define BOOST_NO_CXX11_CONSTEXPR |
Definition at line 29 of file multi-precision.h.
#define BOOST_NO_CXX11_DECLTYPE |
Definition at line 30 of file multi-precision.h.
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS |
Definition at line 31 of file multi-precision.h.
#define BOOST_NO_CXX11_HDR_ARRAY |
Definition at line 32 of file multi-precision.h.
#define BOOST_NO_CXX11_RVALUE_REFERENCES |
Definition at line 33 of file multi-precision.h.
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS |
Definition at line 34 of file multi-precision.h.
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES |
Definition at line 35 of file multi-precision.h.
#define BOOST_NOEXCEPT |
We want to use boost's multi precision library which is only available starting in boost 1.5. For older version of boost we will use the copy in thirdparty. The boost library is for C++11 on a newer version of boost than we use. We need to make these #defines to compile for pre c++11
Definition at line 25 of file multi-precision.h.
#define BOOST_NOEXCEPT_IF | ( | Predicate | ) |
Definition at line 26 of file multi-precision.h.