Commit bf7d8012 authored by Tomáš Oberhuber's avatar Tomáš Oberhuber Committed by Jakub Klinkovský
Browse files

Added operator /= to the StaticVector

parent 2f510c6f
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -58,6 +58,10 @@ class StaticVector : public StaticArray< Size, Real >
   __cuda_callable__
   StaticVector& operator *= ( const Real& c );
   
   //! Division by number
   __cuda_callable__
   StaticVector& operator /= ( const Real& c );
   
   //! Addition operator
   __cuda_callable__
   StaticVector operator + ( const StaticVector& u ) const;
@@ -156,6 +160,10 @@ class StaticVector< 1, Real > : public StaticArray< 1, Real >
   __cuda_callable__
   StaticVector& operator *= ( const Real& c );
   
   //! Division by number
   __cuda_callable__
   StaticVector& operator /= ( const Real& c );   

   //! Addition operator
   __cuda_callable__
   StaticVector operator + ( const StaticVector& u ) const;
@@ -257,6 +265,10 @@ class StaticVector< 2, Real > : public StaticArray< 2, Real >
   __cuda_callable__
   StaticVector& operator *= ( const Real& c );

   //! Division by number
   __cuda_callable__
   StaticVector& operator /= ( const Real& c );   

   //! Adding operator
   __cuda_callable__
   StaticVector operator + ( const StaticVector& u ) const;
@@ -358,6 +370,11 @@ class StaticVector< 3, Real > : public StaticArray< 3, Real >
   __cuda_callable__
   StaticVector& operator *= ( const Real& c );
   
   //! Division by number
   __cuda_callable__
   StaticVector& operator /= ( const Real& c );
   

   //! Addition operator
   __cuda_callable__
   StaticVector operator + ( const StaticVector& u ) const;
+8 −0
Original line number Diff line number Diff line
@@ -86,6 +86,14 @@ StaticVector< 1, Real >& StaticVector< 1, Real >::operator *= ( const Real& c )
   return *this;
}

template< typename Real >
__cuda_callable__
StaticVector< 1, Real >& StaticVector< 1, Real >::operator /= ( const Real& c )
{
   this->data[ 0 ] /= c;
   return *this;
}

template< typename Real >
__cuda_callable__
StaticVector< 1, Real > StaticVector< 1, Real >::operator + ( const StaticVector& u ) const
+10 −0
Original line number Diff line number Diff line
@@ -97,6 +97,16 @@ StaticVector< 2, Real >& StaticVector< 2, Real >::operator *= ( const Real& c )
   return *this;
}

template< typename Real >
__cuda_callable__
StaticVector< 2, Real >& StaticVector< 2, Real >::operator /= ( const Real& c )
{
   const RealType d = 1.0 /c;
   this->data[ 0 ] *= d;
   this->data[ 1 ] *= d;
   return *this;
}

template< typename Real >
__cuda_callable__
StaticVector< 2, Real > StaticVector< 2, Real >::operator + ( const StaticVector& u ) const
+11 −0
Original line number Diff line number Diff line
@@ -101,6 +101,17 @@ StaticVector< 3, Real >& StaticVector< 3, Real >::operator *= ( const Real& c )
   return *this;
}

template< typename Real >
__cuda_callable__
StaticVector< 3, Real >& StaticVector< 3, Real >::operator /= ( const Real& c )
{
   const RealType d = 1.0 / c;
   this->data[ 0 ] *= d;
   this->data[ 1 ] *= d;
   this->data[ 2 ] *= d;
   return *this;
}

template< typename Real >
__cuda_callable__
StaticVector< 3, Real > StaticVector< 3, Real >::operator + ( const StaticVector& u ) const
+10 −0
Original line number Diff line number Diff line
@@ -91,6 +91,16 @@ StaticVector< Size, Real >& StaticVector< Size, Real >::operator *= ( const Real
   return *this;
}

template< int Size, typename Real >
__cuda_callable__
StaticVector< Size, Real >& StaticVector< Size, Real >::operator /= ( const Real& c )
{
   const RealType d = 1.0 / c;
   for( int i = 0; i < Size; i++ )
      this->data[ i ] *= d;
   return *this;
}

template< int Size, typename Real >
__cuda_callable__
StaticVector< Size, Real > StaticVector< Size, Real >::operator + ( const StaticVector& u ) const