@@ -1199,23 +1199,23 @@ namespace xsimd
11991199 /* ****************************************
12001200 * bitwise cast functions implementation *
12011201 *****************************************/
1202- template <std::size_t in_N, std:: size_t out_N >
1203- batch<uint16_t , out_N > u8_to_u16 (const batch<uint8_t , in_N>& x);
1202+ template <std::size_t in_N>
1203+ batch<uint16_t , sizeof ( uint8_t )*in_N/ sizeof ( uint16_t ) > u8_to_u16 (const batch<uint8_t , in_N>& x);
12041204
1205- template <std::size_t in_N, std:: size_t out_N >
1206- batch<uint8_t , out_N > u16_to_u8 (const batch<uint16_t , in_N>& x);
1205+ template <std::size_t in_N>
1206+ batch<uint8_t , sizeof ( uint16_t )*in_N/ sizeof ( uint8_t ) > u16_to_u8 (const batch<uint16_t , in_N>& x);
12071207
1208- template <std::size_t in_N, std:: size_t out_N >
1209- batch<uint32_t , out_N > u8_to_u32 (const batch<uint8_t , in_N>& x);
1208+ template <std::size_t in_N>
1209+ batch<uint32_t , sizeof ( uint8_t )*in_N/ sizeof ( uint32_t ) > u8_to_u32 (const batch<uint8_t , in_N>& x);
12101210
1211- template <std::size_t in_N, std:: size_t out_N >
1212- batch<uint8_t , out_N > u32_to_u8 (const batch<uint32_t , in_N>& x);
1211+ template <std::size_t in_N>
1212+ batch<uint8_t , sizeof ( uint32_t )*in_N/ sizeof ( uint8_t ) > u32_to_u8 (const batch<uint32_t , in_N>& x);
12131213
1214- template <std::size_t in_N, std:: size_t out_N >
1215- batch<uint64_t , out_N > u8_to_u64 (const batch<uint8_t , in_N>& x);
1214+ template <std::size_t in_N>
1215+ batch<uint64_t , sizeof ( uint8_t )*in_N/ sizeof ( uint64_t ) > u8_to_u64 (const batch<uint8_t , in_N>& x);
12161216
1217- template <std::size_t in_N, std:: size_t out_N >
1218- batch<uint8_t , out_N > u64_to_u8 (const batch<uint64_t , in_N>& x);
1217+ template <std::size_t in_N>
1218+ batch<uint8_t , sizeof ( uint64_t )*in_N/ sizeof ( uint8_t ) > u64_to_u8 (const batch<uint64_t , in_N>& x);
12191219
12201220
12211221 template <class T_in , class T_out , std::size_t N_in>
@@ -1243,40 +1243,40 @@ namespace xsimd
12431243 /* **********************************************
12441244 * static_cast conversion by bitwise_cast_impl *
12451245 ***********************************************/
1246- template <std::size_t in_N, std:: size_t out_N >
1247- inline batch<uint16_t , out_N > u8_to_u16 (const batch<uint8_t , in_N>& x)
1246+ template <std::size_t in_N>
1247+ inline batch<uint16_t , sizeof ( uint8_t )*in_N/ sizeof ( uint16_t ) > u8_to_u16 (const batch<uint8_t , in_N>& x)
12481248 {
1249- return bitwise_cast_impl<batch<uint8_t , in_N>, batch<uint16_t , out_N >>::run (x);
1249+ return bitwise_cast_impl<batch<uint8_t , in_N>, batch<uint16_t , sizeof ( uint8_t )*in_N/ sizeof ( uint16_t ) >>::run (x);
12501250 }
12511251
1252- template <std::size_t in_N, std:: size_t out_N >
1253- inline batch<uint8_t , out_N > u16_to_u8 (const batch<uint16_t , in_N>& x)
1252+ template <std::size_t in_N>
1253+ inline batch<uint8_t , sizeof ( uint16_t )*in_N/ sizeof ( uint8_t ) > u16_to_u8 (const batch<uint16_t , in_N>& x)
12541254 {
1255- return bitwise_cast_impl<batch<uint16_t , in_N>, batch<uint8_t , out_N >>::run (x);
1255+ return bitwise_cast_impl<batch<uint16_t , in_N>, batch<uint8_t , sizeof ( uint16_t )*in_N/ sizeof ( uint8_t ) >>::run (x);
12561256 }
12571257
1258- template <std::size_t in_N, std:: size_t out_N >
1259- inline batch<uint32_t , out_N > u8_to_u32 (const batch<uint8_t , in_N>& x)
1258+ template <std::size_t in_N>
1259+ inline batch<uint32_t , sizeof ( uint8_t )*in_N/ sizeof ( uint32_t ) > u8_to_u32 (const batch<uint8_t , in_N>& x)
12601260 {
1261- return bitwise_cast_impl<batch<uint8_t , in_N>, batch<uint32_t , out_N >>::run (x);
1261+ return bitwise_cast_impl<batch<uint8_t , in_N>, batch<uint32_t , sizeof ( uint8_t )*in_N/ sizeof ( uint32_t ) >>::run (x);
12621262 }
12631263
1264- template <std::size_t in_N, std:: size_t out_N >
1265- inline batch<uint8_t , out_N > u32_to_u8 (const batch<uint32_t , in_N>& x)
1264+ template <std::size_t in_N>
1265+ inline batch<uint8_t , sizeof ( uint32_t )*in_N/ sizeof ( uint8_t ) > u32_to_u8 (const batch<uint32_t , in_N>& x)
12661266 {
1267- return bitwise_cast_impl<batch<uint32_t , in_N>, batch<uint8_t , out_N >>::run (x);
1267+ return bitwise_cast_impl<batch<uint32_t , in_N>, batch<uint8_t , sizeof ( uint32_t )*in_N/ sizeof ( uint8_t ) >>::run (x);
12681268 }
12691269
1270- template <std::size_t in_N, std:: size_t out_N >
1271- inline batch<uint64_t , out_N > u8_to_u64 (const batch<uint8_t , in_N>& x)
1270+ template <std::size_t in_N>
1271+ inline batch<uint64_t , sizeof ( uint8_t )*in_N/ sizeof ( uint64_t ) > u8_to_u64 (const batch<uint8_t , in_N>& x)
12721272 {
1273- return bitwise_cast_impl<batch<uint8_t , in_N>, batch<uint64_t , out_N >>::run (x);
1273+ return bitwise_cast_impl<batch<uint8_t , in_N>, batch<uint64_t , sizeof ( uint8_t )*in_N/ sizeof ( uint64_t ) >>::run (x);
12741274 }
12751275
1276- template <std::size_t in_N, std:: size_t out_N >
1277- inline batch<uint8_t , out_N > u64_to_u8 (const batch<uint64_t , in_N>& x)
1276+ template <std::size_t in_N>
1277+ inline batch<uint8_t , sizeof ( uint64_t )*in_N/ sizeof ( uint8_t ) > u64_to_u8 (const batch<uint64_t , in_N>& x)
12781278 {
1279- return bitwise_cast_impl<batch<uint64_t , in_N>, batch<uint8_t , out_N >>::run (x);
1279+ return bitwise_cast_impl<batch<uint64_t , in_N>, batch<uint8_t , sizeof ( uint64_t )*in_N/ sizeof ( uint8_t ) >>::run (x);
12801280 }
12811281
12821282}
0 commit comments