35#ifndef _BLAZE_MATH_CONSTRAINTS_MATMATSOLVEEXPR_H_
36#define _BLAZE_MATH_CONSTRAINTS_MATMATSOLVEEXPR_H_
63#define BLAZE_CONSTRAINT_MUST_BE_MATMATSOLVEEXPR_TYPE(T) \
64 static_assert( ::blaze::IsMatMatSolveExpr_v<T>, "Non-matrix/matrix solver expression type detected" )
83#define BLAZE_CONSTRAINT_MUST_NOT_BE_MATMATSOLVEEXPR_TYPE(T) \
84 static_assert( !::blaze::IsMatMattSolveExpr_v<T>, "Matrix/matrix solver expression type detected" )
103#define BLAZE_CONSTRAINT_MUST_FORM_VALID_MATMATSOLVEEXPR(T1,T2) \
104 static_assert( ::blaze::IsDenseMatrix_v<T1> && \
105 ::blaze::IsDenseMatrix_v<T2> && \
106 ( ::blaze::Size_v<T1,0UL> == -1L || \
107 ::blaze::Size_v<T1,1UL> == -1L || \
108 ::blaze::Size_v<T1,0UL> == ::blaze::Size_v<T1,1UL> ) && \
109 ( ( ::blaze::Size_v<T1,0UL> == -1L && ::blaze::Size_v<T1,1UL> == -1L ) || \
110 ( ::blaze::Size_v<T2,0UL> == -1L ) || \
111 ( ::blaze::Size_v<T1,0UL> == ::blaze::Size_v<T2,0UL> ) || \
112 ( ::blaze::Size_v<T1,1UL> == ::blaze::Size_v<T2,0UL> ) ) \
113 , "Invalid matrix/matrix solver expression detected" )
Header file for the IsDenseMatrix type trait.
Header file for the IsMatMatSolveExpr type trait class.
Header file for the Size type trait.