15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_STD_DIVPACK_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_STD_DIVPACK_H__ 27 #include <boost/type_traits/is_same.hpp> 28 #include <boost/utility/enable_if.hpp> 39 template <
typename TIn>
65 template <
typename TIn1,
typename TIn2>
67 typename boost::enable_if_c<!boost::is_same<TIn1, TIn2>::value
68 && boost::is_same<TIn1, typename PromotedType<TIn1, TIn2>::Type>::value
78 cast<eInstructionSet::eIS_Standard, TIn2, TIn1>(in2);
91 cast<eInstructionSet::eIS_Standard, TIn2, TIn1>(in2, in2Promoted);
93 in1, in2Promoted, out);
99 template <
typename TIn1,
typename TIn2>
101 typename boost::enable_if_c<!boost::is_same<TIn1, TIn2>::value
102 && !boost::is_same<TIn1, typename PromotedType<TIn1, TIn2>::Type>::value
112 cast<eInstructionSet::eIS_Standard, TIn1, TIn2>(in1);
125 cast<eInstructionSet::eIS_Standard, TIn1, TIn2>(in1, in1Promoted);
127 in1Promoted, in2, out);
138 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_STD_DIVPACK_H__ Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
cast function; casts a Pack<instructionSet, TIn> to a Pack<instructionSet, TOut>
BasePack class; defines a set of scalars (for instruction set "standard") or registers (for all other...
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
defines template structures PromotedType<T1, T2> and PromotedType3<T1, T2, T3>; their attribute Type ...
Predefined types associated to instruction set management.
Definition of import/export macro for library.
compiler optimisations only
Definition: InstructionSetTypes.h:34
Definition: BinaryPackOp.h:31
structure containing intrinsic registers used to store vectorized data
Definition: BasePackDecl.h:29