table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| std::experimental::split,split_by(3) | C++ Standard Libary | std::experimental::split,split_by(3) | 
NAME¶
std::experimental::split,split_by - std::experimental::split,split_by
Synopsis¶
 Defined in header <experimental/simd>
  
   template< std::size_t... Sizes, class T, class Abi >
  
   std::tuple<simd<T, simd_abi::deduce_t<T, Sizes>>...>
    (1) (parallelism TS v2)
  
   split( const simd<T, Abi>& v ) noexcept;
  
   template< std::size_t... Sizes, class T, class Abi >
  
   std::tuple<simd_mask<T, simd_abi::deduce_t<T, Sizes>>...>
    (2) (parallelism TS v2)
  
   split( const simd_mask<T, Abi>& v ) noexcept;
  
   template< class V, class Abi >
  
   std::array<V, simd_size_v<typename V::value_type, Abi> /
  
   V::size()> (3) (parallelism TS v2)
  
   split( const simd<typename V::value_type, Abi>& v )
  
   noexcept;
  
   template< class V, class Abi >
  
   std::array<V, simd_size_v<typename V::value_type, Abi> /
  
   V::size()> (4) (parallelism TS v2)
  
   split( const simd_mask<typename V::value_type, Abi>& v )
  
   noexcept;
  
   template< size_t N, class T, class A >
  
   array<resize_simd<simd_size_v<T, A> / N, simd<T, A>>,
    N> (5) (parallelism TS v2)
  
   split_by( const simd<T, A>& v ) noexcept;
  
   template< size_t N, class T, class A >
  
   array<resize_simd<simd_size_v<T, A> / N, simd_mask<T,
    A>>, (6) (parallelism TS v2)
  
   N>
  
   split_by( const simd_mask<T, A>& v ) noexcept;
  
   Splits the input simd or simd_mask object into multiple simd or simd_mask
    objects.
  
   1,2) Split the input object into potentially different types (e.g. types with
  
   different sizes) of objects. These functions do not participate in
    overloading
  
   resolution unless Sizes... sum up to v.size().
  
   3,4) Split the input object into an array of objects. These functions do not
  
   participate in overloading resolution unless
  
   * The array element must be of type simd or simd_mask, for the type of v as
    simd
  
   or simd_mask, respectively.
  
   * simd_size_v<typename V::value_type, Abi> is an integral multiple of
    V::size().
  
   5,6) Split the input object into an array of objects. These functions shall
    not
  
   participate in overload resolution unless simd_size_v<T, A> is an
    integral multiple
  
   of N.
Parameters¶
v - the input simd or simd_mask object
Return value¶
 1,2) A tuple that contains the splitted simd or simd_mask
    objects.
  
   3-6) An array that contains the splitted simd or simd_mask objects.
Example¶
 This section is incomplete
  
   Reason: no example
Category:¶
* Todo no example
| 2024.06.10 | http://cppreference.com |