16 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_COMMON_ASINREG_H__ 17 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_COMMON_ASINREG_H__ 41 template <eInstructionSet::domain IS,
typename T>
45 typename
boost::enable_if<
46 typename boost::mpl::and_<
47 typename boost::mpl::not_equal_to<
49 boost::mpl::int_<eInstructionSet::eIS_Standard>
51 typename boost::is_float<T>::type
58 static IPSDK_FORCEINLINE
const T g_p0() {
return static_cast<T
>(4.253011369004428248960E-3); }
59 static IPSDK_FORCEINLINE
const T g_p1() {
return static_cast<T
>(-6.019598008014123785661E-1); }
60 static IPSDK_FORCEINLINE
const T g_p2() {
return static_cast<T
>(5.444622390564711410273E0); }
61 static IPSDK_FORCEINLINE
const T g_p3() {
return static_cast<T
>(-1.626247967210700244449E1); }
62 static IPSDK_FORCEINLINE
const T g_p4() {
return static_cast<T
>(1.956261983317594739197E1); }
63 static IPSDK_FORCEINLINE
const T g_p5() {
return static_cast<T
>(-8.198089802484824371615E0); }
64 static IPSDK_FORCEINLINE
const T g_q0() {
return static_cast<T
>(-1.474091372988853791896E1); }
65 static IPSDK_FORCEINLINE
const T g_q1() {
return static_cast<T
>(7.049610280856842141659E1); }
66 static IPSDK_FORCEINLINE
const T g_q2() {
return static_cast<T
>(-1.471791292232726029859E2); }
67 static IPSDK_FORCEINLINE
const T g_q3() {
return static_cast<T
>(1.395105614657485689735E2); }
68 static IPSDK_FORCEINLINE
const T g_q4() {
return static_cast<T
>(-4.918853881490881290097E1); }
69 static IPSDK_FORCEINLINE
const T g_r0() {
return static_cast<T
>(2.967721961301243206100E-3); }
70 static IPSDK_FORCEINLINE
const T g_r1() {
return static_cast<T
>(-5.634242780008963776856E-1); }
71 static IPSDK_FORCEINLINE
const T g_r2() {
return static_cast<T
>(6.968710824104713396794E0); }
72 static IPSDK_FORCEINLINE
const T g_r3() {
return static_cast<T
>(-2.556901049652824852289E1); }
73 static IPSDK_FORCEINLINE
const T g_r4() {
return static_cast<T
>(2.853665548261061424989E1); }
74 static IPSDK_FORCEINLINE
const T g_s0() {
return static_cast<T
>(-2.194779531642920639778E1); }
75 static IPSDK_FORCEINLINE
const T g_s1() {
return static_cast<T
>(1.470656354026814941758E2); }
76 static IPSDK_FORCEINLINE
const T g_s2() {
return static_cast<T
>(-3.838770957603691357202E2); }
77 static IPSDK_FORCEINLINE
const T g_s3() {
return static_cast<T
>(3.424398657913078477438E2); }
80 static IPSDK_FORCEINLINE
89 static IPSDK_FORCEINLINE
97 Reg cste0Reg, cste0P625Reg, cste1Reg, cstePiD4Reg, csteMinus1Reg;
106 MaskReg test0P625Reg, test0Reg;
112 Reg csteRReg, cstePReg;
134 Reg csteSReg, csteQReg;
153 Reg zz1Reg, zz2Reg, zzReg;
154 Reg z1Reg, z2Reg, zReg;
155 Reg pReg, denomReg, minusZReg;
207 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_COMMON_SINREG_H__ template structure which is specialized to implement the computation of asin function on a scalar or ...
Definition: AsinReg.h:38
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
abs function; returns the absolute value of a pack
Definition: IsGreaterRegDecl.h:30
Definition: DataItemNodeHdrMacrosDetails.h:48
mul function; returns the product of 2 input pack operandes
sqrt function; returns the square root of a pack
function assigning a given value of type T to a given Pack<instructionSet, T>
div function; returns the quotient of 2 input pack operandes
Definition of import/export macro for library.
sub function; returns the result of an arithmetic substraction on all the elements of 2 input pack op...
template structure which is specialized to implement the arithmetic addition on 2 scalars or 2 regist...
Definition: AddReg.h:37
Definition: IfElseReg.h:33
Definition: RegMaskType.h:29
template structure which is specialized to implement the computation of abs function on a scalar or a...
Definition: AbsReg.h:46
add function; returns the result of an arithmetic add operation on all the elements of 2 input pack o...
Definition: AssignRegDecl.h:31