35 #ifndef _BLAZE_MATH_CONSTRAINTS_VECTVECMULTEXPR_H_
36 #define _BLAZE_MATH_CONSTRAINTS_VECTVECMULTEXPR_H_
65 #define BLAZE_CONSTRAINT_MUST_BE_VECTVECMULTEXPR_TYPE(T) \
66 static_assert( ::blaze::IsVecTVecMultExpr<T>::value, "Non-outer product expression type detected" )
85 #define BLAZE_CONSTRAINT_MUST_NOT_BE_VECTVECMULTEXPR_TYPE(T) \
86 static_assert( !::blaze::IsVecTVecMultExpr<T>::value, "Outer product expression type detected" )
105 #define BLAZE_CONSTRAINT_MUST_FORM_VALID_VECTVECMULTEXPR(T1,T2) \
106 static_assert( ::blaze::And< ::blaze::IsColumnVector<T1> \
107 , ::blaze::IsRowVector<T2> \
108 >::value, "Invalid vector/vector multiplication expression detected" )
127 #define BLAZE_CONSTRAINT_MUST_NOT_FORM_VALID_VECTVECMULTEXPR(T1,T2) \
128 static_assert( ::blaze::Not< ::blaze::And< ::blaze::IsColumnVector<T1> \
129 , ::blaze::IsRowVector<T2> > \
130 >::value, "Valid vector/vector multiplication expression detected" )
Header file for the IsRowVector type trait.
Header file for the And class template.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the IsVecTVecMultExpr type trait class.
Header file for the Not class template.
Header file for the IsColumnVector type trait.