35 #ifndef _BLAZE_MATH_CONSTRAINTS_MATMATADDEXPR_H_ 36 #define _BLAZE_MATH_CONSTRAINTS_MATMATADDEXPR_H_ 67 #define BLAZE_CONSTRAINT_MUST_BE_MATMATADDEXPR_TYPE(T) \ 68 static_assert( ::blaze::IsMatMatAddExpr<T>::value, "Non-matrix/matrix addition expression type detected" ) 87 #define BLAZE_CONSTRAINT_MUST_NOT_BE_MATMATADDEXPR_TYPE(T) \ 88 static_assert( !::blaze::IsMatMatAddExpr<T>::value, "Matrix/matrix addition expression type detected" ) 107 #define BLAZE_CONSTRAINT_MUST_FORM_VALID_MATMATADDEXPR(T1,T2) \ 108 static_assert( ::blaze::And< ::blaze::IsMatrix<T1> \ 109 , ::blaze::IsMatrix<T2> \ 110 , ::blaze::Or< ::blaze::Equal< ::blaze::Size<T1,0UL>, ::blaze::PtrdiffT<-1L> > \ 111 , ::blaze::Equal< ::blaze::Size<T2,0UL>, ::blaze::PtrdiffT<-1L> > \ 112 , ::blaze::Equal< ::blaze::Size<T1,0UL>, ::blaze::Size<T2,0UL> > > \ 113 , ::blaze::Or< ::blaze::Equal< ::blaze::Size<T1,1UL>, ::blaze::PtrdiffT<-1L> > \ 114 , ::blaze::Equal< ::blaze::Size<T2,1UL>, ::blaze::PtrdiffT<-1L> > \ 115 , ::blaze::Equal< ::blaze::Size<T1,1UL>, ::blaze::Size<T2,1UL> > > \ 116 >::value, "Invalid matrix/matrix addition expression detected" ) Header file for the And class template.
Header file for the IsMatMatAddExpr type trait class.
Header file for the IsMatrix type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the Or class template.
Header file for the PtrdiffT class template.
Header file for the Size type trait.
Header file for the Equal class template.