All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Division.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_INTRINSICS_DIVISION_H_
36 #define _BLAZE_MATH_INTRINSICS_DIVISION_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // INTRINSIC DIVISION OPERATORS
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
64 #if BLAZE_MIC_MODE
65 inline sse_int32_t operator/( const sse_int32_t& a, const sse_int32_t& b )
66 {
67  return _mm512_div_epi32( a.value, b.value );
68 }
69 #endif
70 //*************************************************************************************************
71 
72 
73 //*************************************************************************************************
82 #if BLAZE_MIC_MODE
83 inline sse_int64_t operator/( const sse_int64_t& a, const sse_int64_t& b )
84 {
85  return _mm512_div_epi64( a.value, b.value );
86 }
87 #endif
88 //*************************************************************************************************
89 
90 
91 //*************************************************************************************************
100 #if BLAZE_MIC_MODE
101 inline sse_float_t operator/( const sse_float_t& a, const sse_float_t& b )
102 {
103  return _mm512_div_ps( a.value, b.value );
104 }
105 #elif BLAZE_AVX_MODE
106 inline sse_float_t operator/( const sse_float_t& a, const sse_float_t& b )
107 {
108  return _mm256_div_ps( a.value, b.value );
109 }
110 #elif BLAZE_SSE_MODE
111 inline sse_float_t operator/( const sse_float_t& a, const sse_float_t& b )
112 {
113  return _mm_div_ps( a.value, b.value );
114 }
115 #endif
116 //*************************************************************************************************
117 
118 
119 //*************************************************************************************************
128 #if BLAZE_MIC_MODE
129 inline sse_double_t operator/( const sse_double_t& a, const sse_double_t& b )
130 {
131  return _mm512_div_pd( a.value, b.value );
132 }
133 #elif BLAZE_AVX_MODE
134 inline sse_double_t operator/( const sse_double_t& a, const sse_double_t& b )
135 {
136  return _mm256_div_pd( a.value, b.value );
137 }
138 #elif BLAZE_SSE2_MODE
139 inline sse_double_t operator/( const sse_double_t& a, const sse_double_t& b )
140 {
141  return _mm_div_pd( a.value, b.value );
142 }
143 #endif
144 //*************************************************************************************************
145 
146 } // namespace blaze
147 
148 #endif
const EnableIf< IsNumeric< T2 >, typename DivExprTrait< T1, T2 >::Type >::Type operator/(const DenseMatrix< T1, SO > &mat, T2 scalar)
Division operator for the division of a dense matrix by a scalar value ( ).
Definition: DMatScalarDivExpr.h:930
Header file for the basic intrinsic types.
System settings for the SSE mode.