Loading src/TNL/Containers/DistributedVectorExpressions.h +0 −28 Original line number Diff line number Diff line Loading @@ -1059,32 +1059,4 @@ binaryAnd( const Containers::DistributedVector< Real, Device, Index, Communicato return result; } //// // TODO: Replace this with multiplication when its safe template< typename Real, typename Device, typename Index, typename Communicator, typename ET, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > auto Scale( const Containers::DistributedVector< Real, Device, Index, Communicator >& a, const ET& b ) { Containers::DistributedVector< Real, Device, Index, Communicator > result = Containers::Expressions::DistributedBinaryExpressionTemplate< Containers::DistributedVector< Real, Device, Index, Communicator >, ET, Containers::Expressions::Multiplication, Communicator >( a, b ); return result; } template< typename ET, typename Real, typename Device, typename Index, typename Communicator, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > auto Scale( const ET& a, const Containers::DistributedVector< Real, Device, Index, Communicator >& b ) { Containers::DistributedVector< Real, Device, Index, Communicator > result = Containers::Expressions::DistributedBinaryExpressionTemplate< ET, Containers::DistributedVector< Real, Device, Index, Communicator >, Containers::Expressions::Multiplication, Communicator >( a, b ); return result; } template< typename Real1, typename Real2, typename Device, typename Index, typename Communicator > auto Scale( const Containers::DistributedVector< Real1, Device, Index, Communicator >& a, const Containers::DistributedVector< Real2, Device, Index, Communicator >& b ) { Containers::DistributedVector< Real1, Device, Index, Communicator > result = Containers::Expressions::DistributedBinaryExpressionTemplate< Containers::DistributedVector< Real1, Device, Index, Communicator >, Containers::DistributedVector< Real2, Device, Index, Communicator >, Containers::Expressions::Multiplication, Communicator >( a, b ); return result; } } // namespace TNL src/TNL/Containers/DistributedVectorViewExpressions.h +0 −28 Original line number Diff line number Diff line Loading @@ -802,32 +802,4 @@ dot( const Containers::DistributedVectorView< Real1, Device, Index, Communicator return ( a, b ); } //// // TODO: Replace this with multiplication when its safe template< typename Real, typename Device, typename Index, typename Communicator, typename ET, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > auto Scale( const Containers::DistributedVectorView< Real, Device, Index, Communicator >& a, const ET& b ) { Containers::DistributedVectorView< Real, Device, Index, Communicator > result = Containers::Expressions::DistributedBinaryExpressionTemplate< Containers::DistributedVectorView< Real, Device, Index, Communicator >, ET, Containers::Expressions::Multiplication, Communicator >( a, b ); return result; } template< typename ET, typename Real, typename Device, typename Index, typename Communicator, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > auto Scale( const ET& a, const Containers::DistributedVectorView< Real, Device, Index, Communicator >& b ) { Containers::DistributedVectorView< Real, Device, Index, Communicator > result = Containers::Expressions::DistributedBinaryExpressionTemplate< ET, Containers::DistributedVectorView< Real, Device, Index, Communicator >, Containers::Expressions::Multiplication, Communicator >( a, b ); return result; } template< typename Real1, typename Real2, typename Device, typename Index, typename Communicator > auto Scale( const Containers::DistributedVectorView< Real1, Device, Index, Communicator >& a, const Containers::DistributedVectorView< Real2, Device, Index, Communicator >& b ) { Containers::DistributedVectorView< Real1, Device, Index, Communicator > result = Containers::Expressions::DistributedBinaryExpressionTemplate< Containers::DistributedVectorView< Real1, Device, Index, Communicator >, Containers::DistributedVectorView< Real2, Device, Index, Communicator >, Containers::Expressions::Multiplication, Communicator >( a, b ); return result; } } // namespace TNL src/TNL/Containers/StaticVectorExpressions.h +0 −31 Original line number Diff line number Diff line Loading @@ -694,35 +694,4 @@ dot( const Containers::StaticVector< Size, Real1 >& a, const Containers::StaticV return TNL::sum( a * b ); } //// // TODO: Replace this with multiplication when its safe template< int Size, typename Real, typename ET, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > __cuda_callable__ auto Scale( const Containers::StaticVector< Size, Real >& a, const ET& b ) { Containers::StaticVector< Size, Real > result = Containers::Expressions::StaticBinaryExpressionTemplate< Containers::StaticVector< Size, Real >, ET, Containers::Expressions::Multiplication >( a, b ); return result; } template< typename ET, int Size, typename Real, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > __cuda_callable__ auto Scale( const ET& a, const Containers::StaticVector< Size, Real >& b ) { Containers::StaticVector< Size, Real > result = Containers::Expressions::StaticBinaryExpressionTemplate< ET, Containers::StaticVector< Size, Real >, Containers::Expressions::Multiplication >( a, b ); return result; } template< int Size, typename Real1, typename Real2 > __cuda_callable__ auto Scale( const Containers::StaticVector< Size, Real1 >& a, const Containers::StaticVector< Size, Real2 >& b ) { Containers::StaticVector< Size, Real1 > result = Containers::Expressions::StaticBinaryExpressionTemplate< Containers::StaticVector< Size, Real1 >, Containers::StaticVector< Size, Real2 >, Containers::Expressions::Multiplication >( a, b ); return result; } } // namespace TNL src/TNL/Containers/VectorExpressions.h +0 −28 Original line number Diff line number Diff line Loading @@ -985,32 +985,4 @@ binaryAnd( const Containers::Vector< Real, Device, Index, Allocator >& a ) return Containers::Expressions::ExpressionBinaryAnd( a.getConstView() ); } //// // TODO: Replace this with multiplication when its safe template< typename Real, typename Device, typename Index, typename Allocator, typename ET, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > Containers::VectorView< Real, Device, Index > Scale( const Containers::Vector< Real, Device, Index, Allocator >& a, const ET& b ) { Containers::VectorView< Real, Device, Index > result = Containers::Expressions::BinaryExpressionTemplate< typename Containers::Vector< Real, Device, Index, Allocator >::ConstViewType, ET, Containers::Expressions::Multiplication >( a.getConstView(), b ); return result; } template< typename ET, typename Real, typename Device, typename Index, typename Allocator, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > Containers::Expressions::BinaryExpressionTemplate< ET, typename Containers::Vector< Real, Device, Index, Allocator >::ConstViewType, Containers::Expressions::Multiplication > Scale( const ET& a, const Containers::Vector< Real, Device, Index, Allocator >& b ) { Containers::VectorView< Real, Device, Index > result = Containers::Expressions::BinaryExpressionTemplate< ET, typename Containers::Vector< Real, Device, Index, Allocator >::ConstViewType, Containers::Expressions::Multiplication >( a, b.getConstView() ); return result; } template< typename Real1, typename Real2, typename Device, typename Index, typename Allocator > Containers::Expressions::BinaryExpressionTemplate< typename Containers::Vector< Real1, Device, Index, Allocator >::ConstViewType, typename Containers::Vector< Real2, Device, Index, Allocator >::ConstViewType, Containers::Expressions::Multiplication > Scale( const Containers::Vector< Real1, Device, Index, Allocator >& a, const Containers::Vector< Real2, Device, Index, Allocator >& b ) { Containers::VectorView< Real1, Device, Index > result = Containers::Expressions::BinaryExpressionTemplate< typename Containers::Vector< Real1, Device, Index, Allocator >::ConstViewType, typename Containers::Vector< Real2, Device, Index, Allocator >::ConstViewType, Containers::Expressions::Multiplication >( a.getConstView(), b.getConstView() ); return result; } } // namespace TNL src/TNL/Containers/VectorViewExpressions.h +0 −28 Original line number Diff line number Diff line Loading @@ -670,32 +670,4 @@ dot( const Containers::VectorView< Real1, Device, Index1 >& a, const Containers: return TNL::sum( a * b ); } //// // TODO: Replace this with multiplication when its safe template< typename Real, typename Device, typename Index, typename ET, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > Containers::VectorView< Real, Device, Index > Scale( const Containers::VectorView< Real, Device, Index >& a, const ET& b ) { Containers::VectorView< Real, Device, Index > result = Containers::Expressions::BinaryExpressionTemplate< Containers::VectorView< Real, Device, Index >, ET, Containers::Expressions::Multiplication >( a, b ); return result; } template< typename ET, typename Real, typename Device, typename Index, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > Containers::Expressions::BinaryExpressionTemplate< ET, Containers::VectorView< Real, Device, Index >, Containers::Expressions::Multiplication > Scale( const ET& a, const Containers::VectorView< Real, Device, Index >& b ) { Containers::VectorView< Real, Device, Index > result = Containers::Expressions::BinaryExpressionTemplate< ET, Containers::VectorView< Real, Device, Index >, Containers::Expressions::Multiplication >( a, b ); return result; } template< typename Real1, typename Real2, typename Device, typename Index > Containers::Expressions::BinaryExpressionTemplate< Containers::VectorView< Real1, Device, Index >, Containers::VectorView< Real2, Device, Index >, Containers::Expressions::Multiplication > Scale( const Containers::VectorView< Real1, Device, Index >& a, const Containers::VectorView< Real2, Device, Index >& b ) { Containers::VectorView< Real1, Device, Index > result = Containers::Expressions::BinaryExpressionTemplate< Containers::VectorView< Real1, Device, Index >, Containers::VectorView< Real2, Device, Index >, Containers::Expressions::Multiplication >( a, b ); return result; } } // namespace TNL Loading
src/TNL/Containers/DistributedVectorExpressions.h +0 −28 Original line number Diff line number Diff line Loading @@ -1059,32 +1059,4 @@ binaryAnd( const Containers::DistributedVector< Real, Device, Index, Communicato return result; } //// // TODO: Replace this with multiplication when its safe template< typename Real, typename Device, typename Index, typename Communicator, typename ET, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > auto Scale( const Containers::DistributedVector< Real, Device, Index, Communicator >& a, const ET& b ) { Containers::DistributedVector< Real, Device, Index, Communicator > result = Containers::Expressions::DistributedBinaryExpressionTemplate< Containers::DistributedVector< Real, Device, Index, Communicator >, ET, Containers::Expressions::Multiplication, Communicator >( a, b ); return result; } template< typename ET, typename Real, typename Device, typename Index, typename Communicator, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > auto Scale( const ET& a, const Containers::DistributedVector< Real, Device, Index, Communicator >& b ) { Containers::DistributedVector< Real, Device, Index, Communicator > result = Containers::Expressions::DistributedBinaryExpressionTemplate< ET, Containers::DistributedVector< Real, Device, Index, Communicator >, Containers::Expressions::Multiplication, Communicator >( a, b ); return result; } template< typename Real1, typename Real2, typename Device, typename Index, typename Communicator > auto Scale( const Containers::DistributedVector< Real1, Device, Index, Communicator >& a, const Containers::DistributedVector< Real2, Device, Index, Communicator >& b ) { Containers::DistributedVector< Real1, Device, Index, Communicator > result = Containers::Expressions::DistributedBinaryExpressionTemplate< Containers::DistributedVector< Real1, Device, Index, Communicator >, Containers::DistributedVector< Real2, Device, Index, Communicator >, Containers::Expressions::Multiplication, Communicator >( a, b ); return result; } } // namespace TNL
src/TNL/Containers/DistributedVectorViewExpressions.h +0 −28 Original line number Diff line number Diff line Loading @@ -802,32 +802,4 @@ dot( const Containers::DistributedVectorView< Real1, Device, Index, Communicator return ( a, b ); } //// // TODO: Replace this with multiplication when its safe template< typename Real, typename Device, typename Index, typename Communicator, typename ET, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > auto Scale( const Containers::DistributedVectorView< Real, Device, Index, Communicator >& a, const ET& b ) { Containers::DistributedVectorView< Real, Device, Index, Communicator > result = Containers::Expressions::DistributedBinaryExpressionTemplate< Containers::DistributedVectorView< Real, Device, Index, Communicator >, ET, Containers::Expressions::Multiplication, Communicator >( a, b ); return result; } template< typename ET, typename Real, typename Device, typename Index, typename Communicator, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > auto Scale( const ET& a, const Containers::DistributedVectorView< Real, Device, Index, Communicator >& b ) { Containers::DistributedVectorView< Real, Device, Index, Communicator > result = Containers::Expressions::DistributedBinaryExpressionTemplate< ET, Containers::DistributedVectorView< Real, Device, Index, Communicator >, Containers::Expressions::Multiplication, Communicator >( a, b ); return result; } template< typename Real1, typename Real2, typename Device, typename Index, typename Communicator > auto Scale( const Containers::DistributedVectorView< Real1, Device, Index, Communicator >& a, const Containers::DistributedVectorView< Real2, Device, Index, Communicator >& b ) { Containers::DistributedVectorView< Real1, Device, Index, Communicator > result = Containers::Expressions::DistributedBinaryExpressionTemplate< Containers::DistributedVectorView< Real1, Device, Index, Communicator >, Containers::DistributedVectorView< Real2, Device, Index, Communicator >, Containers::Expressions::Multiplication, Communicator >( a, b ); return result; } } // namespace TNL
src/TNL/Containers/StaticVectorExpressions.h +0 −31 Original line number Diff line number Diff line Loading @@ -694,35 +694,4 @@ dot( const Containers::StaticVector< Size, Real1 >& a, const Containers::StaticV return TNL::sum( a * b ); } //// // TODO: Replace this with multiplication when its safe template< int Size, typename Real, typename ET, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > __cuda_callable__ auto Scale( const Containers::StaticVector< Size, Real >& a, const ET& b ) { Containers::StaticVector< Size, Real > result = Containers::Expressions::StaticBinaryExpressionTemplate< Containers::StaticVector< Size, Real >, ET, Containers::Expressions::Multiplication >( a, b ); return result; } template< typename ET, int Size, typename Real, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > __cuda_callable__ auto Scale( const ET& a, const Containers::StaticVector< Size, Real >& b ) { Containers::StaticVector< Size, Real > result = Containers::Expressions::StaticBinaryExpressionTemplate< ET, Containers::StaticVector< Size, Real >, Containers::Expressions::Multiplication >( a, b ); return result; } template< int Size, typename Real1, typename Real2 > __cuda_callable__ auto Scale( const Containers::StaticVector< Size, Real1 >& a, const Containers::StaticVector< Size, Real2 >& b ) { Containers::StaticVector< Size, Real1 > result = Containers::Expressions::StaticBinaryExpressionTemplate< Containers::StaticVector< Size, Real1 >, Containers::StaticVector< Size, Real2 >, Containers::Expressions::Multiplication >( a, b ); return result; } } // namespace TNL
src/TNL/Containers/VectorExpressions.h +0 −28 Original line number Diff line number Diff line Loading @@ -985,32 +985,4 @@ binaryAnd( const Containers::Vector< Real, Device, Index, Allocator >& a ) return Containers::Expressions::ExpressionBinaryAnd( a.getConstView() ); } //// // TODO: Replace this with multiplication when its safe template< typename Real, typename Device, typename Index, typename Allocator, typename ET, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > Containers::VectorView< Real, Device, Index > Scale( const Containers::Vector< Real, Device, Index, Allocator >& a, const ET& b ) { Containers::VectorView< Real, Device, Index > result = Containers::Expressions::BinaryExpressionTemplate< typename Containers::Vector< Real, Device, Index, Allocator >::ConstViewType, ET, Containers::Expressions::Multiplication >( a.getConstView(), b ); return result; } template< typename ET, typename Real, typename Device, typename Index, typename Allocator, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > Containers::Expressions::BinaryExpressionTemplate< ET, typename Containers::Vector< Real, Device, Index, Allocator >::ConstViewType, Containers::Expressions::Multiplication > Scale( const ET& a, const Containers::Vector< Real, Device, Index, Allocator >& b ) { Containers::VectorView< Real, Device, Index > result = Containers::Expressions::BinaryExpressionTemplate< ET, typename Containers::Vector< Real, Device, Index, Allocator >::ConstViewType, Containers::Expressions::Multiplication >( a, b.getConstView() ); return result; } template< typename Real1, typename Real2, typename Device, typename Index, typename Allocator > Containers::Expressions::BinaryExpressionTemplate< typename Containers::Vector< Real1, Device, Index, Allocator >::ConstViewType, typename Containers::Vector< Real2, Device, Index, Allocator >::ConstViewType, Containers::Expressions::Multiplication > Scale( const Containers::Vector< Real1, Device, Index, Allocator >& a, const Containers::Vector< Real2, Device, Index, Allocator >& b ) { Containers::VectorView< Real1, Device, Index > result = Containers::Expressions::BinaryExpressionTemplate< typename Containers::Vector< Real1, Device, Index, Allocator >::ConstViewType, typename Containers::Vector< Real2, Device, Index, Allocator >::ConstViewType, Containers::Expressions::Multiplication >( a.getConstView(), b.getConstView() ); return result; } } // namespace TNL
src/TNL/Containers/VectorViewExpressions.h +0 −28 Original line number Diff line number Diff line Loading @@ -670,32 +670,4 @@ dot( const Containers::VectorView< Real1, Device, Index1 >& a, const Containers: return TNL::sum( a * b ); } //// // TODO: Replace this with multiplication when its safe template< typename Real, typename Device, typename Index, typename ET, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > Containers::VectorView< Real, Device, Index > Scale( const Containers::VectorView< Real, Device, Index >& a, const ET& b ) { Containers::VectorView< Real, Device, Index > result = Containers::Expressions::BinaryExpressionTemplate< Containers::VectorView< Real, Device, Index >, ET, Containers::Expressions::Multiplication >( a, b ); return result; } template< typename ET, typename Real, typename Device, typename Index, typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > > Containers::Expressions::BinaryExpressionTemplate< ET, Containers::VectorView< Real, Device, Index >, Containers::Expressions::Multiplication > Scale( const ET& a, const Containers::VectorView< Real, Device, Index >& b ) { Containers::VectorView< Real, Device, Index > result = Containers::Expressions::BinaryExpressionTemplate< ET, Containers::VectorView< Real, Device, Index >, Containers::Expressions::Multiplication >( a, b ); return result; } template< typename Real1, typename Real2, typename Device, typename Index > Containers::Expressions::BinaryExpressionTemplate< Containers::VectorView< Real1, Device, Index >, Containers::VectorView< Real2, Device, Index >, Containers::Expressions::Multiplication > Scale( const Containers::VectorView< Real1, Device, Index >& a, const Containers::VectorView< Real2, Device, Index >& b ) { Containers::VectorView< Real1, Device, Index > result = Containers::Expressions::BinaryExpressionTemplate< Containers::VectorView< Real1, Device, Index >, Containers::VectorView< Real2, Device, Index >, Containers::Expressions::Multiplication >( a, b ); return result; } } // namespace TNL