souffle  2.0.2-371-g6315b36
Namespaces | Macros | Typedefs | Functions | Variables
RamTypes.h File Reference
#include <array>
#include <cstdint>
#include <cstring>
#include <iostream>
#include <limits>
#include <type_traits>
Include dependency graph for RamTypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 souffle
 

Macros

#define RAM_DOMAIN_SIZE   32
 Types of elements in a tuple. More...
 

Typedefs

using souffle::RamDomain = int32_t
 
using souffle::RamFloat = float
 
using souffle::RamSigned = RamDomain
 
using souffle::RamUnsigned = uint32_t
 
template<typename A , size_t N>
using souffle::Tuple = std::array< A, N >
 

Functions

template<typename To = RamDomain, typename From >
To souffle::ramBitCast (From source)
 In C++20 there will be a new way to cast between types by reinterpreting bits (std::bit_cast), but as of January 2020 it is not yet supported. More...
 

Variables

template<typename T >
constexpr bool souffle::isRamType
 
constexpr RamFloat souffle::MAX_RAM_FLOAT = std::numeric_limits<RamFloat>::max()
 
constexpr RamSigned souffle::MAX_RAM_SIGNED = std::numeric_limits<RamSigned>::max()
 
constexpr RamUnsigned souffle::MAX_RAM_UNSIGNED = std::numeric_limits<RamUnsigned>::max()
 
constexpr RamFloat souffle::MIN_RAM_FLOAT = std::numeric_limits<RamFloat>::lowest()
 
constexpr RamSigned souffle::MIN_RAM_SIGNED = std::numeric_limits<RamSigned>::min()
 lower and upper boundaries for the ram types More...
 
constexpr RamUnsigned souffle::MIN_RAM_UNSIGNED = std::numeric_limits<RamUnsigned>::min()
 

Macro Definition Documentation

◆ RAM_DOMAIN_SIZE

#define RAM_DOMAIN_SIZE   32

Types of elements in a tuple.

Default domain has size of 32 bits; may be overridden by user defining RAM_DOMAIN_SIZE.

Definition at line 46 of file RamTypes.h.