Ocean
base/Processor.h File Reference

Go to the source code of this file.

Data Structures

class  Ocean::ProcessorInstructionChecker< tHighestInstructions, tNecessaryInstruction >
 This helper class allows to determine a compile-time known boolean statement whether a set of available instruction contains (included) a specified (minimal requirement) instruction. More...
 
class  Ocean::Processor
 This class implements basic functions relating the system processor. More...
 
class  Ocean::ProcessorInstructionChecker< tHighestInstructions, PI_SSE >
 Specialization for one specific instruction. More...
 
class  Ocean::ProcessorInstructionChecker< tHighestInstructions, PI_SSE_2 >
 Specialization for one specific instruction. More...
 
class  Ocean::ProcessorInstructionChecker< tHighestInstructions, PI_SSE_3 >
 Specialization for one specific instruction. More...
 
class  Ocean::ProcessorInstructionChecker< tHighestInstructions, PI_SSSE_3 >
 Specialization for one specific instruction. More...
 
class  Ocean::ProcessorInstructionChecker< tHighestInstructions, PI_SSE_4_1 >
 Specialization for one specific instruction. More...
 
class  Ocean::ProcessorInstructionChecker< tHighestInstructions, PI_SSE_4_2 >
 Specialization for one specific instruction. More...
 
class  Ocean::ProcessorInstructionChecker< tHighestInstructions, PI_AVX >
 Specialization for one specific instruction. More...
 
class  Ocean::ProcessorInstructionChecker< tHighestInstructions, PI_AVX_2 >
 Specialization for one specific instruction. More...
 
class  Ocean::ProcessorInstructionChecker< tHighestInstructions, PI_AVX_512 >
 Specialization for one specific instruction. More...
 
class  Ocean::ProcessorInstructionChecker< tHighestInstructions, PI_NEON >
 Specialization for one specific instruction. More...
 

Namespaces

 Ocean
 The namespace covering the entire Ocean framework.
 

Enumerations

enum  Ocean::ProcessorInstructions : uint32_t {
  Ocean::PI_NONE = 0u , Ocean::PI_SSE = 1u << 0u , Ocean::PI_SSE_2 = 1u << 1u , Ocean::PI_SSE_3 = 1u << 2u ,
  Ocean::PI_SSSE_3 = 1u << 3u , Ocean::PI_SSE_4_1 = 1u << 4u , Ocean::PI_SSE_4_2 = 1u << 5u , Ocean::PI_SSE_ANY = PI_SSE | PI_SSE_2 | PI_SSE_3 | PI_SSSE_3 | PI_SSE_4_1 | PI_SSE_4_2 ,
  Ocean::PI_AVX = 1u << 6u , Ocean::PI_AVX_2 = 1u << 7u , Ocean::PI_AVX_512 = 1u << 8u , Ocean::PI_AVX_ANY = PI_AVX | PI_AVX_2 | PI_AVX_512 ,
  Ocean::PI_NEON = 1 << 9u , Ocean::PI_NEON_ANY = PI_NEON , Ocean::PI_AES = 1 << 10u , Ocean::PI_GROUP_SSE_2 = PI_SSE | PI_SSE_2 ,
  Ocean::PI_GROUP_SSE_4_1 = PI_SSE | PI_SSE_2 | PI_SSE_3 | PI_SSSE_3 | PI_SSE_4_1 , Ocean::PI_GROUP_AVX_2 = PI_AVX | PI_AVX_2 , Ocean::PI_GROUP_AVX_2_SSE_2 = PI_GROUP_SSE_2 | PI_GROUP_AVX_2 , Ocean::PI_GROUP_NEON = PI_NEON ,
  Ocean::PI_GROUP_AVX_2_SSE_4_1 = PI_GROUP_SSE_4_1 | PI_GROUP_AVX_2
}
 Definition of individual processor instruction types. More...