# std::experimental::simd_cast, std::experimental::static_simd_cast

< cpp‎ | experimental‎ | simd

定义于头文件 `<experimental/simd>` |  |
template < class T, class Abi > fixed_size_simd<T, simd_size_v<T, Abi>> to_fixed_size( const simd<T, Abi>& v ) noexcept; | (1) | (并行 TS v2)
template < class T, class Abi > fixed_size_simd_mask<T, simd_size_v<T, Abi>> to_fixed_size( const simd_mask<T, Abi>& v ) noexcept; | (2) | (并行 TS v2)
template < class T, std::size_t N > native_simd<T> to_native( const fixed_size_simd<T, N>& v ) noexcept; | (3) | (并行 TS v2)
template < class T, std::size_t N > native_simd_mask<T> to_native( const fixed_size_simd_mask<T, N>>& v ) noexcept; | (4) | (并行 TS v2)
template < class T, std::size_t N > simd<T> to_compatible( const fixed_size_simd<T, N>& v ) noexcept; | (5) | (并行 TS v2)
template < class T, std::size_t N > simd_mask<T> to_compatible( const fixed_size_simd_mask<T, N>& v ) noexcept; | (6) | (并行 TS v2)

返回有相同元素但有不同 ABI 的 simd 或 simd_mask 对象。

3-6) 这些函数仅若 N 与返回类型的大小相同才参与重载决议。

### 参数

v | - | 输入的 simd 或 simd_mask 对象

### 返回值

拥有指定 ABI 的 simd 或 simd_mask 对象。

### 示例