All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Setzero.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_INTRINSICS_SETZERO_H_
36 #define _BLAZE_MATH_INTRINSICS_SETZERO_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // INTRINSIC SETZERO FUNCTIONS
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
62 inline void setzero( sse_int8_t& value )
63 {
64 #if BLAZE_AVX2_MODE
65  value.value = _mm256_setzero_si256();
66 #elif BLAZE_SSE2_MODE
67  value.value = _mm_setzero_si128();
68 #else
69  value.value = 0;
70 #endif
71 }
72 //*************************************************************************************************
73 
74 
75 //*************************************************************************************************
82 inline void setzero( sse_int16_t& value )
83 {
84 #if BLAZE_AVX2_MODE
85  value.value = _mm256_setzero_si256();
86 #elif BLAZE_SSE2_MODE
87  value.value = _mm_setzero_si128();
88 #else
89  value.value = 0;
90 #endif
91 }
92 //*************************************************************************************************
93 
94 
95 //*************************************************************************************************
102 inline void setzero( sse_int32_t& value )
103 {
104 #if BLAZE_MIC_MODE
105  value.value = _mm512_setzero_epi32();
106 #elif BLAZE_AVX2_MODE
107  value.value = _mm256_setzero_si256();
108 #elif BLAZE_SSE2_MODE
109  value.value = _mm_setzero_si128();
110 #else
111  value.value = 0;
112 #endif
113 }
114 //*************************************************************************************************
115 
116 
117 //*************************************************************************************************
124 inline void setzero( sse_int64_t& value )
125 {
126 #if BLAZE_MIC_MODE
127  value.value = _mm512_setzero_epi32();
128 #elif BLAZE_AVX2_MODE
129  value.value = _mm256_setzero_si256();
130 #elif BLAZE_SSE2_MODE
131  value.value = _mm_setzero_si128();
132 #else
133  value.value = 0;
134 #endif
135 }
136 //*************************************************************************************************
137 
138 
139 //*************************************************************************************************
146 inline void setzero( sse_float_t& value )
147 {
148 #if BLAZE_MIC_MODE
149  value.value = _mm512_setzero_ps();
150 #elif BLAZE_AVX_MODE
151  value.value = _mm256_setzero_ps();
152 #elif BLAZE_SSE_MODE
153  value.value = _mm_setzero_ps();
154 #else
155  value.value = 0.0F;
156 #endif
157 }
158 //*************************************************************************************************
159 
160 
161 //*************************************************************************************************
168 inline void setzero( sse_double_t& value )
169 {
170 #if BLAZE_MIC_MODE
171  value.value = _mm512_setzero_pd();
172 #elif BLAZE_AVX_MODE
173  value.value = _mm256_setzero_pd();
174 #elif BLAZE_SSE2_MODE
175  value.value = _mm_setzero_pd();
176 #else
177  value.value = 0.0;
178 #endif
179 }
180 //*************************************************************************************************
181 
182 
183 //*************************************************************************************************
190 inline void setzero( sse_cfloat_t& value )
191 {
192 #if BLAZE_MIC_MODE
193  value.value = _mm512_setzero_ps();
194 #elif BLAZE_AVX_MODE
195  value.value = _mm256_setzero_ps();
196 #elif BLAZE_SSE_MODE
197  value.value = _mm_setzero_ps();
198 #else
199  value.value = 0.0F;
200 #endif
201 }
202 //*************************************************************************************************
203 
204 
205 //*************************************************************************************************
212 inline void setzero( sse_cdouble_t& value )
213 {
214 #if BLAZE_MIC_MODE
215  value.value = _mm512_setzero_pd();
216 #elif BLAZE_AVX_MODE
217  value.value = _mm256_setzero_pd();
218 #elif BLAZE_SSE2_MODE
219  value.value = _mm_setzero_pd();
220 #else
221  value.value = 0.0;
222 #endif
223 }
224 //*************************************************************************************************
225 
226 } // namespace blaze
227 
228 #endif
Intrinsic type for 32-bit single precision complex values.
Intrinsic type for 64-bit integral data values.
Intrinsic type for 16-bit integral data values.
Intrinsic type for 32-bit single precision floating point data values.
Intrinsic type for 8-bit integral data values.
Intrinsic type for 64-bit double precision complex values.
Intrinsic type for 64-bit double precision floating point data values.
Header file for the basic intrinsic types.
System settings for the SSE mode.
Intrinsic type for 32-bit integral data values.
void setzero(sse_int8_t &value)
Setting an integral intrinsic type with 16 8-bit data values to zero.
Definition: Setzero.h:62