| 
    T-SIMD v31.1.3
    
   A C++ template SIMD library 
   | 
 
Swizzle/deinterleave functions on Vec's.
Functions | |
| template<size_t N, typename T , size_t SIMD_WIDTH> | |
| static void | simd::swizzle (Vec< T, SIMD_WIDTH > v[N]) | 
| Swizzle/de-interleave/convert from AoS to SoA multiple Vec's in-place.   | |
| template<size_t N, typename T , size_t SIMD_WIDTH> | |
| static void | simd::swizzle2 (Vec< T, SIMD_WIDTH > v[2 *N]) | 
| Swizzle/de-interleave/convert from AoS to SoA multiple Vec's in-place.   | |
| template<size_t N, typename T , size_t SIMD_WIDTH> | |
| static void | simd::unswizzle (Vec< T, SIMD_WIDTH > v[2 *N]) | 
| Unswizzle/interleave/convert from SoA to AoS multiple Vec's in-place.   | |
      
  | 
  inlinestatic | 
Swizzle/de-interleave/convert from AoS to SoA multiple Vec's in-place.
This function swizzles/de-interleaves/converts from AoS (Array of Structs) to SoA (Struct of Arrays) multiple Vec's in-place.
Example for a swizzle distance of 3 with 3 Vec's of 8 elements each:
input stream (structures indicated by curly brackets):
input vectors:
output vectors:
| N | swizzle distance, must be between 1 and 5 | 
| [in,out] | v | array of Vec's to swizzle | 
      
  | 
  inlinestatic | 
Swizzle/de-interleave/convert from AoS to SoA multiple Vec's in-place.
This function swizzles/de-interleaves/converts from AoS (Array of Structs) to SoA (Struct of Arrays) multiple Vec's in-place.
In contrast to swizzle(), this function takes double the number of Vec's as input and might be faster.
Example for a swizzle distance of 3 with 6 Vec's of 8 elements each:
input stream (structures indicated by curly brackets):
input vectors:
output vectors:
| N | swizzle distance, must be between 1 and 5 | 
| [in,out] | v | array of Vec's to swizzle | 
      
  | 
  inlinestatic | 
Unswizzle/interleave/convert from SoA to AoS multiple Vec's in-place.
This function unswizzles/interleaves/converts from SoA (Struct of Arrays) to AoS (Array of Structs) multiple Vec's in-place.
Example for an unswizzle distance of 3 with 6 Vec's of 8 elements each:
input vectors:
output vectors:
| N | unswizzle distance | 
| [in,out] | v | array of Vec's to unswizzle |