diff --git a/src/TNL/Matrices/AdEllpack_impl.h b/src/TNL/Matrices/AdEllpack_impl.h index a0f293b3df94afcfeda8124f8e1d8173cb4c7718..215dba7a7b9eae949b1d39b60300abcc1958db7f 100644 --- a/src/TNL/Matrices/AdEllpack_impl.h +++ b/src/TNL/Matrices/AdEllpack_impl.h @@ -157,6 +157,28 @@ AdEllpack< Real, Device, Index >::AdEllpack() warpSize( 32 ) {} +template< typename Real, + typename Device, + typename Index > +String AdEllpack< Real, Device, Index >::getTypeVirtual() const +{ + return this->getType(); +} + +template< typename Real, + typename Device, + typename Index > +String AdEllpack< Real, Device, Index >::getType() +{ + return String( "Matrices::AdEllpack< ") + + String( TNL::getType< Real >() ) + + String( ", " ) + + String( Device::getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + + String( " >" ); +} + template< typename Real, typename Device, typename Index > diff --git a/src/TNL/Matrices/BiEllpackSymmetric_impl.h b/src/TNL/Matrices/BiEllpackSymmetric_impl.h index 0af180c0e8c2c54d2c4fdb304fa3e2813d76786c..a27497b3f67b97ae33394a957775c30abd6281d2 100644 --- a/src/TNL/Matrices/BiEllpackSymmetric_impl.h +++ b/src/TNL/Matrices/BiEllpackSymmetric_impl.h @@ -45,6 +45,30 @@ BiEllpackSymmetric< Real, Device, Index, StripSize >::BiEllpackSymmetric() logWarpSize( 5 ) {} +template< typename Real, + typename Device, + typename Index, + int StripSize > +String BiEllpackSymmetric< Real, Device, Index, StripSize >::getType() +{ + return String( "Matrices::BiEllpackMatrix< ") + + String( TNL::getType< Real >() ) + + String( ", " ) + + String( Device :: getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + + String( " >" ); +} + +template< typename Real, + typename Device, + typename Index, + int StripSize > +String BiEllpackSymmetric< Real, Device, Index, StripSize >::getTypeVirtual() const +{ + return this->getType(); +} + template< typename Real, typename Device, typename Index, diff --git a/src/TNL/Matrices/BiEllpack_impl.h b/src/TNL/Matrices/BiEllpack_impl.h index 51646152e8e62d8c26fb55a961869b8acef7826e..93a180932f9c2e82b3d4ee1bacac8654741d272b 100644 --- a/src/TNL/Matrices/BiEllpack_impl.h +++ b/src/TNL/Matrices/BiEllpack_impl.h @@ -47,6 +47,30 @@ BiEllpack< Real, Device, Index, StripSize >::BiEllpack() logWarpSize( 5 ) {} +template< typename Real, + typename Device, + typename Index, + int StripSize > +String BiEllpack< Real, Device, Index, StripSize >::getType() +{ + return String( "Matrices::BiEllpack< ") + + String( TNL::getType< Real >() ) + + String( ", " ) + + String( Device :: getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + + String( " >" ); +} + +template< typename Real, + typename Device, + typename Index, + int StripSize > +String BiEllpack< Real, Device, Index, StripSize >::getTypeVirtual() const +{ + return this->getType(); +} + template< typename Real, typename Device, typename Index, diff --git a/src/TNL/Matrices/COOMatrix_impl.h b/src/TNL/Matrices/COOMatrix_impl.h index bbdd36002ee4af0ca59da81815ed2527c0c0c828..2f9b49d30833982122ac62eb20ab65e265f79ce7 100644 --- a/src/TNL/Matrices/COOMatrix_impl.h +++ b/src/TNL/Matrices/COOMatrix_impl.h @@ -27,6 +27,28 @@ COOMatrix< Real, Device, Index >::COOMatrix() { }; +template< typename Real, + typename Device, + typename Index > +String COOMatrix< Real, Device, Index >::getType() +{ + return String( "Matrices::COOMatrix< " ) + + String( TNL::getType< Real>() ) + + String( ", " ) + + String( Device :: getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + + String( " >" ); +} + +template< typename Real, + typename Device, + typename Index > +String COOMatrix< Real, Device, Index >::getTypeVirtual() const +{ + return this->getType(); +} + template< typename Real, typename Device, typename Index > diff --git a/src/TNL/Matrices/CSR_impl.h b/src/TNL/Matrices/CSR_impl.h index 327d250028acca4349495bd663340f999f55024e..8891f5b935ece70662c2a17d2e7ca67c508af6aa 100644 --- a/src/TNL/Matrices/CSR_impl.h +++ b/src/TNL/Matrices/CSR_impl.h @@ -46,7 +46,9 @@ String CSR< Real, Device, Index >::getSerializationType() return String( "Matrices::CSR< ") + TNL::getType< Real>() + String( ", " ) + - getType< Devices::Host >() + + String( Device :: getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + String( " >" ); } diff --git a/src/TNL/Matrices/ChunkedEllpack_impl.h b/src/TNL/Matrices/ChunkedEllpack_impl.h index 878c7c2734b5bac80dd1db6b304906e7cd88c5d5..bf2e347aa1d8458b8ecf84fd174aa0038f8a8bc0 100644 --- a/src/TNL/Matrices/ChunkedEllpack_impl.h +++ b/src/TNL/Matrices/ChunkedEllpack_impl.h @@ -44,7 +44,9 @@ String ChunkedEllpack< Real, Device, Index >::getSerializationType() return String( "Matrices::ChunkedEllpack< ") + getType< Real >() + String( ", " ) + - getType< Device >() + + String( Device :: getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + String( " >" ); } diff --git a/src/TNL/Matrices/Dense_impl.h b/src/TNL/Matrices/Dense_impl.h index 246bd09edb459e6df9749af9d1589f508c2c5806..f690946e8857f8b70065173257049eb1731563db 100644 --- a/src/TNL/Matrices/Dense_impl.h +++ b/src/TNL/Matrices/Dense_impl.h @@ -24,6 +24,28 @@ Dense< Real, Device, Index >::Dense() { } +template< typename Real, + typename Device, + typename Index > +String Dense< Real, Device, Index >::getType() +{ + return String( "Matrices::Dense< " ) + + String( TNL::getType< Real >() ) + + String( ", " ) + + String( Device :: getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + + String( " >" ); +} + +template< typename Real, + typename Device, + typename Index > +String Dense< Real, Device, Index >::getTypeVirtual() const +{ + return this->getType(); +} + template< typename Real, typename Device, typename Index > diff --git a/src/TNL/Matrices/EllpackSymmetricGraph_impl.h b/src/TNL/Matrices/EllpackSymmetricGraph_impl.h index b949292c5f1664562525a4ead8ca17b2ad9f343b..1abb1e98bc2538d144ea03ad4ec363c3f21c6cde 100644 --- a/src/TNL/Matrices/EllpackSymmetricGraph_impl.h +++ b/src/TNL/Matrices/EllpackSymmetricGraph_impl.h @@ -42,6 +42,28 @@ Index EllpackSymmetricGraph< Real, Device, Index >::getAlignedRows() const return this->alignedRows; } +template< typename Real, + typename Device, + typename Index > +String EllpackSymmetricGraph< Real, Device, Index > :: getType() +{ + return String( "Matrices::EllpackSymmetricGraph< ") + + String( TNL::getType< Real >() ) + + String( ", " ) + + String( Device::getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + + String( " >" ); +} + +template< typename Real, + typename Device, + typename Index > +String EllpackSymmetricGraph< Real, Device, Index >::getTypeVirtual() const +{ + return this->getType(); +} + template< typename Real, typename Device, typename Index > diff --git a/src/TNL/Matrices/EllpackSymmetric_impl.h b/src/TNL/Matrices/EllpackSymmetric_impl.h index 90369f77af0f0085b140934c27fe3fe5a2d8f015..5b83341d0e05416305d3490ee59f96c4a42fbbe2 100644 --- a/src/TNL/Matrices/EllpackSymmetric_impl.h +++ b/src/TNL/Matrices/EllpackSymmetric_impl.h @@ -26,6 +26,28 @@ EllpackSymmetric< Real, Device, Index > :: EllpackSymmetric() { }; +template< typename Real, + typename Device, + typename Index > +String EllpackSymmetric< Real, Device, Index > :: getType() +{ + return String( "Matrices::EllpackSymmetric< ") + + String( TNL::getType< Real >() ) + + String( ", " ) + + String( Device::getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + + String( " >" ); +} + +template< typename Real, + typename Device, + typename Index > +String EllpackSymmetric< Real, Device, Index >::getTypeVirtual() const +{ + return this->getType(); +} + template< typename Real, typename Device, typename Index > diff --git a/src/TNL/Matrices/Ellpack_impl.h b/src/TNL/Matrices/Ellpack_impl.h index 5ac812cf2101e7f13bafbfd871ac168429be49cd..833513bd41f5ac3c222c956c23f91231c008f5a0 100644 --- a/src/TNL/Matrices/Ellpack_impl.h +++ b/src/TNL/Matrices/Ellpack_impl.h @@ -31,10 +31,10 @@ template< typename Real, typename Index > String Ellpack< Real, Device, Index >::getSerializationType() { - return String( "Matrices::Ellpack< ") + - getType< Real >() + + return String( "Matrices::Ellpack< " ) + + String( TNL::getType< Real >() ) + String( ", " ) + - getType< Device >() + + String( Device :: getDeviceType() ) + String( ", " ) + getType< Index >() + String( " >" ); diff --git a/src/TNL/Matrices/Multidiagonal_impl.h b/src/TNL/Matrices/Multidiagonal_impl.h index ff1ac384a3a1a95a170f491de8a56dae09651b3c..76f54f748c0744d810518cd9dde5872a894099ad 100644 --- a/src/TNL/Matrices/Multidiagonal_impl.h +++ b/src/TNL/Matrices/Multidiagonal_impl.h @@ -36,7 +36,9 @@ String Multidiagonal< Real, Device, Index >::getSerializationType() return String( "Matrices::Multidiagonal< ") + getType< Real >() + String( ", " ) + - getType< Device >() + + String( Device :: getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + String( " >" ); } diff --git a/src/TNL/Matrices/SlicedEllpackSymmetricGraph_impl.h b/src/TNL/Matrices/SlicedEllpackSymmetricGraph_impl.h index bfe73f231092a0e4ea90c3011b823c6ab8c17d95..39cb81c6839efe21c90bcba58aff87ad96a5e447 100644 --- a/src/TNL/Matrices/SlicedEllpackSymmetricGraph_impl.h +++ b/src/TNL/Matrices/SlicedEllpackSymmetricGraph_impl.h @@ -25,6 +25,30 @@ template< typename Real, SlicedEllpackSymmetricGraph< Real, Device, Index, SliceSize >::SlicedEllpackSymmetricGraph() : rearranged( false ) { +}; + +template< typename Real, + typename Device, + typename Index, + int SliceSize > +String SlicedEllpackSymmetricGraph< Real, Device, Index, SliceSize >::getType() +{ + return String( "Matrices::SlicedEllpackSymmetricGraph< ") + + String( TNL::getType< Real >() ) + + String( ", " ) + + String( Device::getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + + String( " >" ); +} + +template< typename Real, + typename Device, + typename Index, + int SliceSize > +String SlicedEllpackSymmetricGraph< Real, Device, Index, SliceSize >::getTypeVirtual() const +{ + return this->getType(); } template< typename Real, diff --git a/src/TNL/Matrices/SlicedEllpackSymmetric_impl.h b/src/TNL/Matrices/SlicedEllpackSymmetric_impl.h index c403fd4c84f09a59883f14f2fc5c23e79c1c65cb..324cc74bc056efcd489e2ac2ba88ee2113ccea0d 100644 --- a/src/TNL/Matrices/SlicedEllpackSymmetric_impl.h +++ b/src/TNL/Matrices/SlicedEllpackSymmetric_impl.h @@ -24,6 +24,30 @@ template< typename Real, int SliceSize > SlicedEllpackSymmetric< Real, Device, Index, SliceSize >::SlicedEllpackSymmetric() { +}; + +template< typename Real, + typename Device, + typename Index, + int SliceSize > +String SlicedEllpackSymmetric< Real, Device, Index, SliceSize >::getType() +{ + return String( "Matrices::SlicedEllpackSymmetric< ") + + String( TNL::getType< Real >() ) + + String( ", " ) + + String( Device :: getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + + String( " >" ); +} + +template< typename Real, + typename Device, + typename Index, + int SliceSize > +String SlicedEllpackSymmetric< Real, Device, Index, SliceSize >::getTypeVirtual() const +{ + return this->getType(); } template< typename Real, diff --git a/src/TNL/Matrices/SlicedEllpack_impl.h b/src/TNL/Matrices/SlicedEllpack_impl.h index 45e8cdee77fbda670d2e3b23a3844ad0bb53d071..772360c8c0797304741849515f6c39d3c69c6af1 100644 --- a/src/TNL/Matrices/SlicedEllpack_impl.h +++ b/src/TNL/Matrices/SlicedEllpack_impl.h @@ -35,7 +35,9 @@ String SlicedEllpack< Real, Device, Index, SliceSize >::getSerializationType() return String( "Matrices::SlicedEllpack< ") + TNL::getType< Real >() + String( ", " ) + - getType< Device >() + + String( Device :: getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + String( " >" ); } diff --git a/src/TNL/Matrices/Tridiagonal_impl.h b/src/TNL/Matrices/Tridiagonal_impl.h index 62575f1776144e374b560a65e213248a1177de80..2752f6850320035dca48169c5e1ae2806aa47ff5 100644 --- a/src/TNL/Matrices/Tridiagonal_impl.h +++ b/src/TNL/Matrices/Tridiagonal_impl.h @@ -27,6 +27,28 @@ Tridiagonal< Real, Device, Index >::Tridiagonal() { } +template< typename Real, + typename Device, + typename Index > +String Tridiagonal< Real, Device, Index >::getType() +{ + return String( "Matrices::Tridiagonal< " ) + + String( TNL::getType< Real >() ) + + String( ", " ) + + String( Device :: getDeviceType() ) + + String( ", " ) + + String( TNL::getType< Index >() ) + + String( " >" ); +} + +template< typename Real, + typename Device, + typename Index > +String Tridiagonal< Real, Device, Index >::getTypeVirtual() const +{ + return this->getType(); +} + template< typename Real, typename Device, typename Index >