35 #ifndef _BLAZE_MATH_PROXY_PROXY_H_ 36 #define _BLAZE_MATH_PROXY_PROXY_H_ 136 template<
typename PT
137 ,
typename RT =
int >
139 :
public If_< IsVector<RT>
140 , If_< IsDenseVector<RT>
141 , DenseVectorProxy<PT,RT>
142 , SparseVectorProxy<PT,RT> >
144 , If_< IsDenseMatrix<RT>
145 , DenseMatrixProxy<PT,RT>
146 , SparseMatrixProxy<PT,RT> >
148 , ComplexProxy<PT,RT>
149 , DefaultProxy<PT,RT> > > >
165 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
166 inline decltype(
auto) operator+( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
168 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
169 inline decltype(auto) operator+( const Proxy<PT,RT>& lhs, const T& rhs );
171 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
172 inline decltype(auto) operator+( const T& lhs, const Proxy<PT,RT>& rhs );
174 template< typename PT1, typename RT1, typename PT2, typename RT2 >
175 inline decltype(auto) operator-( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
177 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
178 inline decltype(auto) operator-( const Proxy<PT,RT>& lhs, const T& rhs );
180 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
181 inline decltype(auto) operator-( const T& lhs, const Proxy<PT,RT>& rhs );
183 template< typename PT1, typename RT1, typename PT2, typename RT2 >
184 inline decltype(auto) operator*( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
186 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
187 inline decltype(auto) operator*( const Proxy<PT,RT>& lhs, const T& rhs );
189 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
190 inline decltype(auto) operator*( const T& lhs, const Proxy<PT,RT>& rhs );
192 template< typename PT1, typename RT1, typename PT2, typename RT2 >
193 inline decltype(auto) operator/( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
195 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
196 inline decltype(auto) operator/( const Proxy<PT,RT>& lhs, const T& rhs );
198 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
199 inline decltype(auto) operator/( const T& lhs, const Proxy<PT,RT>& rhs );
201 template< typename PT1, typename RT1, typename PT2, typename RT2 >
202 inline
bool operator==( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
204 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
205 inline
bool operator==( const Proxy<PT,RT>& lhs, const T& rhs );
207 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
208 inline
bool operator==( const T& lhs, const Proxy<PT,RT>& rhs );
210 template< typename PT1, typename RT1, typename PT2, typename RT2 >
211 inline
bool operator!=( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
213 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
214 inline
bool operator!=( const Proxy<PT,RT>& lhs, const T& rhs );
216 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
217 inline
bool operator!=( const T& lhs, const Proxy<PT,RT>& rhs );
219 template< typename PT1, typename RT1, typename PT2, typename RT2 >
220 inline
bool operator<( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
222 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
223 inline
bool operator<( const Proxy<PT,RT>& lhs, const T& rhs );
225 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
226 inline
bool operator<( const T& lhs, const Proxy<PT,RT>& rhs );
228 template< typename PT1, typename RT1, typename PT2, typename RT2 >
229 inline
bool operator>( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
231 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
232 inline
bool operator>( const Proxy<PT,RT>& lhs, const T& rhs );
234 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
235 inline
bool operator>( const T& lhs, const Proxy<PT,RT>& rhs );
237 template< typename PT1, typename RT1, typename PT2, typename RT2 >
238 inline
bool operator<=( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
240 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
241 inline
bool operator<=( const Proxy<PT,RT>& lhs, const T& rhs );
243 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
244 inline
bool operator<=( const T& lhs, const Proxy<PT,RT>& rhs );
246 template< typename PT1, typename RT1, typename PT2, typename RT2 >
247 inline
bool operator>=( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
249 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
250 inline
bool operator>=( const Proxy<PT,RT>& lhs, const T& rhs );
252 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
253 inline
bool operator>=( const T& lhs, const Proxy<PT,RT>& rhs );
255 template< typename PT, typename RT >
256 inline
std::ostream& operator<<(
std::ostream& os, const Proxy<PT,RT>& proxy );
269 template< typename PT1, typename RT1, typename PT2, typename RT2 >
270 inline decltype(auto) operator+( const
Proxy<PT1,RT1>& lhs, const
Proxy<PT2,RT2>& rhs )
272 return (~lhs).get() + (~rhs).
get();
285 template<
typename PT,
typename RT,
typename T,
typename >
286 inline decltype(
auto) operator+( const
Proxy<PT,RT>& lhs, const T& rhs )
288 return (~lhs).get() + rhs;
301 template<
typename T,
typename PT,
typename RT,
typename >
302 inline decltype(
auto) operator+( const T& lhs, const
Proxy<PT,RT>& rhs )
304 return lhs + (~rhs).
get();
317 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
318 inline decltype(
auto) operator-( const
Proxy<PT1,RT1>& lhs, const
Proxy<PT2,RT2>& rhs )
320 return (~lhs).get() - (~rhs).
get();
333 template<
typename PT,
typename RT,
typename T,
typename >
334 inline decltype(
auto) operator-( const
Proxy<PT,RT>& lhs, const T& rhs )
336 return (~lhs).get() - rhs;
349 template<
typename T,
typename PT,
typename RT,
typename >
350 inline decltype(
auto) operator-( const T& lhs, const
Proxy<PT,RT>& rhs )
352 return lhs - (~rhs).
get();
365 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
366 inline decltype(
auto) operator*( const
Proxy<PT1,RT1>& lhs, const
Proxy<PT2,RT2>& rhs )
368 return (~lhs).get() * (~rhs).
get();
381 template<
typename PT,
typename RT,
typename T,
typename >
382 inline decltype(
auto) operator*( const
Proxy<PT,RT>& lhs, const T& rhs )
384 return (~lhs).get() * rhs;
397 template<
typename T,
typename PT,
typename RT,
typename >
398 inline decltype(
auto) operator*( const T& lhs, const
Proxy<PT,RT>& rhs )
400 return lhs * (~rhs).
get();
413 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
414 inline decltype(
auto) operator/( const
Proxy<PT1,RT1>& lhs, const
Proxy<PT2,RT2>& rhs )
416 return (~lhs).get() / (~rhs).
get();
429 template<
typename PT,
typename RT,
typename T,
typename >
430 inline decltype(
auto) operator/( const
Proxy<PT,RT>& lhs, const T& rhs )
432 return (~lhs).get() / rhs;
445 template<
typename T,
typename PT,
typename RT,
typename >
446 inline decltype(
auto) operator/( const T& lhs, const
Proxy<PT,RT>& rhs )
448 return lhs / (~rhs).
get();
461 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
464 return ( (~lhs).
get() == (~rhs).
get() );
477 template<
typename PT,
typename RT,
typename T,
typename >
480 return ( (~lhs).
get() == rhs );
493 template<
typename T,
typename PT,
typename RT,
typename >
496 return ( lhs == (~rhs).
get() );
509 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
512 return ( (~lhs).
get() != (~rhs).
get() );
525 template<
typename PT,
typename RT,
typename T,
typename >
528 return ( (~lhs).
get() != rhs );
541 template<
typename T,
typename PT,
typename RT,
typename >
544 return ( lhs != (~rhs).
get() );
557 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
560 return ( (~lhs).get() < (~rhs).
get() );
573 template<
typename PT,
typename RT,
typename T,
typename >
574 inline bool operator<( const Proxy<PT,RT>& lhs,
const T& rhs )
576 return ( (~lhs).get() < rhs );
589 template<
typename T,
typename PT,
typename RT,
typename >
590 inline bool operator<( const T& lhs, const Proxy<PT,RT>& rhs )
592 return ( lhs < rhs.get() );
605 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
608 return ( (~lhs).
get() > (~rhs).
get() );
621 template<
typename PT,
typename RT,
typename T,
typename >
624 return ( (~lhs).
get() > rhs );
637 template<
typename T,
typename PT,
typename RT,
typename >
640 return ( lhs > (~rhs).
get() );
653 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
656 return ( (~lhs).get() <= (~rhs).
get() );
669 template<
typename PT,
typename RT,
typename T,
typename >
670 inline bool operator<=( const Proxy<PT,RT>& lhs,
const T& rhs )
672 return ( (~lhs).get() <= rhs );
685 template<
typename T,
typename PT,
typename RT,
typename >
686 inline bool operator<=( const T& lhs, const Proxy<PT,RT>& rhs )
688 return ( lhs <= (~rhs).get() );
701 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
704 return ( (~lhs).
get() >= (~rhs).
get() );
717 template<
typename PT,
typename RT,
typename T,
typename >
720 return ( (~lhs).
get() >= rhs );
733 template<
typename T,
typename PT,
typename RT,
typename >
736 return ( lhs >= (~rhs).
get() );
749 template<
typename PT,
typename RT >
750 inline std::ostream& operator<<( std::ostream& os, const Proxy<PT,RT>& proxy )
752 return os << (~proxy).
get();
768 template<
typename PT,
typename RT >
771 template<
typename PT,
typename RT >
774 template<
typename PT,
typename RT >
777 template<
typename PT,
typename RT >
780 template<
typename PT,
typename RT >
783 template<
typename PT,
typename RT >
786 template<
typename PT,
typename RT >
789 template<
typename PT,
typename RT >
792 template<
typename PT,
typename RT >
795 template<
typename PT,
typename RT >
798 template<
typename PT,
typename RT >
801 template<
typename PT,
typename RT >
804 template<
typename PT,
typename RT,
typename ET >
807 template<
typename PT,
typename RT >
810 template<
typename PT,
typename RT >
813 template<
typename PT,
typename RT >
816 template<
typename PT,
typename RT >
819 template<
typename PT,
typename RT >
822 template<
typename PT,
typename RT >
825 template<
typename PT,
typename RT >
828 template<
typename PT,
typename RT >
831 template<
typename PT,
typename RT >
834 template<
typename PT,
typename RT >
837 template<
typename PT,
typename RT >
840 template<
typename PT,
typename RT >
843 template<
typename PT,
typename RT >
846 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
849 template<
typename PT,
typename RT,
typename T,
typename = DisableIf_< IsProxy<T> > >
852 template<
typename T,
typename PT,
typename RT,
typename = DisableIf_< IsProxy<T> > >
855 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
858 template<
typename PT,
typename RT,
typename T,
typename = DisableIf_< IsProxy<T> > >
861 template<
typename T,
typename PT,
typename RT,
typename = DisableIf_< IsProxy<T> > >
864 template<
typename PT,
typename RT >
867 template<
typename PT,
typename RT >
870 template<
typename PT,
typename RT >
873 template< InversionFlag IF,
typename PT,
typename RT >
876 template<
bool RF,
typename PT,
typename RT >
879 template<
bool RF,
typename PT,
typename RT >
882 template<
bool RF,
typename PT,
typename RT >
885 template<
typename PT,
typename RT >
901 template<
typename PT,
typename RT >
906 return trans( (~proxy).
get() );
921 template<
typename PT,
typename RT >
926 return ctrans( (~proxy).
get() );
942 template<
typename PT,
typename RT >
943 inline decltype(
auto)
abs( const
Proxy<PT,RT>& proxy )
947 return abs( (~proxy).
get() );
963 template<
typename PT,
typename RT >
968 return conj( (~proxy).
get() );
984 template<
typename PT,
typename RT >
989 return real( (~proxy).
get() );
1005 template<
typename PT,
typename RT >
1010 return imag( (~proxy).
get() );
1026 template<
typename PT,
typename RT >
1031 return sqrt( (~proxy).
get() );
1047 template<
typename PT,
typename RT >
1052 return invsqrt( (~proxy).
get() );
1068 template<
typename PT,
typename RT >
1073 return cbrt( (~proxy).
get() );
1089 template<
typename PT,
typename RT >
1094 return invcbrt( (~proxy).
get() );
1110 template<
typename PT,
typename RT >
1115 return floor( (~proxy).
get() );
1131 template<
typename PT,
typename RT >
1136 return ceil( (~proxy).
get() );
1153 template<
typename PT,
typename RT,
typename ET >
1154 inline decltype(
auto)
pow( const
Proxy<PT,RT>& proxy, const ET& exp )
1158 return pow( (~proxy).
get(), exp );
1174 template<
typename PT,
typename RT >
1175 inline decltype(
auto) exp( const
Proxy<PT,RT>& proxy )
1179 return exp( (~proxy).
get() );
1195 template<
typename PT,
typename RT >
1200 return sin( (~proxy).
get() );
1216 template<
typename PT,
typename RT >
1221 return asin( (~proxy).
get() );
1237 template<
typename PT,
typename RT >
1242 return sinh( (~proxy).
get() );
1258 template<
typename PT,
typename RT >
1263 return asinh( (~proxy).
get() );
1279 template<
typename PT,
typename RT >
1284 return cos( (~proxy).
get() );
1300 template<
typename PT,
typename RT >
1305 return acos( (~proxy).
get() );
1321 template<
typename PT,
typename RT >
1326 return cosh( (~proxy).
get() );
1342 template<
typename PT,
typename RT >
1347 return acosh( (~proxy).
get() );
1363 template<
typename PT,
typename RT >
1368 return tan( (~proxy).
get() );
1384 template<
typename PT,
typename RT >
1389 return atan( (~proxy).
get() );
1405 template<
typename PT,
typename RT >
1410 return tanh( (~proxy).
get() );
1426 template<
typename PT,
typename RT >
1431 return atanh( (~proxy).
get() );
1444 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
1445 inline decltype(
auto)
min( const
Proxy<PT1,RT1>& lhs, const
Proxy<PT2,RT2>& rhs )
1449 return min( (~lhs).
get(), (~rhs).
get() );
1462 template<
typename PT,
typename RT,
typename T,
typename >
1463 inline decltype(
auto)
min( const
Proxy<PT,RT>& lhs, const T& rhs )
1467 return min( (~lhs).
get(), rhs );
1480 template<
typename T,
typename PT,
typename RT,
typename >
1481 inline decltype(
auto)
min( const T& lhs, const
Proxy<PT,RT>& rhs )
1485 return min( lhs, (~rhs).
get() );
1498 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
1499 inline decltype(
auto)
max( const
Proxy<PT1,RT1>& lhs, const
Proxy<PT2,RT2>& rhs )
1503 return max( (~lhs).
get(), (~rhs).
get() );
1516 template<
typename PT,
typename RT,
typename T,
typename >
1517 inline decltype(
auto)
max( const
Proxy<PT,RT>& lhs, const T& rhs )
1521 return max( (~lhs).
get(), rhs );
1534 template<
typename T,
typename PT,
typename RT,
typename >
1535 inline decltype(
auto)
max( const T& lhs, const
Proxy<PT,RT>& rhs )
1539 return max( lhs, (~rhs).
get() );
1555 template<
typename PT,
typename RT >
1560 return erf( (~proxy).
get() );
1577 template<
typename PT,
typename RT >
1582 return erfc( (~proxy).
get() );
1604 template<
typename PT,
typename RT >
1607 if( (~proxy).isRestricted() ) {
1633 template<
typename PT,
typename RT >
1636 if( (~proxy).isRestricted() ) {
1673 template<
typename PT,
typename RT >
1676 if( (~proxy).isRestricted() ) {
1680 invert( (~proxy).
get() );
1722 template< InversionFlag IF,
typename PT,
typename RT >
1725 if( (~proxy).isRestricted() ) {
1729 invert<IF>( (~proxy).
get() );
1746 template<
bool RF,
typename PT,
typename RT >
1751 return isReal<RF>( (~proxy).
get() );
1766 template<
bool RF,
typename PT,
typename RT >
1771 return isZero<RF>( (~proxy).
get() );
1786 template<
bool RF,
typename PT,
typename RT >
1791 return isOne<RF>( (~proxy).
get() );
1806 template<
typename PT,
typename RT >
1811 return isnan( (~proxy).
get() );
bool isReal(const DiagonalProxy< MT > &proxy)
Returns whether the matrix element represents a real number.
Definition: DiagonalProxy.h:650
Header file for the isnan shim.
#define BLAZE_THROW_INVALID_ARGUMENT(MESSAGE)
Macro for the emission of a std::invalid_argument exception.This macro encapsulates the default way o...
Definition: Exception.h:235
decltype(auto) acosh(const DenseMatrix< MT, SO > &dm)
Computes the inverse hyperbolic cosine for each single element of the dense matrix dm...
Definition: DMatMapExpr.h:2033
Header file for auxiliary alias declarations.
Headerfile for the generic min algorithm.
Header file for the acos shim.
Header file for the asin shim.
Header file for the cosh shim.
Header file for the SparseVectorProxy class.
Header file for the imaginary shim.
Proxy base class.The Proxy class is a base class for all proxy classes within the Blaze library that ...
Definition: Forward.h:51
decltype(auto) real(const DenseMatrix< MT, SO > &dm)
Returns a matrix containing the real part of each single element of dm.
Definition: DMatMapExpr.h:1387
Header file for the tan shim.
Header file for the dense matrix inversion flags.
Header file for the DefaultProxy class.
decltype(auto) ceil(const DenseMatrix< MT, SO > &dm)
Applies the ceil() function to each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1234
decltype(auto) pow(const DenseMatrix< MT1, SO1 > &lhs, const DenseMatrix< MT2, SO2 > &rhs)
Computes the componentwise exponential value for the dense matrices lhs and rhs.
Definition: DMatDMatMapExpr.h:1267
typename DisableIf< Condition, T >::Type DisableIf_
Auxiliary type for the DisableIf class template.The DisableIf_ alias declaration provides a convenien...
Definition: DisableIf.h:224
Header file for the DenseMatrixProxy class.
const ElementType_< MT > min(const DenseMatrix< MT, SO > &dm)
Returns the smallest element of the dense matrix.
Definition: DenseMatrix.h:1903
BLAZE_ALWAYS_INLINE void ctranspose(Matrix< MT, SO > &matrix)
In-place conjugate transpose of the given matrix.
Definition: Matrix.h:827
Header file for the abs shim.
Header file for the pow shim.
Header file for the invert shim.
const ElementType_< MT > max(const DenseMatrix< MT, SO > &dm)
Returns the largest element of the dense matrix.
Definition: DenseMatrix.h:1950
decltype(auto) acos(const DenseMatrix< MT, SO > &dm)
Computes the inverse cosine for each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1972
Header file for the DenseVectorProxy class.
decltype(auto) erf(const DenseMatrix< MT, SO > &dm)
Computes the error function for each single element of the dense matrix dm.
Definition: DMatMapExpr.h:2184
Header file for the IsMatrix type trait.
bool isZero(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is 0.
Definition: DiagonalProxy.h:670
void invert(const HermitianProxy< MT > &proxy)
In-place inversion of the represented element.
Definition: HermitianProxy.h:772
Header file for the sqrt shim.
Headerfile for the generic max algorithm.
Header file for the DisableIf class template.
Header file for the floor shim.
decltype(auto) cos(const DenseMatrix< MT, SO > &dm)
Computes the cosine for each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1940
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
decltype(auto) ctrans(const DenseMatrix< MT, SO > &dm)
Returns the conjugate transpose matrix of dm.
Definition: DMatMapExpr.h:1359
Header file for the cos shim.
Header file for the If class template.
Header file for the ComplexProxy class.
decltype(auto) sinh(const DenseMatrix< MT, SO > &dm)
Computes the hyperbolic sine for each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1882
decltype(auto) asin(const DenseMatrix< MT, SO > &dm)
Computes the inverse sine for each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1853
decltype(auto) cosh(const DenseMatrix< MT, SO > &dm)
Computes the hyperbolic cosine for each single element of the dense matrix dm.
Definition: DMatMapExpr.h:2001
decltype(auto) cbrt(const DenseMatrix< MT, SO > &dm)
Computes the cubic root of each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1512
Header file for the erf shim.
constexpr bool operator>(const NegativeAccuracy< A > &lhs, const T &rhs)
Greater-than comparison between a NegativeAccuracy object and a floating point value.
Definition: Accuracy.h:367
constexpr bool operator>=(const NegativeAccuracy< A > &, const T &rhs)
Greater-or-equal-than comparison between a NegativeAccuracy object and a floating point value...
Definition: Accuracy.h:443
Header file for the isZero shim.
constexpr bool operator==(const NegativeAccuracy< A > &lhs, const T &rhs)
Equality comparison between a NegativeAccuracy object and a floating point value. ...
Definition: Accuracy.h:250
decltype(auto) atan(const DenseMatrix< MT, SO > &dm)
Computes the inverse tangent for each single element of the dense matrix dm.
Definition: DMatMapExpr.h:2091
Header file for the sin shim.
decltype(auto) asinh(const DenseMatrix< MT, SO > &dm)
Computes the inverse hyperbolic sine for each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1911
Header file for the invsqrt shim.
bool isnan(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is not a number.
Definition: DiagonalProxy.h:710
Header file for the SparseMatrixProxy class.
Header file for the exception macros of the math module.
constexpr bool operator!=(const NegativeAccuracy< A > &lhs, const T &rhs)
Inequality comparison between a NegativeAccuracy object and a floating point value.
Definition: Accuracy.h:290
Header file for the erfc shim.
Header file for the IsVector type trait.
Header file for the IsDenseMatrix type trait.
decltype(auto) exp(const DenseMatrix< MT, SO > &dm)
Computes for each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1638
decltype(auto) abs(const DenseMatrix< MT, SO > &dm)
Applies the abs() function to each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1176
Header file for the isOne shim.
Header file for the conjugate shim.
decltype(auto) floor(const DenseMatrix< MT, SO > &dm)
Applies the floor() function to each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1205
decltype(auto) tanh(const DenseMatrix< MT, SO > &dm)
Computes the hyperbolic tangent for each single element of the dense matrix dm.
Definition: DMatMapExpr.h:2123
Header file for the acosh shim.
Header file for the cbrt shim.
decltype(auto) invcbrt(const DenseMatrix< MT, SO > &dm)
Computes the inverse cubic root of each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1544
typename If< T1, T2, T3 >::Type If_
Auxiliary alias declaration for the If class template.The If_ alias declaration provides a convenient...
Definition: If.h:154
Header file for the atanh shim.
decltype(auto) atanh(const DenseMatrix< MT, SO > &dm)
Computes the inverse hyperbolic tangent for each single element of the dense matrix dm...
Definition: DMatMapExpr.h:2155
Header file for the invcbrt shim.
Header file for the IsProxy type trait.
bool isOne(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is 1.
Definition: DiagonalProxy.h:690
Header file for the asinh shim.
Header file for the tanh shim.
Header file for the IsDenseVector type trait.
decltype(auto) trans(const DenseMatrix< MT, SO > &dm)
Calculation of the transpose of the given dense matrix.
Definition: DMatTransExpr.h:789
decltype(auto) sin(const DenseMatrix< MT, SO > &dm)
Computes the sine for each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1821
decltype(auto) erfc(const DenseMatrix< MT, SO > &dm)
Computes the complementary error function for each single element of the dense matrix dm...
Definition: DMatMapExpr.h:2213
decltype(auto) sqrt(const DenseMatrix< MT, SO > &dm)
Computes the square root of each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1448
decltype(auto) tan(const DenseMatrix< MT, SO > &dm)
Computes the tangent for each single element of the dense matrix dm.
Definition: DMatMapExpr.h:2062
Header file for the IsComplex type trait.
decltype(auto) imag(const DenseMatrix< MT, SO > &dm)
Returns a matrix containing the imaginary part of each single element of dm.
Definition: DMatMapExpr.h:1416
Header file for the exp shim.
Header file for the real shim.
decltype(auto) conj(const DenseMatrix< MT, SO > &dm)
Returns a matrix containing the complex conjugate of each single element of dm.
Definition: DMatMapExpr.h:1321
Header file for the sinh shim.
decltype(auto) invsqrt(const DenseMatrix< MT, SO > &dm)
Computes the inverse square root of each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1480
Header file for the isReal shim.
Header file for the atan shim.
Header file for the ceil shim.
BLAZE_ALWAYS_INLINE void transpose(Matrix< MT, SO > &matrix)
In-place transpose of the given matrix.
Definition: Matrix.h:801