35 #ifndef _BLAZE_MATH_PROXY_PROXY_H_ 36 #define _BLAZE_MATH_PROXY_PROXY_H_ 135 template<
typename PT
136 ,
typename RT =
int >
138 :
public If_< IsVector<RT>
139 , If_< IsDenseVector<RT>
140 , DenseVectorProxy<PT,RT>
141 , SparseVectorProxy<PT,RT> >
143 , If_< IsDenseMatrix<RT>
144 , DenseMatrixProxy<PT,RT>
145 , SparseMatrixProxy<PT,RT> >
147 , ComplexProxy<PT,RT>
148 , DefaultProxy<PT,RT> > > >
164 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
165 inline decltype(
auto) operator+( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
167 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
168 inline decltype(auto) operator+( const Proxy<PT,RT>& lhs, const T& rhs );
170 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
171 inline decltype(auto) operator+( const T& lhs, const Proxy<PT,RT>& rhs );
173 template< typename PT1, typename RT1, typename PT2, typename RT2 >
174 inline decltype(auto) operator-( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
176 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
177 inline decltype(auto) operator-( const Proxy<PT,RT>& lhs, const T& rhs );
179 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
180 inline decltype(auto) operator-( const T& lhs, const Proxy<PT,RT>& rhs );
182 template< typename PT1, typename RT1, typename PT2, typename RT2 >
183 inline decltype(auto) operator*( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
185 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
186 inline decltype(auto) operator*( const Proxy<PT,RT>& lhs, const T& rhs );
188 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
189 inline decltype(auto) operator*( const T& lhs, const Proxy<PT,RT>& rhs );
191 template< typename PT1, typename RT1, typename PT2, typename RT2 >
192 inline decltype(auto) operator/( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
194 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
195 inline decltype(auto) operator/( const Proxy<PT,RT>& lhs, const T& rhs );
197 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
198 inline decltype(auto) operator/( const T& lhs, const Proxy<PT,RT>& rhs );
200 template< typename PT1, typename RT1, typename PT2, typename RT2 >
201 inline
bool operator==( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
203 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
204 inline
bool operator==( const Proxy<PT,RT>& lhs, const T& rhs );
206 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
207 inline
bool operator==( const T& lhs, const Proxy<PT,RT>& rhs );
209 template< typename PT1, typename RT1, typename PT2, typename RT2 >
210 inline
bool operator!=( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
212 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
213 inline
bool operator!=( const Proxy<PT,RT>& lhs, const T& rhs );
215 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
216 inline
bool operator!=( const T& lhs, const Proxy<PT,RT>& rhs );
218 template< typename PT1, typename RT1, typename PT2, typename RT2 >
219 inline
bool operator<( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
221 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
222 inline
bool operator<( const Proxy<PT,RT>& lhs, const T& rhs );
224 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
225 inline
bool operator<( const T& lhs, const Proxy<PT,RT>& rhs );
227 template< typename PT1, typename RT1, typename PT2, typename RT2 >
228 inline
bool operator>( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
230 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
231 inline
bool operator>( const Proxy<PT,RT>& lhs, const T& rhs );
233 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
234 inline
bool operator>( const T& lhs, const Proxy<PT,RT>& rhs );
236 template< typename PT1, typename RT1, typename PT2, typename RT2 >
237 inline
bool operator<=( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
239 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
240 inline
bool operator<=( const Proxy<PT,RT>& lhs, const T& rhs );
242 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
243 inline
bool operator<=( const T& lhs, const Proxy<PT,RT>& rhs );
245 template< typename PT1, typename RT1, typename PT2, typename RT2 >
246 inline
bool operator>=( const Proxy<PT1,RT1>& lhs, const Proxy<PT2,RT2>& rhs );
248 template< typename PT, typename RT, typename T, typename =
DisableIf_< IsProxy<T> > >
249 inline
bool operator>=( const Proxy<PT,RT>& lhs, const T& rhs );
251 template< typename T, typename PT, typename RT, typename =
DisableIf_< IsProxy<T> > >
252 inline
bool operator>=( const T& lhs, const Proxy<PT,RT>& rhs );
254 template< typename PT, typename RT >
255 inline
std::ostream& operator<<(
std::ostream& os, const Proxy<PT,RT>& proxy );
268 template< typename PT1, typename RT1, typename PT2, typename RT2 >
269 inline decltype(auto) operator+( const
Proxy<PT1,RT1>& lhs, const
Proxy<PT2,RT2>& rhs )
271 return (~lhs).get() + (~rhs).
get();
284 template<
typename PT,
typename RT,
typename T,
typename >
285 inline decltype(
auto) operator+( const
Proxy<PT,RT>& lhs, const T& rhs )
287 return (~lhs).get() + rhs;
300 template<
typename T,
typename PT,
typename RT,
typename >
301 inline decltype(
auto) operator+( const T& lhs, const
Proxy<PT,RT>& rhs )
303 return lhs + (~rhs).
get();
316 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
317 inline decltype(
auto) operator-( const
Proxy<PT1,RT1>& lhs, const
Proxy<PT2,RT2>& rhs )
319 return (~lhs).get() - (~rhs).
get();
332 template<
typename PT,
typename RT,
typename T,
typename >
333 inline decltype(
auto) operator-( const
Proxy<PT,RT>& lhs, const T& rhs )
335 return (~lhs).get() - rhs;
348 template<
typename T,
typename PT,
typename RT,
typename >
349 inline decltype(
auto) operator-( const T& lhs, const
Proxy<PT,RT>& rhs )
351 return lhs - (~rhs).
get();
364 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
365 inline decltype(
auto) operator*( const
Proxy<PT1,RT1>& lhs, const
Proxy<PT2,RT2>& rhs )
367 return (~lhs).get() * (~rhs).
get();
380 template<
typename PT,
typename RT,
typename T,
typename >
381 inline decltype(
auto) operator*( const
Proxy<PT,RT>& lhs, const T& rhs )
383 return (~lhs).get() * rhs;
396 template<
typename T,
typename PT,
typename RT,
typename >
397 inline decltype(
auto) operator*( const T& lhs, const
Proxy<PT,RT>& rhs )
399 return lhs * (~rhs).
get();
412 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
413 inline decltype(
auto) operator/( const
Proxy<PT1,RT1>& lhs, const
Proxy<PT2,RT2>& rhs )
415 return (~lhs).get() / (~rhs).
get();
428 template<
typename PT,
typename RT,
typename T,
typename >
429 inline decltype(
auto) operator/( const
Proxy<PT,RT>& lhs, const T& rhs )
431 return (~lhs).get() / rhs;
444 template<
typename T,
typename PT,
typename RT,
typename >
445 inline decltype(
auto) operator/( const T& lhs, const
Proxy<PT,RT>& rhs )
447 return lhs / (~rhs).
get();
460 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
463 return ( (~lhs).
get() == (~rhs).
get() );
476 template<
typename PT,
typename RT,
typename T,
typename >
479 return ( (~lhs).
get() == rhs );
492 template<
typename T,
typename PT,
typename RT,
typename >
493 inline decltype(
auto) operator==( const T& lhs, const
Proxy<PT,RT>& rhs )
495 return ( lhs == (~rhs).
get() );
508 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
511 return ( (~lhs).
get() != (~rhs).
get() );
524 template<
typename PT,
typename RT,
typename T,
typename >
527 return ( (~lhs).
get() != rhs );
540 template<
typename T,
typename PT,
typename RT,
typename >
543 return ( lhs != (~rhs).
get() );
556 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
559 return ( (~lhs).get() < (~rhs).
get() );
572 template<
typename PT,
typename RT,
typename T,
typename >
573 inline bool operator<( const Proxy<PT,RT>& lhs,
const T& rhs )
575 return ( (~lhs).get() < rhs );
588 template<
typename T,
typename PT,
typename RT,
typename >
589 inline bool operator<( const T& lhs, const Proxy<PT,RT>& rhs )
591 return ( lhs < rhs.get() );
604 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
607 return ( (~lhs).
get() > (~rhs).
get() );
620 template<
typename PT,
typename RT,
typename T,
typename >
623 return ( (~lhs).
get() > rhs );
636 template<
typename T,
typename PT,
typename RT,
typename >
639 return ( lhs > (~rhs).
get() );
652 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
655 return ( (~lhs).get() <= (~rhs).
get() );
668 template<
typename PT,
typename RT,
typename T,
typename >
669 inline bool operator<=( const Proxy<PT,RT>& lhs,
const T& rhs )
671 return ( (~lhs).get() <= rhs );
684 template<
typename T,
typename PT,
typename RT,
typename >
685 inline bool operator<=( const T& lhs, const Proxy<PT,RT>& rhs )
687 return ( lhs <= (~rhs).get() );
700 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
703 return ( (~lhs).
get() >= (~rhs).
get() );
716 template<
typename PT,
typename RT,
typename T,
typename >
719 return ( (~lhs).
get() >= rhs );
732 template<
typename T,
typename PT,
typename RT,
typename >
735 return ( lhs >= (~rhs).
get() );
748 template<
typename PT,
typename RT >
749 inline std::ostream& operator<<( std::ostream& os, const Proxy<PT,RT>& proxy )
751 return os << (~proxy).
get();
767 template<
typename PT,
typename RT >
770 template<
typename PT,
typename RT >
773 template<
typename PT,
typename RT >
776 template<
typename PT,
typename RT >
779 template<
typename PT,
typename RT >
782 template<
typename PT,
typename RT >
785 template<
typename PT,
typename RT >
788 template<
typename PT,
typename RT >
791 template<
typename PT,
typename RT >
794 template<
typename PT,
typename RT >
797 template<
typename PT,
typename RT >
800 template<
typename PT,
typename RT >
803 template<
typename PT,
typename RT,
typename ET >
806 template<
typename PT,
typename RT >
809 template<
typename PT,
typename RT >
812 template<
typename PT,
typename RT >
815 template<
typename PT,
typename RT >
818 template<
typename PT,
typename RT >
821 template<
typename PT,
typename RT >
824 template<
typename PT,
typename RT >
827 template<
typename PT,
typename RT >
830 template<
typename PT,
typename RT >
833 template<
typename PT,
typename RT >
836 template<
typename PT,
typename RT >
839 template<
typename PT,
typename RT >
842 template<
typename PT,
typename RT >
845 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
848 template<
typename PT,
typename RT,
typename T,
typename = DisableIf_< IsProxy<T> > >
851 template<
typename T,
typename PT,
typename RT,
typename = DisableIf_< IsProxy<T> > >
854 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
857 template<
typename PT,
typename RT,
typename T,
typename = DisableIf_< IsProxy<T> > >
860 template<
typename T,
typename PT,
typename RT,
typename = DisableIf_< IsProxy<T> > >
863 template<
typename PT,
typename RT >
866 template<
typename PT,
typename RT >
869 template<
typename PT,
typename RT >
872 template< InversionFlag IF,
typename PT,
typename RT >
875 template<
bool RF,
typename PT,
typename RT >
878 template<
bool RF,
typename PT,
typename RT >
881 template<
bool RF,
typename PT,
typename RT >
884 template<
typename PT,
typename RT >
900 template<
typename PT,
typename RT >
905 return trans( (~proxy).
get() );
920 template<
typename PT,
typename RT >
925 return ctrans( (~proxy).
get() );
941 template<
typename PT,
typename RT >
942 inline decltype(
auto)
abs( const
Proxy<PT,RT>& proxy )
946 return abs( (~proxy).
get() );
962 template<
typename PT,
typename RT >
967 return conj( (~proxy).
get() );
983 template<
typename PT,
typename RT >
988 return real( (~proxy).
get() );
1004 template<
typename PT,
typename RT >
1009 return imag( (~proxy).
get() );
1025 template<
typename PT,
typename RT >
1030 return sqrt( (~proxy).
get() );
1046 template<
typename PT,
typename RT >
1051 return invsqrt( (~proxy).
get() );
1067 template<
typename PT,
typename RT >
1072 return cbrt( (~proxy).
get() );
1088 template<
typename PT,
typename RT >
1093 return invcbrt( (~proxy).
get() );
1109 template<
typename PT,
typename RT >
1114 return floor( (~proxy).
get() );
1130 template<
typename PT,
typename RT >
1135 return ceil( (~proxy).
get() );
1152 template<
typename PT,
typename RT,
typename ET >
1153 inline decltype(
auto)
pow( const
Proxy<PT,RT>& proxy, const ET& exp )
1157 return pow( (~proxy).
get(), exp );
1173 template<
typename PT,
typename RT >
1174 inline decltype(
auto) exp( const
Proxy<PT,RT>& proxy )
1178 return exp( (~proxy).
get() );
1194 template<
typename PT,
typename RT >
1199 return sin( (~proxy).
get() );
1215 template<
typename PT,
typename RT >
1220 return asin( (~proxy).
get() );
1236 template<
typename PT,
typename RT >
1241 return sinh( (~proxy).
get() );
1257 template<
typename PT,
typename RT >
1262 return asinh( (~proxy).
get() );
1278 template<
typename PT,
typename RT >
1283 return cos( (~proxy).
get() );
1299 template<
typename PT,
typename RT >
1304 return acos( (~proxy).
get() );
1320 template<
typename PT,
typename RT >
1325 return cosh( (~proxy).
get() );
1341 template<
typename PT,
typename RT >
1346 return acosh( (~proxy).
get() );
1362 template<
typename PT,
typename RT >
1367 return tan( (~proxy).
get() );
1383 template<
typename PT,
typename RT >
1388 return atan( (~proxy).
get() );
1404 template<
typename PT,
typename RT >
1409 return tanh( (~proxy).
get() );
1425 template<
typename PT,
typename RT >
1430 return atanh( (~proxy).
get() );
1443 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
1444 inline decltype(
auto)
min( const
Proxy<PT1,RT1>& lhs, const
Proxy<PT2,RT2>& rhs )
1448 return min( (~lhs).
get(), (~rhs).
get() );
1461 template<
typename PT,
typename RT,
typename T,
typename >
1462 inline decltype(
auto)
min( const
Proxy<PT,RT>& lhs, const T& rhs )
1466 return min( (~lhs).
get(), rhs );
1479 template<
typename T,
typename PT,
typename RT,
typename >
1480 inline decltype(
auto)
min( const T& lhs, const
Proxy<PT,RT>& rhs )
1484 return min( lhs, (~rhs).
get() );
1497 template<
typename PT1,
typename RT1,
typename PT2,
typename RT2 >
1498 inline decltype(
auto)
max( const
Proxy<PT1,RT1>& lhs, const
Proxy<PT2,RT2>& rhs )
1502 return max( (~lhs).
get(), (~rhs).
get() );
1515 template<
typename PT,
typename RT,
typename T,
typename >
1516 inline decltype(
auto)
max( const
Proxy<PT,RT>& lhs, const T& rhs )
1520 return max( (~lhs).
get(), rhs );
1533 template<
typename T,
typename PT,
typename RT,
typename >
1534 inline decltype(
auto)
max( const T& lhs, const
Proxy<PT,RT>& rhs )
1538 return max( lhs, (~rhs).
get() );
1554 template<
typename PT,
typename RT >
1559 return erf( (~proxy).
get() );
1576 template<
typename PT,
typename RT >
1581 return erfc( (~proxy).
get() );
1603 template<
typename PT,
typename RT >
1606 if( (~proxy).isRestricted() ) {
1632 template<
typename PT,
typename RT >
1635 if( (~proxy).isRestricted() ) {
1672 template<
typename PT,
typename RT >
1675 if( (~proxy).isRestricted() ) {
1679 invert( (~proxy).
get() );
1721 template< InversionFlag IF,
typename PT,
typename RT >
1724 if( (~proxy).isRestricted() ) {
1728 invert<IF>( (~proxy).
get() );
1745 template<
bool RF,
typename PT,
typename RT >
1750 return isReal<RF>( (~proxy).
get() );
1765 template<
bool RF,
typename PT,
typename RT >
1770 return isZero<RF>( (~proxy).
get() );
1785 template<
bool RF,
typename PT,
typename RT >
1790 return isOne<RF>( (~proxy).
get() );
1805 template<
typename PT,
typename RT >
1810 return isnan( (~proxy).
get() );
bool isReal(const DiagonalProxy< MT > &proxy)
Returns whether the matrix element represents a real number.
Definition: DiagonalProxy.h:622
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
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:1762
BLAZE_ALWAYS_INLINE void ctranspose(Matrix< MT, SO > &matrix)
In-place conjugate transpose of the given matrix.
Definition: Matrix.h:661
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:1809
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:642
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:57
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:682
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) pow(const DenseMatrix< MT, SO > &dm, ET exp)
Computes the exponential value for each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1607
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:662
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:790
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:635