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