All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Setzero.h
Go to the documentation of this file.
1 //=================================================================================================
20 //=================================================================================================
21 
22 #ifndef _BLAZE_MATH_INTRINSICS_SETZERO_H_
23 #define _BLAZE_MATH_INTRINSICS_SETZERO_H_
24 
25 
26 //*************************************************************************************************
27 // Includes
28 //*************************************************************************************************
29 
32 
33 
34 namespace blaze {
35 
36 //=================================================================================================
37 //
38 // INTRINSIC SETZERO FUNCTIONS
39 //
40 //=================================================================================================
41 
42 //*************************************************************************************************
49 inline void setzero( sse_int8_t& value )
50 {
51 #if BLAZE_AVX2_MODE
52  value.value = _mm256_setzero_si256();
53 #elif BLAZE_SSE2_MODE
54  value.value = _mm_setzero_si128();
55 #else
56  value.value = 0;
57 #endif
58 }
59 //*************************************************************************************************
60 
61 
62 //*************************************************************************************************
69 inline void setzero( sse_int16_t& value )
70 {
71 #if BLAZE_AVX2_MODE
72  value.value = _mm256_setzero_si256();
73 #elif BLAZE_SSE2_MODE
74  value.value = _mm_setzero_si128();
75 #else
76  value.value = 0;
77 #endif
78 }
79 //*************************************************************************************************
80 
81 
82 //*************************************************************************************************
89 inline void setzero( sse_int32_t& value )
90 {
91 #if BLAZE_MIC_MODE
92  value.value = _mm512_setzero_epi32();
93 #elif BLAZE_AVX2_MODE
94  value.value = _mm256_setzero_si256();
95 #elif BLAZE_SSE2_MODE
96  value.value = _mm_setzero_si128();
97 #else
98  value.value = 0;
99 #endif
100 }
101 //*************************************************************************************************
102 
103 
104 //*************************************************************************************************
111 inline void setzero( sse_int64_t& value )
112 {
113 #if BLAZE_MIC_MODE
114  value.value = _mm512_setzero_epi32();
115 #elif BLAZE_AVX2_MODE
116  value.value = _mm256_setzero_si256();
117 #elif BLAZE_SSE2_MODE
118  value.value = _mm_setzero_si128();
119 #else
120  value.value = 0;
121 #endif
122 }
123 //*************************************************************************************************
124 
125 
126 //*************************************************************************************************
133 inline void setzero( sse_float_t& value )
134 {
135 #if BLAZE_MIC_MODE
136  value.value = _mm512_setzero_ps();
137 #elif BLAZE_AVX_MODE
138  value.value = _mm256_setzero_ps();
139 #elif BLAZE_SSE_MODE
140  value.value = _mm_setzero_ps();
141 #else
142  value.value = 0.0F;
143 #endif
144 }
145 //*************************************************************************************************
146 
147 
148 //*************************************************************************************************
155 inline void setzero( sse_double_t& value )
156 {
157 #if BLAZE_MIC_MODE
158  value.value = _mm512_setzero_pd();
159 #elif BLAZE_AVX_MODE
160  value.value = _mm256_setzero_pd();
161 #elif BLAZE_SSE2_MODE
162  value.value = _mm_setzero_pd();
163 #else
164  value.value = 0.0;
165 #endif
166 }
167 //*************************************************************************************************
168 
169 
170 //*************************************************************************************************
177 inline void setzero( sse_cfloat_t& value )
178 {
179 #if BLAZE_AVX_MODE
180  value.value = _mm256_setzero_ps();
181 #elif BLAZE_SSE_MODE
182  value.value = _mm_setzero_ps();
183 #else
184  value.value = 0.0F;
185 #endif
186 }
187 //*************************************************************************************************
188 
189 
190 //*************************************************************************************************
197 inline void setzero( sse_cdouble_t& value )
198 {
199 #if BLAZE_AVX_MODE
200  value.value = _mm256_setzero_pd();
201 #elif BLAZE_SSE2_MODE
202  value.value = _mm_setzero_pd();
203 #else
204  value.value = 0.0;
205 #endif
206 }
207 //*************************************************************************************************
208 
209 } // namespace blaze
210 
211 #endif