Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:13:50

0001 #ifndef VECCORE_BACKEND_UMESIMDARRAY_H
0002 #define VECCORE_BACKEND_UMESIMDARRAY_H
0003 
0004 #ifdef VECCORE_ENABLE_UMESIMD
0005 
0006 #include <umesimd/UMESimd.h>
0007 
0008 namespace vecCore {
0009 
0010 namespace backend {
0011 
0012 // a UME backend with fixed-size types
0013 template <int N = 16>
0014 class UMESimdArray {
0015 public:
0016   using Real_v   = UME::SIMD::SIMDVec<Real_s, N>;
0017   using Float_v  = UME::SIMD::SIMDVec<float, N>;
0018   using Double_v = UME::SIMD::SIMDVec<double, N>;
0019 
0020   using Int_v   = UME::SIMD::SIMDVec<int, N>;
0021   using Int16_v = UME::SIMD::SIMDVec<int16_t, N>;
0022   using Int32_v = UME::SIMD::SIMDVec<int32_t, N>;
0023   using Int64_v = UME::SIMD::SIMDVec<int64_t, N>;
0024 
0025   using UInt_v   = UME::SIMD::SIMDVec<unsigned int, N>;
0026   using UInt16_v = UME::SIMD::SIMDVec<uint16_t, N>;
0027   using UInt32_v = UME::SIMD::SIMDVec<uint32_t, N>;
0028   using UInt64_v = UME::SIMD::SIMDVec<uint64_t, N>;
0029 };
0030 
0031 } // namespace backend
0032 
0033 } // namespace vecCore
0034 
0035 // bring in common implementation
0036 #include "UMESimdCommon.h"
0037 
0038 #endif
0039 #endif