Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::experimental::simd_abi::deduce

      From cppreference.com
      <cpp‎ |experimental‎ |simd
       
       
       
       
       
      Defined in header<experimental/simd>
      template<class T,std::size_t N,class ...Abis>
      struct deduce;
      (parallelism TS v2)

      The typededuce<T, N, Abis...>::type is present if and only if:

      • T is a vectorizable type,
      • simd_abi::fixed_size<N> is supported, and
      • every type inAbis... is an ABI tag.

      LetDA denotededuce<T, N, Abis...>::type when it presents, then

      • simd_size_v<T, DA>== N,
      • simd<T, DA> is default constructible, i.e. it is supported,
      • DA issimd_abi::scalar ifN==1, otherwise it is implementation-defined.

      Contents

      [edit]Member types

      Name Definition
      type an ABI tag type suitable for specified element typeT and sizeN

      [edit]Helper types

      template<class T,std::size_t N,class ...Abis>
      using deduce_t=typename deduce<T, N, Abis...>::type;
      (parallelism TS v2)

      [edit]Notes

      simd_abi::deduce is SFINAE-friendly.

      The ABI tag deduced via this facility is a Quality-of-Implementation feature. Implementations can base the choice onAbis..., but can also ignore theAbis... arguments. A simple implementation might simply returnfixed_size<N> unconditionally. An optimized implementation might return an implementation-defined extended ABI tag for most inputs. Consequently, if you need an ABI tag for a certain number of elements, usefixed_size if ABI stability is of concern, and preferdeduce_t otherwise.

      [edit]Example

      This section is incomplete
      Reason: no example

      [edit]See also

      (parallelism TS v2)
      tag type for storing a single element
      (typedef)[edit]
      (parallelism TS v2)
      tag type for storing specified number of elements
      (alias template)[edit]
      (parallelism TS v2)
      tag type that ensures ABI compatibility
      (alias template)[edit]
      (parallelism TS v2)
      tag type that is most efficient
      (alias template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/simd/deduce&oldid=155961"

      [8]ページ先頭

      ©2009-2025 Movatter.jp