IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Classes | Namespaces
MaskCastReg.h File Reference
#include <IPSDKUtil/IPSDKUtilExports.h>
#include <IPSDKUtil/InstructionSet/detail/CastReg.h>
#include <IPSDKUtil/InstructionSet/detail/AssignReg.h>
#include <IPSDKUtil/InstructionSet/RegMaskType.h>
#include <IPSDKUtil/Tools/ForceInline.h>
#include <boost/mpl/and.hpp>
#include <boost/mpl/equal_to.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/not.hpp>
#include <boost/mpl/or.hpp>
#include <boost/mpl/sizeof.hpp>
#include <boost/type_traits/is_signed.hpp>

Go to the source code of this file.

Classes

struct  ipsdk::simd::detail::MaskCastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::sizeof_< TOut > >::type >::type >
 specialization of MaskCastReg for AVX512 instruction set; input and output have same type, or they are both integral and have both same size More...
 
struct  ipsdk::simd::detail::MaskCastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::and_< typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::int_< 1 > >::type, typename boost::mpl::equal_to< boost::mpl::sizeof_< TOut >, boost::mpl::int_< 2 > >::type >::type >::type >
 specialization of CastReg for AVX512 instruction set; input is of type uint8 or int8, output is of type int16 or uint16 More...
 
struct  ipsdk::simd::detail::MaskCastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::and_< typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::int_< 1 > >::type, typename boost::mpl::equal_to< boost::mpl::sizeof_< TOut >, boost::mpl::int_< 4 > >::type >::type >::type >
 specialization of CastReg for AVX512 instruction set; input is of type uint8 or int8, output is of type int32 or uint32 More...
 
struct  ipsdk::simd::detail::MaskCastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::and_< typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::int_< 1 > >::type, typename boost::mpl::equal_to< boost::mpl::sizeof_< TOut >, boost::mpl::int_< 8 > >::type >::type >::type >
 specialization of CastReg for AVX512 instruction set; input is of type uint8 or int8, output is of type int64 or uint64 More...
 
struct  ipsdk::simd::detail::MaskCastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::and_< typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::int_< 2 > >::type, typename boost::mpl::equal_to< boost::mpl::sizeof_< TOut >, boost::mpl::int_< 4 > >::type >::type >::type >
 specialization of CastReg for AVX512 instruction set; input is of type uint16 or int16, output is of type int32, uint32 or real32 More...
 
struct  ipsdk::simd::detail::MaskCastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::and_< typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::int_< 2 > >::type, typename boost::mpl::equal_to< boost::mpl::sizeof_< TOut >, boost::mpl::int_< 8 > >::type >::type >::type >
 specialization of CastReg for AVX512 instruction set; input is of type uint16 or int16, output is of type int64, uint64 or real64 More...
 
struct  ipsdk::simd::detail::MaskCastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::and_< typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::int_< 4 > >::type, typename boost::mpl::equal_to< boost::mpl::sizeof_< TOut >, boost::mpl::int_< 8 > >::type >::type >::type >
 specialization of CastReg for AVX512 instruction set; input is of type uint32 or int32, output is of type int64, uint64 or real64 More...
 
struct  ipsdk::simd::detail::MaskCastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::and_< typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::int_< 2 > >::type, typename boost::mpl::equal_to< boost::mpl::sizeof_< TOut >, boost::mpl::int_< 1 > >::type >::type >::type >
 specialization of CastReg for AVX512 instruction set; input is of type uint16 or int16, output is of type int8 or uint8 More...
 
struct  ipsdk::simd::detail::MaskCastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::and_< typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::int_< 4 > >::type, typename boost::mpl::equal_to< boost::mpl::sizeof_< TOut >, boost::mpl::int_< 2 > >::type >::type >::type >
 specialization of CastReg for AVX512 instruction set; input is of type real32, uint32 or int32, output is of type int16 or uint16 More...
 
struct  ipsdk::simd::detail::MaskCastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::and_< typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::int_< 4 > >::type, typename boost::mpl::equal_to< boost::mpl::sizeof_< TOut >, boost::mpl::int_< 1 > >::type >::type >::type >
 specialization of CastReg for AVX512 instruction set; input is of type real32, uint32 or int32, output is of type int8 or uint8 More...
 
struct  ipsdk::simd::detail::MaskCastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::and_< typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::int_< 8 > >::type, typename boost::mpl::equal_to< boost::mpl::sizeof_< TOut >, boost::mpl::int_< 4 > >::type >::type >::type >
 specialization of CastReg for AVX512 instruction set; input is of type real64, uint64 or int64, output is of type real32? int32 or uint32 More...
 
struct  ipsdk::simd::detail::MaskCastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::and_< typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::int_< 8 > >::type, typename boost::mpl::equal_to< boost::mpl::sizeof_< TOut >, boost::mpl::int_< 2 > >::type >::type >::type >
 specialization of CastReg for AVX512 instruction set; input is of type real64, uint64 or int64, output is of type int16 or uint16 More...
 
struct  ipsdk::simd::detail::MaskCastReg< eInstructionSet::eIS_Avx512, TIn, TOut, typename boost::enable_if< typename boost::mpl::and_< typename boost::mpl::equal_to< boost::mpl::sizeof_< TIn >, boost::mpl::int_< 8 > >::type, typename boost::mpl::equal_to< boost::mpl::sizeof_< TOut >, boost::mpl::int_< 1 > >::type >::type >::type >
 specialization of CastReg for AVX512 instruction set; input is of type real64, uint64 or int64, output is of type int8 or uint8 More...
 

Namespaces

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

Detailed Description

Author
H. Delestre
Date
2018/06/20