LCOV - code coverage report
Current view: top level - Src/SSSE3 - InaVecSSSE3Float.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 INAVECSSSE3FLOAT_HPP
       6             : #define INAVECSSSE3FLOAT_HPP
       7             : 
       8             : #include "InastempGlobal.h"
       9             : #include "SSE3/InaVecSSE3Float.hpp"
      10             : 
      11             : #ifndef INASTEMP_USE_SSSE3
      12             : #error InaVecSSSE3<float> is included but SSSE3 is not enable in the configuration
      13             : #endif
      14             : 
      15             : #include <tmmintrin.h>
      16             : #include <emmintrin.h>
      17             : 
      18             : // Forward declarations
      19             : template <class RealType>
      20             : class InaVecSSSE3;
      21             : 
      22             : // SSSE3 add _mm_sign_epi32/_mm_abs_epi32 but not useful here
      23             : template <>
      24             : class alignas(16) InaVecSSSE3<float> : public InaVecSSE3<float> {
      25             :     using Parent = InaVecSSE3<float>;
      26             : 
      27             : public:
      28             :     using Parent::GetVecLength;
      29             : 
      30       18326 :     using InaVecSSE3<float>::InaVecSSE3;
      31             : 
      32         369 :     inline InaVecSSSE3(){}
      33             : 
      34             :     inline InaVecSSSE3(const InaVecSSE3<float>& other)
      35        1589 :         : Parent(other){}
      36             : 
      37             :     inline static const char* GetName(){
      38             :         return "InaVecSSSE3<float>";
      39             :     }
      40             : 
      41             :     inline static InaIfElse< InaVecSSSE3<float> >::ThenClass If(const typename Parent::MaskType& inTest) {
      42          30 :         return InaIfElse< InaVecSSSE3<float> >::IfClass().If(inTest);
      43             :     }
      44             : };
      45             : 
      46             : #endif

Generated by: LCOV version 1.13