35 #ifndef _BLAZE_MATH_VIEWS_SUBMATRIX_H_ 36 #define _BLAZE_MATH_VIEWS_SUBMATRIX_H_ 165 template<
typename MT
167 inline SubmatrixExprTrait_<MT,unaligned>
172 return submatrix<unaligned>( ~matrix,
row,
column, m, n );
235 template<
typename MT
242 return submatrix<unaligned>( ~matrix,
row,
column, m, n );
265 template<
typename MT
272 return submatrix<unaligned>( ~matrix,
row,
column, m, n );
440 inline const DisableIf_< Or< IsComputation<MT>, IsTransExpr<MT>, IsDeclExpr<MT> >
473 inline DisableIf_< Or< IsComputation<MT>, IsTransExpr<MT>, IsDeclExpr<MT> >
524 ?( index + size - 1UL )
525 :( index + size ) ) )
527 :( left.columns() ) ) );
529 return submatrix<AF>( left, index,
column,
size, n ) * subvector<AF>( right, column, n );
567 ?( index + size - 1UL )
568 :( index + size ) ) )
570 :( right.rows() ) ) );
572 return subvector<AF>( left,
row, m ) * submatrix<AF>( right, row, index, m, size );
601 return submatrix<AF>( (~matrix).leftOperand() ,
row,
column, m, n ) +
602 submatrix<AF>( (~matrix).rightOperand(),
row,
column, m, n );
631 return submatrix<AF>( (~matrix).leftOperand() ,
row,
column, m, n ) -
632 submatrix<AF>( (~matrix).rightOperand(),
row,
column, m, n );
678 :( left.columns() ) ) );
680 const size_t diff( ( begin <
end )?(
end - begin ):( 0UL ) );
682 return submatrix<AF>( left,
row,
begin, m, diff ) *
683 submatrix<AF>( right, begin, column, diff, n );
712 return subvector<AF>( (~matrix).leftOperand(),
row, m ) *
713 subvector<AF>( (~matrix).rightOperand(),
column, n );
742 return submatrix<AF>( (~matrix).leftOperand(),
row,
column, m, n ) * (~matrix).rightOperand();
771 return submatrix<AF>( (~matrix).leftOperand(),
row,
column, m, n ) / (~matrix).rightOperand();
800 return forEach( submatrix<AF>( (~matrix).operand(), row, column, m, n ), (~matrix).operation() );
829 return eval( submatrix<AF>( (~matrix).operand(), row, column, m, n ) );
858 return serial( submatrix<AF>( (~matrix).operand(), row, column, m, n ) );
887 return submatrix<AF>( (~matrix).operand(),
row,
column, m, n );
916 return trans( submatrix<AF>( (~matrix).operand(), column, row, n, m ) );
946 if( ( row + m > sm.rows() ) || ( column + n > sm.columns() ) ) {
967 template<
typename MT,
bool AF,
bool SO,
bool DF >
970 template<
typename MT,
bool AF,
bool SO,
bool DF >
973 template<
typename MT,
bool AF,
bool SO,
bool DF >
976 template<
typename MT,
bool AF,
bool SO,
bool DF >
979 template<
typename MT,
bool AF,
bool SO,
bool DF >
982 template<
bool RF,
typename MT,
bool AF,
bool SO,
bool DF >
985 template<
typename MT,
bool AF,
bool SO,
bool DF >
988 template<
typename MT,
bool AF,
bool SO,
bool DF >
991 template<
typename MT,
bool AF,
bool SO,
bool DF >
994 template<
typename MT,
bool AF,
bool SO,
bool DF >
997 template<
typename MT,
bool AF,
bool SO,
bool DF >
1000 template<
typename MT,
bool AF,
bool SO,
bool DF >
1003 template<
typename MT,
bool AF,
bool SO,
bool DF >
1006 template<
typename MT,
bool AF,
bool SO,
bool DF >
1009 template<
typename MT,
bool AF,
bool SO,
bool DF >
1012 template<
typename MT,
bool AF,
bool SO,
bool DF >
1015 template<
typename MT,
bool AF,
bool SO,
bool DF >
1018 template<
typename MT,
bool AF,
bool SO,
bool DF >
1031 template<
typename MT
1049 template<
typename MT
1073 template<
typename MT
1093 template<
typename MT
1113 template<
typename MT
1159 for(
size_t i=0UL; i<(~sm).
rows(); ++i )
1160 for(
size_t j=0UL; j<(~sm).
columns(); ++j )
1161 if( !isDefault<RF>( (~sm)(i,j) ) )
1165 for(
size_t j=0UL; j<(~sm).
columns(); ++j )
1166 for(
size_t i=0UL; i<(~sm).
rows(); ++i )
1167 if( !isDefault<RF>( (~sm)(i,j) ) )
1205 const size_t iend( ( SO ==
rowMajor)?( sm.rows() ):( sm.columns() ) );
1207 for(
size_t i=0UL; i<iend; ++i ) {
1208 for( ConstIterator element=sm.begin(i); element!=sm.end(i); ++element )
1209 if( !isDefault<RF>( element->value() ) )
return false;
1236 template<
typename MT
1242 return ( sm.row_ + sm.m_ <= sm.matrix_.rows() &&
1243 sm.column_ + sm.n_ <= sm.matrix_.columns() &&
1271 template<
typename MT
1281 else return isSymmetric( static_cast<const BaseType&>( sm ) );
1308 template<
typename MT
1318 else return isHermitian( static_cast<const BaseType&>( sm ) );
1355 template<
typename MT
1365 else return isLower( static_cast<const BaseType&>( sm ) );
1401 template<
typename MT
1411 else return isUniLower( static_cast<const BaseType&>( sm ) );
1447 template<
typename MT
1494 template<
typename MT
1504 else return isUpper( static_cast<const BaseType&>( sm ) );
1540 template<
typename MT
1550 else return isUniUpper( static_cast<const BaseType&>( sm ) );
1586 template<
typename MT
1613 template<
typename MT
1619 return (
isSame( a.matrix_, ~b ) && ( a.rows() == (~b).
rows() ) && ( a.columns() == (~b).
columns() ) );
1636 template<
typename MT
1642 return (
isSame( ~a, b.matrix_ ) && ( (~a).rows() == b.rows() ) && ( (~a).columns() == b.columns() ) );
1659 template<
typename MT
1665 return (
isSame( a.matrix_, b.matrix_ ) &&
1666 ( a.row_ == b.row_ ) && ( a.column_ == b.column_ ) &&
1667 ( a.m_ == b.m_ ) && ( a.n_ == b.n_ ) );
1740 template<
typename MT
1747 size_t row,
size_t column )
1754 return tryAssign( lhs.matrix_, ~rhs, lhs.row_ + row, lhs.column_ + column );
1776 template<
typename MT1
1783 size_t row,
size_t column )
1790 return tryAssign( lhs.matrix_, ~rhs, lhs.row_ + row, lhs.column_ + column );
1812 template<
typename MT
1819 size_t row,
size_t column )
1826 return tryAddAssign( lhs.matrix_, ~rhs, lhs.row_ + row, lhs.column_ + column );
1848 template<
typename MT1
1855 size_t row,
size_t column )
1862 return tryAddAssign( lhs.matrix_, ~rhs, lhs.row_ + row, lhs.column_ + column );
1884 template<
typename MT
1891 size_t row,
size_t column )
1898 return trySubAssign( lhs.matrix_, ~rhs, lhs.row_ + row, lhs.column_ + column );
1920 template<
typename MT1
1927 size_t row,
size_t column )
1934 return trySubAssign( lhs.matrix_, ~rhs, lhs.row_ + row, lhs.column_ + column );
1956 template<
typename MT
1963 size_t row,
size_t column )
1970 return tryMultAssign( lhs.matrix_, ~rhs, lhs.row_ + row, lhs.column_ + column );
1991 template<
typename MT
1998 return ReturnType( derestrict( dm.matrix_ ), dm.row_, dm.column_, dm.m_, dm.n_ );
2014 template<
typename MT,
bool AF,
bool SO,
bool DF >
2032 template<
typename MT,
bool AF,
bool SO,
bool DF >
2051 template<
typename MT,
bool AF,
bool SO >
2069 template<
typename MT,
bool AF,
bool SO >
2071 :
public BoolConstant< HasMutableDataAccess<MT>::value >
2087 template<
typename MT,
bool SO >
2104 template<
typename MT,
bool AF,
bool SO,
bool DF,
typename T >
2105 struct AddTrait< Submatrix<MT,AF,SO,DF>, T >
2110 template<
typename T,
typename MT,
bool AF,
bool SO,
bool DF >
2111 struct AddTrait< T, Submatrix<MT,AF,SO,DF> >
2129 template<
typename MT,
bool AF,
bool SO,
bool DF,
typename T >
2130 struct SubTrait< Submatrix<MT,AF,SO,DF>, T >
2135 template<
typename T,
typename MT,
bool AF,
bool SO,
bool DF >
2136 struct SubTrait< T, Submatrix<MT,AF,SO,DF> >
2154 template<
typename MT,
bool AF,
bool SO,
bool DF,
typename T >
2155 struct MultTrait< Submatrix<MT,AF,SO,DF>, T >
2160 template<
typename T,
typename MT,
bool AF,
bool SO,
bool DF >
2161 struct MultTrait< T, Submatrix<MT,AF,SO,DF> >
2179 template<
typename MT,
bool AF,
bool SO,
bool DF,
typename T >
2180 struct DivTrait< Submatrix<MT,AF,SO,DF>, T >
2185 template<
typename T,
typename MT,
bool AF,
bool DF,
bool SO >
2186 struct DivTrait< T, Submatrix<MT,AF,SO,DF> >
2204 template<
typename MT,
bool AF,
bool SO,
bool DF >
2223 template<
typename MT,
bool AF1,
bool SO,
bool DF,
bool AF2 >
2234 template<
typename MT,
bool AF1,
bool SO,
bool DF,
bool AF2 >
2245 template<
typename MT,
bool AF1,
bool SO,
bool DF,
bool AF2 >
2256 template<
typename MT,
bool AF1,
bool SO,
bool DF,
bool AF2 >
2275 template<
typename MT,
bool AF,
bool SO,
bool DF >
2276 struct RowTrait< Submatrix<MT,AF,SO,DF> >
2294 template<
typename MT,
bool AF,
bool SO,
bool DF >
typename SubmatrixExprTrait< MT, AF >::Type SubmatrixExprTrait_
Auxiliary alias declaration for the SubmatrixExprTrait type trait.The SubmatrixExprTrait_ alias decla...
Definition: SubmatrixExprTrait.h:134
#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
Header file for auxiliary alias declarations.
Header file for mathematical functions.
bool isLower(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is a lower triangular matrix.
Definition: DenseMatrix.h:1066
bool isUpper(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is an upper triangular matrix.
Definition: DenseMatrix.h:1321
typename DerestrictTrait< T >::Type DerestrictTrait_
Auxiliary alias declaration for the DerestrictTrait type trait.The DerestrictTrait_ alias declaration...
Definition: DerestrictTrait.h:110
bool isStrictlyLower(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is a strictly lower triangular matrix.
Definition: DenseMatrix.h:1238
Compile time check for low-level access to constant data.This type trait tests whether the given data...
Definition: HasConstDataAccess.h:75
Header file for the alignment flag values.
Header file for the subtraction trait.
#define BLAZE_CONSTRAINT_MUST_HAVE_MUTABLE_DATA_ACCESS(T)
Constraint on the data type.In case the given data type T does not provide low-level data access to m...
Definition: MutableDataAccess.h:61
BLAZE_ALWAYS_INLINE bool isSame(const Matrix< MT1, SO1 > &a, const Matrix< MT2, SO2 > &b) noexcept
Returns whether the two given matrices represent the same observable state.
Definition: Matrix.h:721
Header file for basic type definitions.
Header file for the IsTVecMatMultExpr type trait class.
Header file for the row trait.
Base template for the SubmatrixTrait class.
Definition: SubmatrixTrait.h:118
Base template for the ColumnTrait class.
Definition: ColumnTrait.h:117
Header file for the serial shim.
typename RowTrait< MT >::Type RowTrait_
Auxiliary alias declaration for the RowTrait type trait.The RowTrait_ alias declaration provides a co...
Definition: RowTrait.h:152
BLAZE_ALWAYS_INLINE size_t size(const Vector< VT, TF > &vector) noexcept
Returns the current size/dimension of the vector.
Definition: Vector.h:261
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:71
Header file for the dense matrix inversion flags.
BLAZE_ALWAYS_INLINE MT::Iterator begin(Matrix< MT, SO > &matrix, size_t i)
Returns an iterator to the first element of row/column i.
Definition: Matrix.h:194
void reset(const DiagonalProxy< MT > &proxy)
Resetting the represented element to the default initial values.
Definition: DiagonalProxy.h:533
bool isUniLower(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is a lower unitriangular matrix.
Definition: DenseMatrix.h:1151
typename DisableIf< Condition, T >::Type DisableIf_
Auxiliary type for the DisableIf class template.The DisableIf_ alias declaration provides a convenien...
Definition: DisableIf.h:223
const ElementType_< MT > min(const DenseMatrix< MT, SO > &dm)
Returns the smallest element of the dense matrix.
Definition: DenseMatrix.h:1755
Compile time check for lower triangular matrices.This type trait tests whether or not the given templ...
Definition: IsLower.h:88
Header file for the IsTransExpr type trait class.
const DMatSerialExpr< MT, SO > serial(const DenseMatrix< MT, SO > &dm)
Forces the serial evaluation of the given dense matrix expression dm.
Definition: DMatSerialExpr.h:721
typename MultTrait< T1, T2 >::Type MultTrait_
Auxiliary alias declaration for the MultTrait class template.The MultTrait_ alias declaration provide...
Definition: MultTrait.h:245
Compile time check for upper triangular matrices.This type trait tests whether or not the given templ...
Definition: IsUpper.h:88
Header file for the IsMatVecMultExpr type trait class.
typename T::ResultType ResultType_
Alias declaration for nested ResultType type definitions.The ResultType_ alias declaration provides a...
Definition: Aliases.h:323
const ElementType_< MT > max(const DenseMatrix< MT, SO > &dm)
Returns the largest element of the dense matrix.
Definition: DenseMatrix.h:1802
Header file for the IsMatMatAddExpr type trait class.
Compile time check whether the given type is a declaration expression template.This type trait class ...
Definition: IsDeclExpr.h:71
Base class for sparse matrices.The SparseMatrix class is a base class for all sparse matrix classes...
Definition: Forward.h:119
Compile time check for data types with restricted data access.This type trait tests whether the given...
Definition: IsRestricted.h:82
Header file for the IsMatTransExpr type trait class.
Compile time check for low-level access to mutable data.This type trait tests whether the given data ...
Definition: HasMutableDataAccess.h:75
Compile time check for the alignment of data types.This type trait tests whether the given data type ...
Definition: IsAligned.h:87
void invert(const HermitianProxy< MT > &proxy)
In-place inversion of the represented element.
Definition: HermitianProxy.h:741
Submatrix specialization for dense matrices.
SubvectorExprTrait_< VT, unaligned > subvector(Vector< VT, TF > &vector, size_t index, size_t size)
Creating a view on a specific subvector of the given vector.
Definition: Subvector.h:152
Base template for the RowTrait class.
Definition: RowTrait.h:117
Header file for the implementation of the Subvector view.
Compile time check for upper unitriangular matrices.This type trait tests whether or not the given te...
Definition: IsUniUpper.h:86
Header file for the DisableIf class template.
Header file for the multiplication trait.
Header file for the IsStrictlyUpper type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the IsVecTVecMultExpr type trait class.
const Element * ConstIterator
Iterator over constant elements.
Definition: CompressedMatrix.h:2939
Header file for the Or class template.
Header file for the IsMatMatMultExpr type trait class.
Header file for the implementation of the Submatrix base template.
const DMatForEachExpr< MT, OP, SO > forEach(const DenseMatrix< MT, SO > &dm, OP op)
Evaluates the given custom operation on each single element of the dense matrix dm.
Definition: DMatForEachExpr.h:1046
Header file for the IsMatSerialExpr type trait class.
Header file for the IsMatScalarMultExpr type trait class.
typename SubvectorExprTrait< VT, AF >::Type SubvectorExprTrait_
Auxiliary alias declaration for the SubvectorExprTrait type trait.The SubvectorExprTrait_ alias decla...
Definition: SubvectorExprTrait.h:133
Evaluation of the expression type type of a submatrix operation.Via this type trait it is possible to...
Definition: SubmatrixExprTrait.h:80
Header file for the IsLower type trait.
Header file for the IsAligned type trait.
BLAZE_ALWAYS_INLINE size_t columns(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of columns of the matrix.
Definition: Matrix.h:336
DisableIf_< Or< IsComputation< MT >, IsTransExpr< MT >, IsDeclExpr< MT > >, RowExprTrait_< MT > > row(Matrix< MT, SO > &matrix, size_t index)
Creating a view on a specific row of the given matrix.
Definition: Row.h:128
Compile time check for symmetric matrices.This type trait tests whether or not the given template par...
Definition: IsSymmetric.h:85
typename RemoveReference< T >::Type RemoveReference_
Auxiliary alias declaration for the RemoveReference type trait.The RemoveReference_ alias declaration...
Definition: RemoveReference.h:95
Header file for the IsMatEvalExpr type trait class.
Submatrix specialization for sparse matrices.
Compile time check for strictly upper triangular matrices.This type trait tests whether or not the gi...
Definition: IsStrictlyUpper.h:86
BLAZE_ALWAYS_INLINE MT::Iterator end(Matrix< MT, SO > &matrix, size_t i)
Returns an iterator just past the last element of row/column i.
Definition: Matrix.h:260
Constraint on the data type.
Constraint on the data type.
DisableIf_< Or< IsComputation< MT >, IsTransExpr< MT >, IsDeclExpr< MT > >, ColumnExprTrait_< MT > > column(Matrix< MT, SO > &matrix, size_t index)
Creating a view on a specific column of the given matrix.
Definition: Column.h:128
Header file for the EnableIf class template.
Header file for the IsStrictlyLower type trait.
void clear(const DiagonalProxy< MT > &proxy)
Clearing the represented element.
Definition: DiagonalProxy.h:553
View on a specific submatrix of a dense or sparse matrix.The Submatrix class template represents a vi...
Definition: Forward.h:49
typename DivTrait< T1, T2 >::Type DivTrait_
Auxiliary alias declaration for the DivTrait class template.The DivTrait_ alias declaration provides ...
Definition: DivTrait.h:245
Compile time check for lower unitriangular matrices.This type trait tests whether or not the given te...
Definition: IsUniLower.h:86
Header file for the DerestrictTrait class template.
Compile time check whether the given type is a transposition expression template.This type trait clas...
Definition: IsTransExpr.h:71
typename T::LeftOperand LeftOperand_
Alias declaration for nested LeftOperand type definitions.The LeftOperand_ alias declaration provides...
Definition: Aliases.h:203
Header file for the HasConstDataAccess type trait.
Header file for the Matrix base class.
Header file for the SubmatrixExprTrait class template.
bool isStrictlyUpper(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is a strictly upper triangular matrix.
Definition: DenseMatrix.h:1493
const Type & ReturnType
Return type for expression template evaluations.
Definition: CompressedMatrix.h:2934
Base template for the AddTrait class.
Definition: AddTrait.h:143
Header file for the IsMatScalarDivExpr type trait class.
Base template for the MultTrait class.
Definition: MultTrait.h:143
Header file for the addition trait.
Header file for the division trait.
Header file for the submatrix trait.
#define BLAZE_FUNCTION_TRACE
Function trace macro.This macro can be used to reliably trace function calls. In case function tracin...
Definition: FunctionTrace.h:93
bool isHermitian(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is Hermitian.
Definition: DenseMatrix.h:775
Header file for the column trait.
Compile time check for Hermitian matrices.This type trait tests whether or not the given template par...
Definition: IsHermitian.h:85
Base class for matrices.The Matrix class is a base class for all dense and sparse matrix classes with...
Definition: Forward.h:94
Header file for the HasMutableDataAccess type trait.
bool isSymmetric(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is symmetric.
Definition: DenseMatrix.h:697
#define BLAZE_CONSTRAINT_MUST_NOT_REQUIRE_EVALUATION(T)
Constraint on the data type.In case the given data type T requires an intermediate evaluation within ...
Definition: RequiresEvaluation.h:81
typename SubmatrixTrait< MT >::Type SubmatrixTrait_
Auxiliary alias declaration for the SubmatrixTrait type trait.The SubmatrixTrait_ alias declaration p...
Definition: SubmatrixTrait.h:153
const DMatEvalExpr< MT, SO > eval(const DenseMatrix< MT, SO > &dm)
Forces the evaluation of the given dense matrix expression dm.
Definition: DMatEvalExpr.h:703
Header file for the IsMatMatSubExpr type trait class.
Evaluation of the return type of the derestrict function.Via this type trait it is possible to evalua...
Definition: DerestrictTrait.h:73
Header file for the RemoveReference type trait.
Header file for the IsDeclExpr type trait class.
typename EnableIf< Condition, T >::Type EnableIf_
Auxiliary alias declaration for the EnableIf class template.The EnableIf_ alias declaration provides ...
Definition: EnableIf.h:223
Base template for the DivTrait class.
Definition: DivTrait.h:143
typename ColumnTrait< MT >::Type ColumnTrait_
Auxiliary alias declaration for the ColumnTrait type trait.The ColumnTrait_ alias declaration provide...
Definition: ColumnTrait.h:152
Compile time check for strictly lower triangular matrices.This type trait tests whether or not the gi...
Definition: IsStrictlyLower.h:86
BLAZE_ALWAYS_INLINE size_t rows(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of rows of the matrix.
Definition: Matrix.h:320
typename T::ConstIterator ConstIterator_
Alias declaration for nested ConstIterator type definitions.The ConstIterator_ alias declaration prov...
Definition: Aliases.h:103
Base class for N-dimensional vectors.The Vector class is a base class for all arbitrarily sized (N-di...
Definition: Forward.h:164
const DMatTransExpr< MT,!SO > trans(const DenseMatrix< MT, SO > &dm)
Calculation of the transpose of the given dense matrix.
Definition: DMatTransExpr.h:733
const bool rowMajor
Storage order flag for row-major matrices.
Definition: StorageOrder.h:71
Header file for the IsComputation type trait class.
typename SubTrait< T1, T2 >::Type SubTrait_
Auxiliary alias declaration for the SubTrait class template.The SubTrait_ alias declaration provides ...
Definition: SubTrait.h:245
Header file for the IntegralConstant class template.
bool isUniUpper(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is an upper unitriangular matrix.
Definition: DenseMatrix.h:1406
bool isIntact(const DiagonalMatrix< MT, SO, DF > &m)
Returns whether the invariants of the given diagonal matrix are intact.
Definition: DiagonalMatrix.h:249
Header file for the SubvectorExprTrait class template.
bool isDefault(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is in default state.
Definition: DiagonalProxy.h:573
Base template for the SubTrait class.
Definition: SubTrait.h:143
typename T::RightOperand RightOperand_
Alias declaration for nested RightOperand type definitions.The RightOperand_ alias declaration provid...
Definition: Aliases.h:363
Header file for the IsUpper type trait.
SubmatrixExprTrait_< MT, unaligned > submatrix(Matrix< MT, SO > &matrix, size_t row, size_t column, size_t m, size_t n)
Creating a view on a specific submatrix of the given matrix.
Definition: Submatrix.h:168
Header file for the IsRestricted type trait.
Header file for the IsMatForEachExpr type trait class.
typename AddTrait< T1, T2 >::Type AddTrait_
Auxiliary alias declaration for the AddTrait class template.The AddTrait_ alias declaration provides ...
Definition: AddTrait.h:245
InversionFlag
Inversion flag.The InversionFlag type enumeration represents the different types of matrix inversion ...
Definition: InversionFlag.h:101
#define BLAZE_INTERNAL_ASSERT(expr, msg)
Run time assertion macro for internal checks.In case of an invalid run time expression, the program execution is terminated. The BLAZE_INTERNAL_ASSERT macro can be disabled by setting the BLAZE_USER_ASSERTION flag to zero or by defining NDEBUG during the compilation.
Definition: Assert.h:101
Header file for the TrueType type/value trait base class.
typename T::BaseType BaseType_
Alias declaration for nested BaseType type definitions.The BaseType_ alias declaration provides a con...
Definition: Aliases.h:63
Header file for the function trace functionality.