IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Classes | Namespaces
CastReg.h File Reference
#include <IPSDKUtil/IPSDKUtilExports.h>
#include <IPSDKUtil/InstructionSet/detail/CastReg.h>
#include <IPSDKUtil/InstructionSet/Comparison/detail/AVX512/IsLessRegDecl.h>
#include <IPSDKUtil/InstructionSet/Logical/detail/MaskBlendReg.h>
#include <IPSDKUtil/InstructionSet/Logical/detail/AllBitsToZeroReg.h>
#include <IPSDKUtil/InstructionSet/Logical/detail/AllBitsToOneReg.h>
#include <IPSDKUtil/Tools/ForceInline.h>
#include <boost/mpl/and.hpp>
#include <boost/mpl/or.hpp>
#include <boost/mpl/sizeof.hpp>
#include "immintrin.h"

Go to the source code of this file.

Classes

struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::or_< typename boost::is_same< TIn, TOut >::type, typename boost::mpl::and_< typename boost::is_integral< TIn >::type, typename boost::mpl::and_< typename boost::is_integral< TOut >::type, typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::sizeof_< TOut > >::type >::type >::type >::type >::type >
 specialization of CastReg for AVX512 instruction set; input and output have same type More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipUInt8, TOut, typename boost::enable_if< typename boost::mpl::equal_to< boost::mpl::int_< sizeof(TOut)>, boost::mpl::int_< 2 > >::type >::type >
 specialization of CastReg for SSE2 instruction set; input is of type uint8, output is of type int16 or uint16 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipInt8, TOut, typename boost::enable_if_c< sizeof(TOut)==2 >::type >
 specialization of CastReg for AVX512 instructionSet; input of type int8, output of type int16 or uint16 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipInt32, ipReal32 >
 specialization of CastReg for AVX512 instructionSet; input of type int32, output of type real32 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipUInt32, ipReal32 >
 specialization of CastReg for AVX512 instructionSet; input of type uint32, output of type real32 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipReal32, ipInt32 >
 specialization of CastReg for AVX512 instructionSet; input of type real32, output of type int32 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipReal32, ipUInt32 >
 specialization of CastReg for AVX512 instructionSet; input of type real32, output of type uint32 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipInt32, ipReal64 >
 specialization of CastReg for AVX512 instructionSet; input of type int32, output of type real64 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipUInt32, ipReal64 >
 specialization of CastReg for AVX512 instructionSet; input of type uint32, output of type real64 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipReal64, ipInt32 >
 specialization of CastReg for AVX512 instructionSet; input of type real64, output of type int32 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipReal64, ipUInt32 >
 specialization of CastReg for AVX512 instructionSet; input of type real64, output of type uint32 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipInt32, TOut, typename boost::enable_if_c< sizeof(TOut)==8 &&boost::is_integral< TOut >::value >::type >
 specialization of CastReg for AVX512 instructionSet; input of type int32, output of type int64 or uint64 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipUInt32, TOut, typename boost::enable_if_c< sizeof(TOut)==8 &&boost::is_integral< TOut >::value >::type >
 specialization of CastReg for AVX512 instructionSet; input of type uint32, output of type int64 or uint64 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipInt16, TOut, typename boost::enable_if_c< sizeof(TOut)==4 &&boost::is_integral< TOut >::value >::type >
 specialization of CastReg for AVX512 instructionSet; input of type int16, output of type int32 or uint32 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipUInt16, TOut, typename boost::enable_if_c< sizeof(TOut)==4 &&boost::is_integral< TOut >::value >::type >
 specialization of CastReg for AVX512 instructionSet; input of type uint16, output of type int32 or uint32 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, TIn, ipReal32, typename boost::enable_if_c< sizeof(TIn)==2 &&boost::is_integral< TIn >::value >::type >
 specialization of CastReg for AVX512 instructionSet; input of type uint16 or int16, output of type real32 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipReal32, ipReal64 >
 specialization of CastReg for AVX512 instructionSet; input of type real32, output of type real64 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, TIn, ipUInt8, typename boost::enable_if_c< sizeof(TIn)==2 >::type >
 specialization of CastReg for AVX512 instructionSet; input of type uint16 or int16, output of type int8 or uint8; at least input or output is unsigned More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, TIn, ipInt8, typename boost::enable_if_c< sizeof(TIn)==2 >::type >
 specialization of CastReg for AVX512 instructionSet; input of type int16, output of type int8 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, TIn, ipInt16, typename boost::enable_if_c< sizeof(TIn)==4 &&boost::is_integral< TIn >::value >::type >
 specialization of CastReg for AVX512 instructionSet; input of type int32 or uint32, output of type ipInt16 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, TIn, ipUInt16, typename boost::enable_if_c< sizeof(TIn)==4 &&boost::is_integral< TIn >::value >::type >
 specialization of CastReg for AVX512 instructionSet; input of type int32 or uint32, output of type ipUInt16 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipReal32, TOut, typename boost::enable_if_c< sizeof(TOut)==2 >::type >
 specialization of CastReg for AVX512 instructionSet; input of type real32, output of type uint16 or int16 More...
 
struct  ipsdk::simd::detail::CastReg< eInstructionSet::eIS_Avx512, ipReal64, ipReal32 >
 specialization of CastReg for AVX512 instructionSet; input of type real64, output of type real32 More...
 

Namespaces

 ipsdk
 Main namespace for IPSDK library.
 
 ipsdk::simd
 Namespace agregating IPSDK SIMD routines and classes.
 

Detailed Description

Author
H. Delestre
Date
2018/03/09