TR-mbed 1.0
Loading...
Searching...
No Matches
TypeCasting.h
Go to the documentation of this file.
1// This file is part of Eigen, a lightweight C++ template library
2// for linear algebra.
3//
4// Copyright (C) 2018 Rasmus Munk Larsen <rmlarsen@google.com>
5// Copyright (C) 2020 Antonio Sanchez <cantonios@google.com>
6//
7// This Source Code Form is subject to the terms of the Mozilla
8// Public License v. 2.0. If a copy of the MPL was not distributed
9// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
10
11#ifndef EIGEN_TYPE_CASTING_NEON_H
12#define EIGEN_TYPE_CASTING_NEON_H
13
14namespace Eigen {
15
16namespace internal {
17
18//==============================================================================
19// pcast, SrcType = float
20//==============================================================================
21template <>
25template <>
29template <>
33
34template <>
35struct type_casting_traits<float, numext::int64_t> {
37};
38template <>
39struct type_casting_traits<float, numext::uint64_t> {
41};
42// If float64 exists, first convert to that to keep as much precision as possible.
43#if EIGEN_ARCH_ARM64
44template <>
46 // Discard second half of input.
47 return vcvtq_s64_f64(vcvt_f64_f32(vget_low_f32(a)));
48}
49template <>
51 // Discard second half of input.
52 return vcvtq_u64_f64(vcvt_f64_f32(vget_low_f32(a)));
53}
54#else
55template <>
57 // Discard second half of input.
59}
60template <>
62 // Discard second half of input.
64}
65#endif // EIGEN_ARCH_ARM64
66
67template <>
68struct type_casting_traits<float, numext::int32_t> {
70};
71template <>
75template <>
79
80template <>
81struct type_casting_traits<float, numext::uint32_t> {
83};
84template <>
88template <>
92
93template <>
94struct type_casting_traits<float, numext::int16_t> {
96};
97template <>
101template <>
105
106template <>
107struct type_casting_traits<float, numext::uint16_t> {
109};
110template <>
114template <>
118
119template <>
120struct type_casting_traits<float, numext::int8_t> {
122};
123template <>
130template <>
137
138template <>
139struct type_casting_traits<float, numext::uint8_t> {
141};
142template <>
149template <>
156
157//==============================================================================
158// pcast, SrcType = int8_t
159//==============================================================================
160template <>
161struct type_casting_traits<numext::int8_t, float> {
163};
164template <>
166 // Discard all but first 4 bytes.
168}
169template <>
171 // Discard all but first 2 bytes.
173}
174
175template <>
176struct type_casting_traits<numext::int8_t, numext::int64_t> {
178};
179template <>
184
185template <>
186struct type_casting_traits<numext::int8_t, numext::uint64_t> {
188};
189template <>
193
194template <>
195struct type_casting_traits<numext::int8_t, numext::int32_t> {
197};
198template <>
200 // Discard all but first 4 bytes.
202}
203template <>
205 // Discard all but first 2 bytes.
207}
208
209template <>
210struct type_casting_traits<numext::int8_t, numext::uint32_t> {
212};
213template <>
217template <>
221
222template <>
223struct type_casting_traits<numext::int8_t, numext::int16_t> {
225};
226template <>
228 // Discard second half of input.
229 return vmovl_s8(vget_low_s8(a));
230}
231template <>
233 // Discard second half of input.
234 return vget_low_s16(vmovl_s8(a));
235}
236
237template <>
238struct type_casting_traits<numext::int8_t, numext::uint16_t> {
240};
241template <>
245template <>
249
250template <>
251struct type_casting_traits<numext::int8_t, numext::int8_t> {
253};
254template <>
258template <>
262template <>
266
267template <>
268struct type_casting_traits<numext::int8_t, numext::uint8_t> {
270};
271template <>
275template <>
279template <>
283
284//==============================================================================
285// pcast, SrcType = uint8_t
286//==============================================================================
287template <>
288struct type_casting_traits<numext::uint8_t, float> {
290};
291template <>
296template <>
298 // Discard all but first 2 bytes.
300}
301
302template <>
303struct type_casting_traits<numext::uint8_t, numext::uint64_t> {
305};
306template <>
311
312template <>
313struct type_casting_traits<numext::uint8_t, numext::int64_t> {
315};
316template <>
320
321template <>
322struct type_casting_traits<numext::uint8_t, numext::uint32_t> {
324};
325template <>
327 // Discard all but first 4 bytes.
329}
330template <>
332 // Discard all but first 2 bytes.
334}
335
336template <>
337struct type_casting_traits<numext::uint8_t, numext::int32_t> {
339};
340template <>
344template <>
348
349template <>
350struct type_casting_traits<numext::uint8_t, numext::uint16_t> {
352};
353template <>
355 // Discard second half of input.
356 return vmovl_u8(vget_low_u8(a));
357}
358template <>
360 // Discard second half of input.
361 return vget_low_u16(vmovl_u8(a));
362}
363
364template <>
365struct type_casting_traits<numext::uint8_t, numext::int16_t> {
367};
368template <>
372template <>
376
377template <>
378struct type_casting_traits<numext::uint8_t, numext::uint8_t> {
380};
381template <>
385template <>
389template <>
393
394template <>
395struct type_casting_traits<numext::uint8_t, numext::int8_t> {
397};
398template <>
402template <>
406template <>
410
411//==============================================================================
412// pcast, SrcType = int16_t
413//==============================================================================
414template <>
415struct type_casting_traits<numext::int16_t, float> {
417};
418template <>
420 // Discard second half of input.
422}
423template <>
425 // Discard second half of input.
427}
428
429template <>
430struct type_casting_traits<numext::int16_t, numext::int64_t> {
432};
433template <>
435 // Discard all but first two values.
437}
438
439template <>
440struct type_casting_traits<numext::int16_t, numext::uint64_t> {
442};
443template <>
447
448template <>
449struct type_casting_traits<numext::int16_t, numext::int32_t> {
451};
452template <>
454 // Discard second half of input.
455 return vmovl_s16(vget_low_s16(a));
456}
457template <>
459 // Discard second half of input.
460 return vget_low_s32(vmovl_s16(a));
461}
462
463template <>
464struct type_casting_traits<numext::int16_t, numext::uint32_t> {
466};
467template <>
471template <>
475
476template <>
477struct type_casting_traits<numext::int16_t, numext::int16_t> {
479};
480template <>
484template <>
488
489template <>
490struct type_casting_traits<numext::int16_t, numext::uint16_t> {
492};
493template <>
497template <>
501
502template <>
503struct type_casting_traits<numext::int16_t, numext::int8_t> {
505};
506template <>
510template <>
514
515template <>
516struct type_casting_traits<numext::int16_t, numext::uint8_t> {
518};
519template <>
523template <>
527
528//==============================================================================
529// pcast, SrcType = uint16_t
530//==============================================================================
531template <>
532struct type_casting_traits<numext::uint16_t, float> {
534};
535template <>
537 // Discard second half of input.
539}
540template <>
542 // Discard second half of input.
544}
545
546template <>
547struct type_casting_traits<numext::uint16_t, numext::uint64_t> {
549};
550template <>
552 // Discard all but first two values.
554}
555
556template <>
557struct type_casting_traits<numext::uint16_t, numext::int64_t> {
559};
560template <>
564
565template <>
566struct type_casting_traits<numext::uint16_t, numext::uint32_t> {
568};
569template <>
571 // Discard second half of input.
572 return vmovl_u16(vget_low_u16(a));
573}
574template <>
576 // Discard second half of input.
577 return vget_low_u32(vmovl_u16(a));
578}
579
580template <>
581struct type_casting_traits<numext::uint16_t, numext::int32_t> {
583};
584template <>
588template <>
592
593template <>
594struct type_casting_traits<numext::uint16_t, numext::uint16_t> {
596};
597template <>
601template <>
605
606template <>
607struct type_casting_traits<numext::uint16_t, numext::int16_t> {
609};
610template <>
614template <>
618
619template <>
620struct type_casting_traits<numext::uint16_t, numext::uint8_t> {
622};
623template <>
627template <>
631
632template <>
633struct type_casting_traits<numext::uint16_t, numext::int8_t> {
635};
636template <>
640template <>
644
645//==============================================================================
646// pcast, SrcType = int32_t
647//==============================================================================
648template <>
649struct type_casting_traits<numext::int32_t, float> {
651};
652template <>
656template <>
660
661template <>
662struct type_casting_traits<numext::int32_t, numext::int64_t> {
664};
665template <>
667 // Discard second half of input.
668 return vmovl_s32(vget_low_s32(a));
669}
670
671template <>
672struct type_casting_traits<numext::int32_t, numext::uint64_t> {
674};
675template <>
679
680template <>
681struct type_casting_traits<numext::int32_t, numext::int32_t> {
683};
684template <>
688template <>
692
693template <>
694struct type_casting_traits<numext::int32_t, numext::uint32_t> {
696};
697template <>
701template <>
705
706template <>
707struct type_casting_traits<numext::int32_t, numext::int16_t> {
709};
710template <>
714template <>
718
719template <>
720struct type_casting_traits<numext::int32_t, numext::uint16_t> {
722};
723template <>
727template <>
731
732template <>
733struct type_casting_traits<numext::int32_t, numext::int8_t> {
735};
736template <>
743template <>
750
751template <>
752struct type_casting_traits<numext::int32_t, numext::uint8_t> {
754};
755template <>
762template <>
769
770//==============================================================================
771// pcast, SrcType = uint32_t
772//==============================================================================
773template <>
774struct type_casting_traits<numext::uint32_t, float> {
776};
777template <>
781template <>
785
786template <>
787struct type_casting_traits<numext::uint32_t, numext::uint64_t> {
789};
790template <>
792 // Discard second half of input.
793 return vmovl_u32(vget_low_u32(a));
794}
795
796template <>
797struct type_casting_traits<numext::uint32_t, numext::int64_t> {
799};
800template <>
804
805template <>
806struct type_casting_traits<numext::uint32_t, numext::uint32_t> {
808};
809template <>
813template <>
817
818template <>
819struct type_casting_traits<numext::uint32_t, numext::int32_t> {
821};
822template <>
826template <>
830
831template <>
832struct type_casting_traits<numext::uint32_t, numext::uint16_t> {
834};
835template <>
839template <>
843
844template <>
845struct type_casting_traits<numext::uint32_t, numext::int16_t> {
847};
848template <>
852template <>
856
857template <>
858struct type_casting_traits<numext::uint32_t, numext::uint8_t> {
860};
861template <>
868template <>
875
876template <>
877struct type_casting_traits<numext::uint32_t, numext::int8_t> {
879};
880template <>
885template <>
890
891//==============================================================================
892// pcast, SrcType = int64_t
893//==============================================================================
894template <>
895struct type_casting_traits<numext::int64_t, float> {
897};
898template <>
902
903template <>
904struct type_casting_traits<numext::int64_t, numext::int64_t> {
906};
907template <>
911
912template <>
913struct type_casting_traits<numext::int64_t, numext::uint64_t> {
915};
916template <>
920
921template <>
922struct type_casting_traits<numext::int64_t, numext::int32_t> {
924};
925template <>
929
930template <>
931struct type_casting_traits<numext::int64_t, numext::uint32_t> {
933};
934template <>
938
939template <>
940struct type_casting_traits<numext::int64_t, numext::int16_t> {
942};
943template <>
950
951template <>
952struct type_casting_traits<numext::int64_t, numext::uint16_t> {
954};
955template <>
962
963template <>
964struct type_casting_traits<numext::int64_t, numext::int8_t> {
966};
967template <>
975
976template <>
977struct type_casting_traits<numext::int64_t, numext::uint8_t> {
979};
980template <>
988
989//==============================================================================
990// pcast, SrcType = uint64_t
991//==============================================================================
992template <>
993struct type_casting_traits<numext::uint64_t, float> {
995};
996template <>
1000
1001template <>
1002struct type_casting_traits<numext::uint64_t, numext::uint64_t> {
1004};
1005template <>
1009
1010template <>
1011struct type_casting_traits<numext::uint64_t, numext::int64_t> {
1013};
1014template <>
1018
1019template <>
1020struct type_casting_traits<numext::uint64_t, numext::uint32_t> {
1022};
1023template <>
1027
1028template <>
1029struct type_casting_traits<numext::uint64_t, numext::int32_t> {
1031};
1032template <>
1036
1037template <>
1038struct type_casting_traits<numext::uint64_t, numext::uint16_t> {
1040};
1041template <>
1048
1049template <>
1050struct type_casting_traits<numext::uint64_t, numext::int16_t> {
1052};
1053template <>
1058
1059template <>
1060struct type_casting_traits<numext::uint64_t, numext::uint8_t> {
1062};
1063template <>
1071
1072template <>
1073struct type_casting_traits<numext::uint64_t, numext::int8_t> {
1075};
1076template <>
1078 const Packet2ul& d, const Packet2ul& e, const Packet2ul& f,
1079 const Packet2ul& g, const Packet2ul& h) {
1080 return vreinterpretq_s8_u8(pcast<Packet2ul, Packet16uc>(a, b, c, d, e, f, g, h));
1081}
1082
1083//==============================================================================
1084// preinterpret
1085//==============================================================================
1086template <>
1090template <>
1094template <>
1098template <>
1102
1103template <>
1107template <>
1111template <>
1115
1116template <>
1120template <>
1124template <>
1128
1129template <>
1133template <>
1137
1138template <>
1142template <>
1146
1147template <>
1151template <>
1155template <>
1159template <>
1163
1164template <>
1168template <>
1172template <>
1176template <>
1180
1181template <>
1185template <>
1189
1190#if EIGEN_ARCH_ARM64
1191
1192//==============================================================================
1193// pcast/preinterpret, Double
1194//==============================================================================
1195
1196template <>
1197struct type_casting_traits<double, double> {
1198 enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 };
1199};
1200template <>
1201EIGEN_STRONG_INLINE Packet2d pcast<Packet2d, Packet2d>(const Packet2d& a) {
1202 return a;
1203}
1204
1205template <>
1206struct type_casting_traits<double, float> {
1207 enum { VectorizedCast = 1, SrcCoeffRatio = 2, TgtCoeffRatio = 1 };
1208};
1209template <>
1211 return vcombine_f32(vcvt_f32_f64(a), vcvt_f32_f64(b));
1212}
1213
1214template <>
1215struct type_casting_traits<double, numext::int64_t> {
1216 enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 };
1217};
1218template <>
1219EIGEN_STRONG_INLINE Packet2l pcast<Packet2d, Packet2l>(const Packet2d& a) {
1220 return vcvtq_s64_f64(a);
1221}
1222
1223template <>
1224struct type_casting_traits<double, numext::uint64_t> {
1225 enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 };
1226};
1227template <>
1228EIGEN_STRONG_INLINE Packet2ul pcast<Packet2d, Packet2ul>(const Packet2d& a) {
1229 return vcvtq_u64_f64(a);
1230}
1231
1232template <>
1233struct type_casting_traits<double, numext::int32_t> {
1234 enum { VectorizedCast = 1, SrcCoeffRatio = 2, TgtCoeffRatio = 1 };
1235};
1236template <>
1237EIGEN_STRONG_INLINE Packet4i pcast<Packet2d, Packet4i>(const Packet2d& a, const Packet2d& b) {
1238 return vcombine_s32(vmovn_s64(vcvtq_s64_f64(a)), vmovn_s64(vcvtq_s64_f64(b)));
1239}
1240
1241template <>
1242struct type_casting_traits<double, numext::uint32_t> {
1243 enum { VectorizedCast = 1, SrcCoeffRatio = 2, TgtCoeffRatio = 1 };
1244};
1245template <>
1246EIGEN_STRONG_INLINE Packet4ui pcast<Packet2d, Packet4ui>(const Packet2d& a, const Packet2d& b) {
1247 return vcombine_u32(vmovn_u64(vcvtq_u64_f64(a)), vmovn_u64(vcvtq_u64_f64(b)));
1248}
1249
1250template <>
1251struct type_casting_traits<double, numext::int16_t> {
1252 enum { VectorizedCast = 1, SrcCoeffRatio = 4, TgtCoeffRatio = 1 };
1253};
1254template <>
1255EIGEN_STRONG_INLINE Packet8s pcast<Packet2d, Packet8s>(const Packet2d& a, const Packet2d& b, const Packet2d& c,
1256 const Packet2d& d) {
1257 const int32x4_t ab_s32 = pcast<Packet2d, Packet4i>(a, b);
1258 const int32x4_t cd_s32 = pcast<Packet2d, Packet4i>(c, d);
1259 return vcombine_s16(vmovn_s32(ab_s32), vmovn_s32(cd_s32));
1260}
1261
1262template <>
1263struct type_casting_traits<double, numext::uint16_t> {
1264 enum { VectorizedCast = 1, SrcCoeffRatio = 4, TgtCoeffRatio = 1 };
1265};
1266template <>
1267EIGEN_STRONG_INLINE Packet8us pcast<Packet2d, Packet8us>(const Packet2d& a, const Packet2d& b, const Packet2d& c,
1268 const Packet2d& d) {
1269 const uint32x4_t ab_u32 = pcast<Packet2d, Packet4ui>(a, b);
1270 const uint32x4_t cd_u32 = pcast<Packet2d, Packet4ui>(c, d);
1271 return vcombine_u16(vmovn_u32(ab_u32), vmovn_u32(cd_u32));
1272}
1273
1274template <>
1275struct type_casting_traits<double, numext::int8_t> {
1276 enum { VectorizedCast = 1, SrcCoeffRatio = 8, TgtCoeffRatio = 1 };
1277};
1278template <>
1279EIGEN_STRONG_INLINE Packet16c pcast<Packet2d, Packet16c>(const Packet2d& a, const Packet2d& b, const Packet2d& c,
1280 const Packet2d& d, const Packet2d& e, const Packet2d& f,
1281 const Packet2d& g, const Packet2d& h) {
1282 const int16x8_t abcd_s16 = pcast<Packet2d, Packet8s>(a, b, c, d);
1283 const int16x8_t efgh_s16 = pcast<Packet2d, Packet8s>(e, f, g, h);
1284 return vcombine_s8(vmovn_s16(abcd_s16), vmovn_s16(efgh_s16));
1285}
1286
1287template <>
1288struct type_casting_traits<double, numext::uint8_t> {
1289 enum { VectorizedCast = 1, SrcCoeffRatio = 8, TgtCoeffRatio = 1 };
1290};
1291template <>
1292EIGEN_STRONG_INLINE Packet16uc pcast<Packet2d, Packet16uc>(const Packet2d& a, const Packet2d& b, const Packet2d& c,
1293 const Packet2d& d, const Packet2d& e, const Packet2d& f,
1294 const Packet2d& g, const Packet2d& h) {
1295 const uint16x8_t abcd_u16 = pcast<Packet2d, Packet8us>(a, b, c, d);
1296 const uint16x8_t efgh_u16 = pcast<Packet2d, Packet8us>(e, f, g, h);
1297 return vcombine_u8(vmovn_u16(abcd_u16), vmovn_u16(efgh_u16));
1298}
1299
1300template <>
1301struct type_casting_traits<float, double> {
1302 enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 2 };
1303};
1304template <>
1306 // Discard second-half of input.
1307 return vcvt_f64_f32(vget_low_f32(a));
1308}
1309
1310template <>
1311struct type_casting_traits<numext::int8_t, double> {
1312 enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 8 };
1313};
1314template <>
1315EIGEN_STRONG_INLINE Packet2d pcast<Packet16c, Packet2d>(const Packet16c& a) {
1316 // Discard all but first two values.
1317 return vcvt_f64_f32(pcast<Packet8c, Packet2f>(vget_low_s8(a)));
1318}
1319
1320template <>
1321struct type_casting_traits<numext::uint8_t, double> {
1322 enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 8 };
1323};
1324template <>
1325EIGEN_STRONG_INLINE Packet2d pcast<Packet16uc, Packet2d>(const Packet16uc& a) {
1326 // Discard all but first two values.
1327 return vcvt_f64_f32(pcast<Packet8uc, Packet2f>(vget_low_u8(a)));
1328}
1329
1330template <>
1331struct type_casting_traits<numext::int16_t, double> {
1332 enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 4 };
1333};
1334template <>
1335EIGEN_STRONG_INLINE Packet2d pcast<Packet8s, Packet2d>(const Packet8s& a) {
1336 // Discard all but first two values.
1337 return vcvt_f64_f32(pcast<Packet4s, Packet2f>(vget_low_s16(a)));
1338}
1339
1340template <>
1341struct type_casting_traits<numext::uint16_t, double> {
1342 enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 4 };
1343};
1344template <>
1345EIGEN_STRONG_INLINE Packet2d pcast<Packet8us, Packet2d>(const Packet8us& a) {
1346 // Discard all but first two values.
1347 return vcvt_f64_f32(pcast<Packet4us, Packet2f>(vget_low_u16(a)));
1348}
1349
1350template <>
1351struct type_casting_traits<numext::int32_t, double> {
1352 enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 2 };
1353};
1354template <>
1355EIGEN_STRONG_INLINE Packet2d pcast<Packet4i, Packet2d>(const Packet4i& a) {
1356 // Discard second half of input.
1357 return vcvtq_f64_s64(vmovl_s32(vget_low_s32(a)));
1358}
1359
1360template <>
1361struct type_casting_traits<numext::uint32_t, double> {
1362 enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 2 };
1363};
1364template <>
1365EIGEN_STRONG_INLINE Packet2d pcast<Packet4ui, Packet2d>(const Packet4ui& a) {
1366 // Discard second half of input.
1367 return vcvtq_f64_u64(vmovl_u32(vget_low_u32(a)));
1368}
1369
1370template <>
1371struct type_casting_traits<numext::int64_t, double> {
1372 enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 };
1373};
1374template <>
1375EIGEN_STRONG_INLINE Packet2d pcast<Packet2l, Packet2d>(const Packet2l& a) {
1376 return vcvtq_f64_s64(a);
1377}
1378
1379template <>
1380struct type_casting_traits<numext::uint64_t, double> {
1381 enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 };
1382};
1383template <>
1384EIGEN_STRONG_INLINE Packet2d pcast<Packet2ul, Packet2d>(const Packet2ul& a) {
1385 return vcvtq_f64_u64(a);
1386}
1387
1388template <>
1389EIGEN_STRONG_INLINE Packet2d preinterpret<Packet2d, Packet2l>(const Packet2l& a) {
1390 return vreinterpretq_f64_s64(a);
1391}
1392template <>
1393EIGEN_STRONG_INLINE Packet2d preinterpret<Packet2d, Packet2ul>(const Packet2ul& a) {
1394 return vreinterpretq_f64_u64(a);
1395}
1396template <>
1397EIGEN_STRONG_INLINE Packet2l preinterpret<Packet2l, Packet2d>(const Packet2d& a) {
1398 return vreinterpretq_s64_f64(a);
1399}
1400template <>
1401EIGEN_STRONG_INLINE Packet2ul preinterpret<Packet2ul, Packet2d>(const Packet2d& a) {
1402 return vreinterpretq_u64_f64(a);
1403}
1404template <>
1406 return vreinterpretq_f64_s32(a);
1407}
1408template <>
1410 return vreinterpretq_s32_f64(a);
1411}
1412
1413#endif // EIGEN_ARCH_ARM64
1414
1415} // end namespace internal
1416
1417} // end namespace Eigen
1418
1419#endif // EIGEN_TYPE_CASTING_NEON_H
ArrayXXi a
Definition Array_initializer_list_23_cxx11.cpp:1
Array< double, 1, 3 > e(1./3., 0.5, 2.)
#define EIGEN_STRONG_INLINE
Definition Macros.h:917
Scalar Scalar * c
Definition benchVecAdd.cpp:17
Scalar * b
Definition benchVecAdd.cpp:17
EIGEN_STRONG_INLINE Packet2f pcast< Packet4s, Packet2f >(const Packet4s &a)
Definition TypeCasting.h:424
EIGEN_STRONG_INLINE Packet4i pcast< Packet8s, Packet4i >(const Packet8s &a)
Definition TypeCasting.h:453
EIGEN_STRONG_INLINE Packet2ui preinterpret< Packet2ui, Packet2i >(const Packet2i &a)
Definition TypeCasting.h:1169
EIGEN_STRONG_INLINE Packet8uc pcast< Packet8c, Packet8uc >(const Packet8c &a)
Definition TypeCasting.h:276
v2f64 Packet2d
Definition PacketMath.h:820
EIGEN_STRONG_INLINE Packet16c pcast< Packet8us, Packet16c >(const Packet8us &a, const Packet8us &b)
Definition TypeCasting.h:637
EIGEN_STRONG_INLINE Packet8c pcast< Packet4s, Packet8c >(const Packet4s &a, const Packet4s &b)
Definition TypeCasting.h:511
EIGEN_STRONG_INLINE Packet4f pcast< Packet8s, Packet4f >(const Packet8s &a)
Definition TypeCasting.h:419
v2i64 Packet2l
Definition PacketMath.h:821
EIGEN_STRONG_INLINE Packet4us pcast< Packet4us, Packet4us >(const Packet4us &a)
Definition TypeCasting.h:602
EIGEN_STRONG_INLINE Packet2ul pcast< Packet4f, Packet2ul >(const Packet4f &a)
Definition TypeCasting.h:61
EIGEN_STRONG_INLINE Packet2i preinterpret< Packet2i, Packet2ui >(const Packet2ui &a)
Definition TypeCasting.h:1152
EIGEN_STRONG_INLINE Packet16uc pcast< Packet2ul, Packet16uc >(const Packet2ul &a, const Packet2ul &b, const Packet2ul &c, const Packet2ul &d, const Packet2ul &e, const Packet2ul &f, const Packet2ul &g, const Packet2ul &h)
Definition TypeCasting.h:1064
EIGEN_STRONG_INLINE Packet8us pcast< Packet2ul, Packet8us >(const Packet2ul &a, const Packet2ul &b, const Packet2ul &c, const Packet2ul &d)
Definition TypeCasting.h:1042
EIGEN_STRONG_INLINE Packet2i pcast< Packet2ui, Packet2i >(const Packet2ui &a)
Definition TypeCasting.h:827
uint32x2_t Packet2ui
Definition PacketMath.h:76
EIGEN_STRONG_INLINE Packet16uc pcast< Packet16c, Packet16uc >(const Packet16c &a)
Definition TypeCasting.h:272
__vector int Packet4i
Definition PacketMath.h:31
EIGEN_STRONG_INLINE Packet8uc pcast< Packet2f, Packet8uc >(const Packet2f &a, const Packet2f &b, const Packet2f &c, const Packet2f &d)
Definition TypeCasting.h:150
EIGEN_STRONG_INLINE Packet2f pcast< Packet8uc, Packet2f >(const Packet8uc &a)
Definition TypeCasting.h:297
EIGEN_STRONG_INLINE Packet2ui pcast< Packet4us, Packet2ui >(const Packet4us &a)
Definition TypeCasting.h:575
EIGEN_STRONG_INLINE Packet2l pcast< Packet8s, Packet2l >(const Packet8s &a)
Definition TypeCasting.h:434
EIGEN_STRONG_INLINE Packet8s pcast< Packet8s, Packet8s >(const Packet8s &a)
Definition TypeCasting.h:481
int8x8_t Packet8c
Definition PacketMath.h:65
EIGEN_STRONG_INLINE Packet4i preinterpret< Packet4i, Packet2d >(const Packet2d &a)
Definition TypeCasting.h:84
EIGEN_STRONG_INLINE Packet16uc pcast< Packet16uc, Packet16uc >(const Packet16uc &a)
Definition TypeCasting.h:382
EIGEN_STRONG_INLINE Packet4us pcast< Packet8c, Packet4us >(const Packet8c &a)
Definition TypeCasting.h:246
__vector unsigned char Packet16uc
Definition PacketMath.h:37
EIGEN_STRONG_INLINE Packet8c pcast< Packet2ui, Packet8c >(const Packet2ui &a, const Packet2ui &b, const Packet2ui &c, const Packet2ui &d)
Definition TypeCasting.h:886
EIGEN_STRONG_INLINE Packet4s pcast< Packet8c, Packet4s >(const Packet8c &a)
Definition TypeCasting.h:232
EIGEN_STRONG_INLINE Packet16c pcast< Packet16uc, Packet16c >(const Packet16uc &a)
Definition TypeCasting.h:399
EIGEN_STRONG_INLINE Packet8s pcast< Packet4f, Packet8s >(const Packet4f &a, const Packet4f &b)
Definition TypeCasting.h:98
EIGEN_STRONG_INLINE Packet8c preinterpret< Packet8c, Packet8uc >(const Packet8uc &a)
Definition TypeCasting.h:1108
EIGEN_STRONG_INLINE Packet4uc pcast< Packet4c, Packet4uc >(const Packet4c &a)
Definition TypeCasting.h:280
EIGEN_STRONG_INLINE Packet4c pcast< Packet4c, Packet4c >(const Packet4c &a)
Definition TypeCasting.h:263
EIGEN_STRONG_INLINE Packet8us pcast< Packet4f, Packet8us >(const Packet4f &a, const Packet4f &b)
Definition TypeCasting.h:111
EIGEN_STRONG_INLINE Packet2l pcast< Packet4f, Packet2l >(const Packet4f &a)
Definition TypeCasting.h:56
EIGEN_STRONG_INLINE Packet2ul pcast< Packet8us, Packet2ul >(const Packet8us &a)
Definition TypeCasting.h:551
EIGEN_STRONG_INLINE Packet4ui pcast< Packet4ui, Packet4ui >(const Packet4ui &a)
Definition TypeCasting.h:810
EIGEN_STRONG_INLINE Packet2l pcast< Packet2l, Packet2l >(const Packet2l &a)
Definition TypeCasting.h:908
EIGEN_STRONG_INLINE Packet4uc preinterpret< Packet4uc, Packet4c >(const Packet4c &a)
Definition TypeCasting.h:1117
EIGEN_STRONG_INLINE Packet4us pcast< Packet2i, Packet4us >(const Packet2i &a, const Packet2i &b)
Definition TypeCasting.h:728
EIGEN_STRONG_INLINE Packet8uc pcast< Packet8uc, Packet8uc >(const Packet8uc &a)
Definition TypeCasting.h:386
EIGEN_STRONG_INLINE Packet16uc pcast< Packet8s, Packet16uc >(const Packet8s &a, const Packet8s &b)
Definition TypeCasting.h:520
EIGEN_STRONG_INLINE Packet16c pcast< Packet4i, Packet16c >(const Packet4i &a, const Packet4i &b, const Packet4i &c, const Packet4i &d)
Definition TypeCasting.h:737
EIGEN_STRONG_INLINE Packet4s pcast< Packet2ui, Packet4s >(const Packet2ui &a, const Packet2ui &b)
Definition TypeCasting.h:853
EIGEN_STRONG_INLINE Packet4i pcast< Packet4i, Packet4i >(const Packet4i &a)
Definition TypeCasting.h:685
EIGEN_STRONG_INLINE Packet8s pcast< Packet16c, Packet8s >(const Packet16c &a)
Definition TypeCasting.h:227
EIGEN_STRONG_INLINE Packet2i pcast< Packet4s, Packet2i >(const Packet4s &a)
Definition TypeCasting.h:458
__vector unsigned short int Packet8us
Definition PacketMath.h:35
EIGEN_STRONG_INLINE Packet8uc pcast< Packet4s, Packet8uc >(const Packet4s &a, const Packet4s &b)
Definition TypeCasting.h:524
EIGEN_STRONG_INLINE Packet4us pcast< Packet2f, Packet4us >(const Packet2f &a, const Packet2f &b)
Definition TypeCasting.h:115
EIGEN_STRONG_INLINE Packet8s pcast< Packet4i, Packet8s >(const Packet4i &a, const Packet4i &b)
Definition TypeCasting.h:711
EIGEN_STRONG_INLINE Packet4us preinterpret< Packet4us, Packet4s >(const Packet4s &a)
Definition TypeCasting.h:1139
EIGEN_STRONG_INLINE Packet16c pcast< Packet4f, Packet16c >(const Packet4f &a, const Packet4f &b, const Packet4f &c, const Packet4f &d)
Definition TypeCasting.h:124
EIGEN_STRONG_INLINE Packet2d pcast< Packet4f, Packet2d >(const Packet4f &a)
Definition TypeCasting.h:67
EIGEN_STRONG_INLINE Packet4f pcast< Packet16c, Packet4f >(const Packet16c &a)
Definition TypeCasting.h:165
EIGEN_STRONG_INLINE Packet2f pcast< Packet2ui, Packet2f >(const Packet2ui &a)
Definition TypeCasting.h:782
EIGEN_STRONG_INLINE Packet8us pcast< Packet4ui, Packet8us >(const Packet4ui &a, const Packet4ui &b)
Definition TypeCasting.h:836
EIGEN_STRONG_INLINE Packet8s pcast< Packet16uc, Packet8s >(const Packet16uc &a)
Definition TypeCasting.h:369
EIGEN_STRONG_INLINE Packet16uc pcast< Packet8us, Packet16uc >(const Packet8us &a, const Packet8us &b)
Definition TypeCasting.h:624
EIGEN_STRONG_INLINE Packet4ui preinterpret< Packet4ui, Packet4f >(const Packet4f &a)
Definition TypeCasting.h:1173
EIGEN_STRONG_INLINE Packet2f pcast< Packet2i, Packet2f >(const Packet2i &a)
Definition TypeCasting.h:657
EIGEN_STRONG_INLINE Packet8s preinterpret< Packet8s, Packet8us >(const Packet8us &a)
Definition TypeCasting.h:1134
EIGEN_STRONG_INLINE Packet4i preinterpret< Packet4i, Packet4ui >(const Packet4ui &a)
Definition TypeCasting.h:1160
EIGEN_STRONG_INLINE Packet4us pcast< Packet4s, Packet4us >(const Packet4s &a)
Definition TypeCasting.h:498
EIGEN_STRONG_INLINE Packet16uc pcast< Packet4f, Packet16uc >(const Packet4f &a, const Packet4f &b, const Packet4f &c, const Packet4f &d)
Definition TypeCasting.h:143
EIGEN_STRONG_INLINE Packet2ui pcast< Packet2i, Packet2ui >(const Packet2i &a)
Definition TypeCasting.h:702
__vector signed char Packet16c
Definition PacketMath.h:36
EIGEN_STRONG_INLINE Packet8s pcast< Packet4ui, Packet8s >(const Packet4ui &a, const Packet4ui &b)
Definition TypeCasting.h:849
EIGEN_STRONG_INLINE Packet2ui pcast< Packet2f, Packet2ui >(const Packet2f &a)
Definition TypeCasting.h:89
EIGEN_STRONG_INLINE Packet8us pcast< Packet2l, Packet8us >(const Packet2l &a, const Packet2l &b, const Packet2l &c, const Packet2l &d)
Definition TypeCasting.h:956
EIGEN_STRONG_INLINE Packet4f pcast< Packet2l, Packet4f >(const Packet2l &a, const Packet2l &b)
Definition TypeCasting.h:899
EIGEN_STRONG_INLINE Packet16c pcast< Packet4ui, Packet16c >(const Packet4ui &a, const Packet4ui &b, const Packet4ui &c, const Packet4ui &d)
Definition TypeCasting.h:881
EIGEN_STRONG_INLINE Packet2l pcast< Packet8us, Packet2l >(const Packet8us &a)
Definition TypeCasting.h:561
__vector unsigned int Packet4ui
Definition PacketMath.h:32
EIGEN_STRONG_INLINE Packet4f pcast< Packet2ul, Packet4f >(const Packet2ul &a, const Packet2ul &b)
Definition TypeCasting.h:997
EIGEN_STRONG_INLINE Packet2ul pcast< Packet16uc, Packet2ul >(const Packet16uc &a)
Definition TypeCasting.h:307
EIGEN_STRONG_INLINE Packet4us pcast< Packet2ui, Packet4us >(const Packet2ui &a, const Packet2ui &b)
Definition TypeCasting.h:840
EIGEN_STRONG_INLINE Packet2ui pcast< Packet2ui, Packet2ui >(const Packet2ui &a)
Definition TypeCasting.h:814
EIGEN_STRONG_INLINE Packet4f pcast< Packet4i, Packet4f >(const Packet4i &a)
Definition PacketMath.h:2198
EIGEN_STRONG_INLINE Packet8us preinterpret< Packet8us, Packet8s >(const Packet8s &a)
Definition TypeCasting.h:1143
EIGEN_STRONG_INLINE Packet4s pcast< Packet2f, Packet4s >(const Packet2f &a, const Packet2f &b)
Definition TypeCasting.h:102
EIGEN_STRONG_INLINE Packet4i pcast< Packet8us, Packet4i >(const Packet8us &a)
Definition TypeCasting.h:585
EIGEN_STRONG_INLINE Packet2l preinterpret< Packet2l, Packet2ul >(const Packet2ul &a)
Definition TypeCasting.h:1182
EIGEN_STRONG_INLINE Packet2i pcast< Packet8c, Packet2i >(const Packet8c &a)
Definition TypeCasting.h:204
EIGEN_STRONG_INLINE Packet8us pcast< Packet4i, Packet8us >(const Packet4i &a, const Packet4i &b)
Definition TypeCasting.h:724
EIGEN_STRONG_INLINE Packet2ul preinterpret< Packet2ul, Packet2l >(const Packet2l &a)
Definition TypeCasting.h:1186
EIGEN_STRONG_INLINE Packet2d preinterpret< Packet2d, Packet4i >(const Packet4i &a)
Definition TypeCasting.h:80
EIGEN_STRONG_INLINE Packet4i pcast< Packet16c, Packet4i >(const Packet16c &a)
Definition TypeCasting.h:199
EIGEN_STRONG_INLINE Packet8s pcast< Packet8us, Packet8s >(const Packet8us &a)
Definition TypeCasting.h:611
EIGEN_STRONG_INLINE Packet4ui preinterpret< Packet4ui, Packet4i >(const Packet4i &a)
Definition TypeCasting.h:1177
EIGEN_STRONG_INLINE Packet4i pcast< Packet4ui, Packet4i >(const Packet4ui &a)
Definition TypeCasting.h:823
EIGEN_STRONG_INLINE Packet2ul pcast< Packet8s, Packet2ul >(const Packet8s &a)
Definition TypeCasting.h:444
__vector short int Packet8s
Definition PacketMath.h:34
EIGEN_STRONG_INLINE Packet4i pcast< Packet16uc, Packet4i >(const Packet16uc &a)
Definition TypeCasting.h:341
EIGEN_STRONG_INLINE Packet8s pcast< Packet2ul, Packet8s >(const Packet2ul &a, const Packet2ul &b, const Packet2ul &c, const Packet2ul &d)
Definition TypeCasting.h:1054
EIGEN_STRONG_INLINE Packet4us pcast< Packet8uc, Packet4us >(const Packet8uc &a)
Definition TypeCasting.h:359
EIGEN_STRONG_INLINE Packet8us pcast< Packet8s, Packet8us >(const Packet8s &a)
Definition TypeCasting.h:494
uint16x4_t Packet4us
Definition PacketMath.h:72
EIGEN_STRONG_INLINE Packet2i pcast< Packet2i, Packet2i >(const Packet2i &a)
Definition TypeCasting.h:689
EIGEN_STRONG_INLINE Packet8uc pcast< Packet2i, Packet8uc >(const Packet2i &a, const Packet2i &b, const Packet2i &c, const Packet2i &d)
Definition TypeCasting.h:763
uint8x8_t Packet8uc
Definition PacketMath.h:68
EIGEN_STRONG_INLINE Packet2i preinterpret< Packet2i, Packet2f >(const Packet2f &a)
Definition TypeCasting.h:1148
EIGEN_STRONG_INLINE Packet4s pcast< Packet8uc, Packet4s >(const Packet8uc &a)
Definition TypeCasting.h:373
EIGEN_STRONG_INLINE Packet4ui pcast< Packet8s, Packet4ui >(const Packet8s &a)
Definition TypeCasting.h:468
EIGEN_STRONG_INLINE Packet2f pcast< Packet4us, Packet2f >(const Packet4us &a)
Definition TypeCasting.h:541
EIGEN_STRONG_INLINE Packet4f pcast< Packet16uc, Packet4f >(const Packet16uc &a)
Definition TypeCasting.h:292
EIGEN_STRONG_INLINE Packet2l pcast< Packet16uc, Packet2l >(const Packet16uc &a)
Definition TypeCasting.h:317
float32x2_t Packet2f
Definition PacketMath.h:62
EIGEN_STRONG_INLINE Packet4f pcast< Packet8us, Packet4f >(const Packet8us &a)
Definition TypeCasting.h:536
EIGEN_STRONG_INLINE Packet4ui pcast< Packet8us, Packet4ui >(const Packet8us &a)
Definition TypeCasting.h:570
EIGEN_STRONG_INLINE Packet4s pcast< Packet2i, Packet4s >(const Packet2i &a, const Packet2i &b)
Definition TypeCasting.h:715
EIGEN_STRONG_INLINE Packet8c pcast< Packet8c, Packet8c >(const Packet8c &a)
Definition TypeCasting.h:259
EIGEN_STRONG_INLINE Packet2ui pcast< Packet8uc, Packet2ui >(const Packet8uc &a)
Definition TypeCasting.h:331
EIGEN_STRONG_INLINE Packet8c pcast< Packet2f, Packet8c >(const Packet2f &a, const Packet2f &b, const Packet2f &c, const Packet2f &d)
Definition TypeCasting.h:131
EIGEN_STRONG_INLINE Packet4c pcast< Packet4uc, Packet4c >(const Packet4uc &a)
Definition TypeCasting.h:407
EIGEN_STRONG_INLINE Packet4s pcast< Packet4us, Packet4s >(const Packet4us &a)
Definition TypeCasting.h:615
EIGEN_STRONG_INLINE Packet8uc pcast< Packet4us, Packet8uc >(const Packet4us &a, const Packet4us &b)
Definition TypeCasting.h:628
EIGEN_STRONG_INLINE Packet16uc pcast< Packet4i, Packet16uc >(const Packet4i &a, const Packet4i &b, const Packet4i &c, const Packet4i &d)
Definition TypeCasting.h:756
EIGEN_STRONG_INLINE Packet8us pcast< Packet16c, Packet8us >(const Packet16c &a)
Definition TypeCasting.h:242
EIGEN_STRONG_INLINE Packet2ul pcast< Packet16c, Packet2ul >(const Packet16c &a)
Definition TypeCasting.h:190
EIGEN_STRONG_INLINE Packet4i pcast< Packet2l, Packet4i >(const Packet2l &a, const Packet2l &b)
Definition TypeCasting.h:926
EIGEN_STRONG_INLINE Packet2ul pcast< Packet2ul, Packet2ul >(const Packet2ul &a)
Definition TypeCasting.h:1006
EIGEN_STRONG_INLINE Packet16uc pcast< Packet2l, Packet16uc >(const Packet2l &a, const Packet2l &b, const Packet2l &c, const Packet2l &d, const Packet2l &e, const Packet2l &f, const Packet2l &g, const Packet2l &h)
Definition TypeCasting.h:981
EIGEN_STRONG_INLINE Packet4i pcast< Packet4f, Packet4i >(const Packet4f &a)
Definition PacketMath.h:2190
EIGEN_STRONG_INLINE Packet4ui pcast< Packet4i, Packet4ui >(const Packet4i &a)
Definition TypeCasting.h:698
EIGEN_STRONG_INLINE Packet8us pcast< Packet16uc, Packet8us >(const Packet16uc &a)
Definition TypeCasting.h:354
EIGEN_STRONG_INLINE Packet4ui pcast< Packet2ul, Packet4ui >(const Packet2ul &a, const Packet2ul &b)
Definition TypeCasting.h:1024
EIGEN_STRONG_INLINE Packet8uc preinterpret< Packet8uc, Packet8c >(const Packet8c &a)
Definition TypeCasting.h:1121
EIGEN_STRONG_INLINE Packet16c pcast< Packet2l, Packet16c >(const Packet2l &a, const Packet2l &b, const Packet2l &c, const Packet2l &d, const Packet2l &e, const Packet2l &f, const Packet2l &g, const Packet2l &h)
Definition TypeCasting.h:968
EIGEN_STRONG_INLINE Packet4c preinterpret< Packet4c, Packet4uc >(const Packet4uc &a)
Definition TypeCasting.h:1104
EIGEN_STRONG_INLINE Packet4s preinterpret< Packet4s, Packet4us >(const Packet4us &a)
Definition TypeCasting.h:1130
EIGEN_STRONG_INLINE Packet2l pcast< Packet2ul, Packet2l >(const Packet2ul &a)
Definition TypeCasting.h:1015
EIGEN_STRONG_INLINE Packet8us pcast< Packet8us, Packet8us >(const Packet8us &a)
Definition TypeCasting.h:598
EIGEN_STRONG_INLINE Packet2l pcast< Packet16c, Packet2l >(const Packet16c &a)
Definition TypeCasting.h:180
EIGEN_STRONG_INLINE Packet4f pcast< Packet4f, Packet4f >(const Packet4f &a)
Definition TypeCasting.h:26
EIGEN_STRONG_INLINE Packet2f pcast< Packet8c, Packet2f >(const Packet8c &a)
Definition TypeCasting.h:170
EIGEN_STRONG_INLINE Packet4i preinterpret< Packet4i, Packet4f >(const Packet4f &a)
Definition PacketMath.h:2244
EIGEN_STRONG_INLINE Packet8c pcast< Packet4us, Packet8c >(const Packet4us &a, const Packet4us &b)
Definition TypeCasting.h:641
EIGEN_STRONG_INLINE Packet4f preinterpret< Packet4f, Packet4i >(const Packet4i &a)
Definition PacketMath.h:2248
EIGEN_STRONG_INLINE Packet4ui pcast< Packet16c, Packet4ui >(const Packet16c &a)
Definition TypeCasting.h:214
EIGEN_STRONG_INLINE Packet4uc pcast< Packet4uc, Packet4uc >(const Packet4uc &a)
Definition TypeCasting.h:390
EIGEN_STRONG_INLINE Packet4f preinterpret< Packet4f, Packet4ui >(const Packet4ui &a)
Definition TypeCasting.h:1099
EIGEN_STRONG_INLINE Packet2l pcast< Packet4ui, Packet2l >(const Packet4ui &a)
Definition TypeCasting.h:801
EIGEN_STRONG_INLINE Packet16c pcast< Packet2ul, Packet16c >(const Packet2ul &a, const Packet2ul &b, const Packet2ul &c, const Packet2ul &d, const Packet2ul &e, const Packet2ul &f, const Packet2ul &g, const Packet2ul &h)
Definition TypeCasting.h:1077
EIGEN_STRONG_INLINE Packet8s pcast< Packet2l, Packet8s >(const Packet2l &a, const Packet2l &b, const Packet2l &c, const Packet2l &d)
Definition TypeCasting.h:944
EIGEN_STRONG_INLINE Packet2f preinterpret< Packet2f, Packet2ui >(const Packet2ui &a)
Definition TypeCasting.h:1091
EIGEN_STRONG_INLINE Packet2i pcast< Packet2f, Packet2i >(const Packet2f &a)
Definition TypeCasting.h:76
EIGEN_STRONG_INLINE Packet16uc pcast< Packet4ui, Packet16uc >(const Packet4ui &a, const Packet4ui &b, const Packet4ui &c, const Packet4ui &d)
Definition TypeCasting.h:862
EIGEN_STRONG_INLINE Packet4ui pcast< Packet16uc, Packet4ui >(const Packet16uc &a)
Definition TypeCasting.h:326
EIGEN_STRONG_INLINE Packet2f pcast< Packet2f, Packet2f >(const Packet2f &a)
Definition TypeCasting.h:30
EIGEN_STRONG_INLINE Packet2ui pcast< Packet8c, Packet2ui >(const Packet8c &a)
Definition TypeCasting.h:218
EIGEN_STRONG_INLINE Packet2f preinterpret< Packet2f, Packet2i >(const Packet2i &a)
Definition TypeCasting.h:1087
EIGEN_STRONG_INLINE Packet16c pcast< Packet16c, Packet16c >(const Packet16c &a)
Definition TypeCasting.h:255
EIGEN_STRONG_INLINE Packet4s pcast< Packet4s, Packet4s >(const Packet4s &a)
Definition TypeCasting.h:485
EIGEN_STRONG_INLINE Packet8uc pcast< Packet2ui, Packet8uc >(const Packet2ui &a, const Packet2ui &b, const Packet2ui &c, const Packet2ui &d)
Definition TypeCasting.h:869
__vector float Packet4f
Definition PacketMath.h:30
EIGEN_STRONG_INLINE Packet2ul pcast< Packet4i, Packet2ul >(const Packet4i &a)
Definition TypeCasting.h:676
EIGEN_STRONG_INLINE Packet2l pcast< Packet4i, Packet2l >(const Packet4i &a)
Definition TypeCasting.h:666
EIGEN_STRONG_INLINE Packet4f pcast< Packet4ui, Packet4f >(const Packet4ui &a)
Definition PacketMath.h:2202
EIGEN_STRONG_INLINE Packet16c preinterpret< Packet16c, Packet16uc >(const Packet16uc &a)
Definition TypeCasting.h:1112
EIGEN_STRONG_INLINE Packet4f pcast< Packet2d, Packet4f >(const Packet2d &a, const Packet2d &b)
Definition TypeCasting.h:63
int32x2_t Packet2i
Definition PacketMath.h:74
EIGEN_STRONG_INLINE Packet8c pcast< Packet2i, Packet8c >(const Packet2i &a, const Packet2i &b, const Packet2i &c, const Packet2i &d)
Definition TypeCasting.h:744
EIGEN_STRONG_INLINE Packet4i pcast< Packet2ul, Packet4i >(const Packet2ul &a, const Packet2ul &b)
Definition TypeCasting.h:1033
EIGEN_STRONG_INLINE Packet2i pcast< Packet4us, Packet2i >(const Packet4us &a)
Definition TypeCasting.h:589
EIGEN_STRONG_INLINE Packet2ui pcast< Packet4s, Packet2ui >(const Packet4s &a)
Definition TypeCasting.h:472
EIGEN_STRONG_INLINE Packet2ui preinterpret< Packet2ui, Packet2f >(const Packet2f &a)
Definition TypeCasting.h:1165
EIGEN_STRONG_INLINE Packet2ul pcast< Packet2l, Packet2ul >(const Packet2l &a)
Definition TypeCasting.h:917
EIGEN_STRONG_INLINE Packet4ui pcast< Packet4f, Packet4ui >(const Packet4f &a)
Definition PacketMath.h:2194
EIGEN_STRONG_INLINE Packet16c pcast< Packet8s, Packet16c >(const Packet8s &a, const Packet8s &b)
Definition TypeCasting.h:507
EIGEN_STRONG_INLINE Packet16uc preinterpret< Packet16uc, Packet16c >(const Packet16c &a)
Definition TypeCasting.h:1125
v2u64 Packet2ul
Definition PacketMath.h:822
EIGEN_STRONG_INLINE Packet4ui pcast< Packet2l, Packet4ui >(const Packet2l &a, const Packet2l &b)
Definition TypeCasting.h:935
int16x4_t Packet4s
Definition PacketMath.h:70
EIGEN_STRONG_INLINE Packet2ul pcast< Packet4ui, Packet2ul >(const Packet4ui &a)
Definition TypeCasting.h:791
EIGEN_STRONG_INLINE Packet2i pcast< Packet8uc, Packet2i >(const Packet8uc &a)
Definition TypeCasting.h:345
EIGEN_STRONG_INLINE Packet8c pcast< Packet8uc, Packet8c >(const Packet8uc &a)
Definition TypeCasting.h:403
::uint64_t uint64_t
Definition Meta.h:58
::int16_t int16_t
Definition Meta.h:55
::uint16_t uint16_t
Definition Meta.h:54
::uint32_t uint32_t
Definition Meta.h:56
::int32_t int32_t
Definition Meta.h:57
::int8_t int8_t
Definition Meta.h:53
::int64_t int64_t
Definition Meta.h:59
::uint8_t uint8_t
Definition Meta.h:52
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
Definition BandTriangularSolver.h:13
Definition GenericPacketMath.h:160
Definition ForwardDeclarations.h:17
Definition GenericPacketMath.h:148
@ TgtCoeffRatio
Definition GenericPacketMath.h:152
@ VectorizedCast
Definition GenericPacketMath.h:150
@ SrcCoeffRatio
Definition GenericPacketMath.h:151