35 #ifndef _BLAZE_MATH_CONSTRAINTS_SCHUREXPR_H_ 36 #define _BLAZE_MATH_CONSTRAINTS_SCHUREXPR_H_ 63 #define BLAZE_CONSTRAINT_MUST_BE_SCHUREXPR_TYPE(T) \ 64 static_assert( ::blaze::IsSchurExpr_v<T>, "Non-Schur product expression type detected" ) 83 #define BLAZE_CONSTRAINT_MUST_NOT_BE_SCHUREXPR_TYPE(T) \ 84 static_assert( !::blaze::IsSchurExpr_v<T>, "Schur product expression type detected" ) 103 #define BLAZE_CONSTRAINT_MUST_FORM_VALID_SCHUREXPR(T1,T2) \ 104 static_assert( ::blaze::IsMatrix_v<T1> && \ 105 ::blaze::IsMatrix_v<T2> && \ 106 ( ( ::blaze::Size_v<T1,0UL> == -1L ) || \ 107 ( ::blaze::Size_v<T2,0UL> == -1L ) || \ 108 ( ::blaze::Size_v<T1,0UL> == ::blaze::Size_v<T2,0UL> ) ) && \ 109 ( ( ::blaze::Size_v<T1,1UL> == -1L ) || \ 110 ( ::blaze::Size_v<T2,1UL> == -1L ) || \ 111 ( ::blaze::Size_v<T1,1UL> == ::blaze::Size_v<T2,1UL> ) ) \ 112 , "Invalid matrix/matrix addition expression detected" ) Header file for the IsMatrix type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the IsSchurExpr type trait class.
Header file for the Size type trait.