LCOV - code coverage report
Current view: top level - Src/SSE42 - InaVecSSE42Double.hpp (source / functions) Hit Total Coverage
Test: Coverage inastemp Lines: 4 4 100.0 %
Date: 2022-03-17 09:48:28 Functions: 0 0 -

          Line data    Source code
       1             : ///////////////////////////////////////////////////////////////////////////
       2             : // Inastemp - Berenger Bramas MPCDF - 2016
       3             : // Under MIT Licence, please you must read the LICENCE file.
       4             : ///////////////////////////////////////////////////////////////////////////
       5             : #ifndef INAVECSSE42DOUBLE_HPP
       6             : #define INAVECSSE42DOUBLE_HPP
       7             : 
       8             : #include "InastempGlobal.h"
       9             : #include "SSE41/InaVecSSE41Double.hpp"
      10             : 
      11             : #ifndef INASTEMP_USE_SSE42
      12             : #error InaVecSSE42<double> is included but SSE42 is not enable in the configuration
      13             : #endif
      14             : 
      15             : #include <tmmintrin.h>
      16             : #include <emmintrin.h>
      17             : 
      18             : template <class RealType>
      19             : class InaVecSSE42;
      20             : 
      21             : template <>
      22             : class alignas(16) InaVecSSE42<double> : public InaVecSSE41<double> {
      23             :     using Parent = InaVecSSE41<double>;
      24             : 
      25             : public:
      26             :     using Parent::GetVecLength;
      27             : 
      28        4153 :     using InaVecSSE41<double>::InaVecSSE41;
      29             : 
      30          72 :     inline InaVecSSE42(){}
      31             : 
      32             :     inline InaVecSSE42(const InaVecSSE41<double>& other)
      33          28 :         : Parent(other){}
      34             : 
      35             :     inline static const char* GetName(){
      36             :         return "InaVecSSE42<double>";
      37             :     }
      38             : 
      39             :     inline static InaIfElse< InaVecSSE42<double> >::ThenClass If(const typename Parent::MaskType& inTest) {
      40          30 :         return InaIfElse< InaVecSSE42<double> >::IfClass().If(inTest);
      41             :     }
      42             : };
      43             : 
      44             : #endif

Generated by: LCOV version 1.13