Project
Loading...
Searching...
No Matches
utils.h File Reference

common helper classes and functions More...

#include <cstddef>
#include <cmath>
#include <chrono>
#include <type_traits>
#include <iterator>
#include <sstream>
#include <vector>
#include <cstring>
#include <fairlogger/Logger.h>
#include "rANS/internal/common/defaults.h"
#include "rANS/internal/common/exceptions.h"

Go to the source code of this file.

Classes

class  o2::rans::utils::RANSTimer
 
class  o2::rans::utils::JSONArrayLogger< T >
 

Namespaces

namespace  o2
 a couple of static helper functions to create timestamp values for CCDB queries or override obsolete objects
 
namespace  o2::rans
 
namespace  o2::rans::utils
 
namespace  o2::rans::internal
 

Macros

#define rans_likely(x)   __builtin_expect((x), 1)
 
#define rans_unlikely(x)   __builtin_expect((x), 0)
 

Functions

template<typename T >
constexpr size_t o2::rans::utils::toBits () noexcept
 
constexpr float_t o2::rans::internal::fastlog2 (float_t x) noexcept
 
template<typename T >
size_t o2::rans::internal::itemsPerQWord ()
 
uint64_t o2::rans::internal::load64 (const void *__restrict src)
 
void o2::rans::internal::write64 (void *__restrict dest, uint64_t src)
 
template<typename T >
constexpr uintptr_t o2::rans::internal::adr2Bits (T *address) noexcept
 
template<typename T >
constexpro2::rans::internal::log2UIntNZ (T x) noexcept
 
template<typename T , std::enable_if_t< std::is_unsigned_v< T >, bool > = true>
constexpr bool o2::rans::internal::isPow2 (T x) noexcept
 
count_t o2::rans::internal::roundSymbolFrequency (double_t rescaledFrequency)
 
constexpr size_t o2::rans::internal::numSymbolsWithNBits (size_t bits) noexcept
 
constexpr size_t o2::rans::internal::numBitsForNSymbols (size_t nSymbols) noexcept
 
uint32_t o2::rans::internal::safeadd (uint32_t a, uint32_t b)
 
constexpr std::uint8_t o2::rans::operator""_u8 (unsigned long long int value)
 
constexpr std::int8_t o2::rans::operator""_i8 (unsigned long long int value)
 
constexpr std::uint16_t o2::rans::operator""_u16 (unsigned long long int value)
 
constexpr std::int16_t o2::rans::operator""_i16 (unsigned long long int value)
 
constexpr size_t o2::rans::utils::toBytes (size_t bits) noexcept
 
constexpr size_t o2::rans::utils::pow2 (size_t n) noexcept
 
constexpr size_t o2::rans::utils::toBits (size_t bytes) noexcept
 
template<typename T >
constexpro2::rans::utils::log2UInt (T x) noexcept
 
template<typename Freq_IT >
Freq_IT o2::rans::utils::advanceIter (Freq_IT iter, std::ptrdiff_t distance)
 
uint32_t o2::rans::utils::symbolLengthBits (uint32_t x) noexcept
 
template<typename T , std::enable_if_t< std::is_integral_v< T >, bool > = true>
constexpr uint32_t o2::rans::utils::getRangeBits (T min, T max) noexcept
 
size_t o2::rans::utils::sanitizeRenormingBitRange (size_t renormPrecision)
 
template<typename T >
size_t constexpr o2::rans::utils::nBytesTo (size_t nBytes) noexcept
 
constexpr bool o2::rans::utils::isValidRenormingPrecision (size_t renormPrecision)
 
template<typename IT >
void o2::rans::utils::checkBounds (IT iteratorPosition, IT upperBound)
 

Variables

template<typename T , typename IT >
constexpr bool o2::rans::utils::isCompatibleIter_v = std::is_convertible_v<typename std::iterator_traits<IT>::value_type, T>
 
template<typename IT >
constexpr bool o2::rans::utils::isIntegralIter_v = std::is_integral_v<typename std::iterator_traits<IT>::value_type>
 

Detailed Description

common helper classes and functions

Author
Michael Lettrich

Definition in file utils.h.

Macro Definition Documentation

◆ rans_likely

#define rans_likely (   x)    __builtin_expect((x), 1)

Definition at line 33 of file utils.h.

◆ rans_unlikely

#define rans_unlikely (   x)    __builtin_expect((x), 0)

Definition at line 34 of file utils.h.