Commit 2502ab31 authored by Tomáš Oberhuber's avatar Tomáš Oberhuber
Browse files

Binary expression templates are working.

parent 34680051
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -73,6 +73,8 @@ class StaticArray
   __cuda_callable__
   inline StaticArray( const StaticArray< Size, Value >& v );

   inline StaticArray( const std::initializer_list< Value > &elems );

   /**
    * \brief Gets type of this array.
    */
@@ -214,6 +216,8 @@ class StaticArray< 1, Value >
   __cuda_callable__
   inline StaticArray( const StaticArray< size, Value >& v );

   inline StaticArray( const std::initializer_list< Value > &elems );

   /** \brief See StaticArray::getType().*/
   static String getType();

@@ -330,6 +334,8 @@ class StaticArray< 2, Value >
   __cuda_callable__
   inline StaticArray( const StaticArray< size, Value >& v );

   inline StaticArray( const std::initializer_list< Value > &elems );

   /** \brief See StaticArray::getType().*/
   static String getType();

@@ -454,6 +460,8 @@ class StaticArray< 3, Value >
   __cuda_callable__
   inline StaticArray( const StaticArray< size, Value >& v );

   StaticArray( const std::initializer_list< Value > &elems );

   /** \brief See StaticArray::getType().*/
   static String getType();

+8 −0
Original line number Diff line number Diff line
@@ -51,6 +51,14 @@ inline StaticArray< 1, Value >::StaticArray( const StaticArray< size, Value >& v
   data[ 0 ] = v[ 0 ];
}

template< typename Value >
StaticArray< 1, Value >::StaticArray( const std::initializer_list< Value > &elems)
{
   auto it = elems.begin();
   for( int i = 0; i < getSize(); i++ )
      data[ i ] = *it++;
}

template< typename Value >
String StaticArray< 1, Value >::getType()
{
+8 −0
Original line number Diff line number Diff line
@@ -63,6 +63,14 @@ inline StaticArray< 2, Value >::StaticArray( const StaticArray< size, Value >& v
   data[ 1 ] = v[ 1 ];
}

template< typename Value >
StaticArray< 2, Value >::StaticArray( const std::initializer_list< Value > &elems)
{
   auto it = elems.begin();
   for( int i = 0; i < getSize(); i++ )
      data[ i ] = *it++;
}

template< typename Value >
String StaticArray< 2, Value >::getType()
{
+8 −0
Original line number Diff line number Diff line
@@ -67,6 +67,14 @@ inline StaticArray< 3, Value >::StaticArray( const StaticArray< size, Value >& v
   data[ 2 ] = v[ 2 ];
}

template< typename Value >
StaticArray< 3, Value >::StaticArray( const std::initializer_list< Value > &elems)
{
   auto it = elems.begin();
   for( int i = 0; i < getSize(); i++ )
      data[ i ] = *it++;
}

template< typename Value >
String StaticArray< 3, Value >::getType()
{
+8 −0
Original line number Diff line number Diff line
@@ -55,6 +55,14 @@ inline StaticArray< Size, Value >::StaticArray( const StaticArray< Size, Value >
      data[ i ] = v[ i ];
}

template< int Size, typename Value >
StaticArray< Size, Value >::StaticArray( const std::initializer_list< Value > &elems)
{
   auto it = elems.begin();
   for( int i = 0; i < getSize(); i++ )
      data[ i ] = *it++;
}

template< int Size, typename Value >
String StaticArray< Size, Value >::getType()
{
Loading