Grok 12.0.1
Namespaces | Macros | Enumerations | Functions | Variables
ojph_arch.h File Reference
#include <cstdio>
#include <cstdint>
#include <cmath>
#include "ojph_defs.h"

Go to the source code of this file.

Namespaces

namespace  ojph
 

Macros

#define OJPH_EXPORT
 

Enumerations

enum  : int {
  ojph::X86_CPU_EXT_LEVEL_GENERIC = 0 , ojph::X86_CPU_EXT_LEVEL_MMX = 1 , ojph::X86_CPU_EXT_LEVEL_SSE = 2 , ojph::X86_CPU_EXT_LEVEL_SSE2 = 3 ,
  ojph::X86_CPU_EXT_LEVEL_SSE3 = 4 , ojph::X86_CPU_EXT_LEVEL_SSSE3 = 5 , ojph::X86_CPU_EXT_LEVEL_SSE41 = 6 , ojph::X86_CPU_EXT_LEVEL_SSE42 = 7 ,
  ojph::X86_CPU_EXT_LEVEL_AVX = 8 , ojph::X86_CPU_EXT_LEVEL_AVX2 = 9 , ojph::X86_CPU_EXT_LEVEL_AVX2FMA = 10 , ojph::X86_CPU_EXT_LEVEL_AVX512 = 11
}
 

Functions

OJPH_EXPORT int ojph::get_cpu_ext_level ()
 
static ui32 ojph::population_count (ui32 val)
 
static ui32 ojph::count_leading_zeros (ui32 val)
 
static ui32 ojph::count_trailing_zeros (ui32 val)
 
static si32 ojph::ojph_round (float val)
 
static si32 ojph::ojph_trunc (float val)
 
template<typename T , int N>
size_t ojph::calc_aligned_size (size_t size)
 
template<typename T , int N>
T * ojph::align_ptr (T *ptr)
 

Variables

const ui32 ojph::byte_alignment = 32
 
const ui32 ojph::log_byte_alignment = 31 - count_leading_zeros(byte_alignment)
 
const ui32 ojph::object_alignment = 8
 

Macro Definition Documentation

◆ OJPH_EXPORT

#define OJPH_EXPORT