22 #ifndef _BLAZE_MATH_EXPRESSIONS_DVECTRANSPOSER_H_
23 #define _BLAZE_MATH_EXPRESSIONS_DVECTRANSPOSER_H_
73 enum { vectorizable = VT::vectorizable };
134 template<
typename Other >
137 return dv_.canAlias( alias );
147 template<
typename Other >
150 return dv_.isAliased( alias );
165 template<
typename VT2 >
172 const size_t n(
size() );
175 const size_t end( n &
size_t(-2) );
177 for(
size_t i=0UL; i<end; i+=2UL ) {
178 dv_[i ] = (~rhs)[i ];
179 dv_[i+1UL] = (~rhs)[i+1UL];
182 dv_[end] = (~rhs)[end];
197 template<
typename VT2 >
204 typedef typename VT2::ConstIterator ConstIterator;
206 for( ConstIterator element=(~rhs).begin(); element!=(~rhs).end(); ++element )
207 dv_[element->index()] = element->value();
222 template<
typename VT2 >
229 const size_t n(
size() );
232 const size_t end( n &
size_t(-2) );
234 for(
size_t i=0UL; i<end; i+=2UL ) {
235 dv_[i ] += (~rhs)[i ];
236 dv_[i+1UL] += (~rhs)[i+1UL];
239 dv_[end] += (~rhs)[end];
254 template<
typename VT2 >
261 typedef typename VT2::ConstIterator ConstIterator;
263 for( ConstIterator element=(~rhs).begin(); element!=(~rhs).end(); ++element )
264 dv_[element->index()] += element->value();
279 template<
typename VT2 >
286 const size_t n(
size() );
289 const size_t end( n &
size_t(-2) );
291 for(
size_t i=0UL; i<end; i+=2UL ) {
292 dv_[i ] -= (~rhs)[i ];
293 dv_[i+1UL] -= (~rhs)[i+1UL];
296 dv_[end] -= (~rhs)[end];
311 template<
typename VT2 >
318 typedef typename VT2::ConstIterator ConstIterator;
320 for( ConstIterator element=(~rhs).begin(); element!=(~rhs).end(); ++element )
321 dv_[element->index()] -= element->value();
336 template<
typename VT2 >
343 const size_t n(
size() );
346 const size_t end( n &
size_t(-2) );
348 for(
size_t i=0UL; i<end; i+=2UL ) {
349 dv_[i ] *= (~rhs)[i ];
350 dv_[i+1UL] *= (~rhs)[i+1UL];
353 dv_[end] *= (~rhs)[end];
368 template<
typename VT2 >
375 typedef typename VT2::ConstIterator ConstIterator;
378 const ConstIterator end( (~rhs).end() );
382 for( ConstIterator element=(~rhs).begin(); element!=end; ++element )
383 dv_[element->index()] = tmp[element->index()] * element->value();
419 template<
typename VT