Blaze  3.6
MatMatKronExpr.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_CONSTRAINTS_MATMATKRONEXPR_H_
36 #define _BLAZE_MATH_CONSTRAINTS_MATMATKRONEXPR_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // MUST_BE_MATMATKRONEXPR_TYPE CONSTRAINT
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
62 #define BLAZE_CONSTRAINT_MUST_BE_MATMATKRONEXPR_TYPE(T) \
63  static_assert( ::blaze::IsMatMatKronExpr_v<T>, "Non-matrix/matrix Kronecker product expression type detected" )
64 //*************************************************************************************************
65 
66 
67 
68 
69 //=================================================================================================
70 //
71 // MUST_NOT_BE_MATMATKRONEXPR_TYPE CONSTRAINT
72 //
73 //=================================================================================================
74 
75 //*************************************************************************************************
82 #define BLAZE_CONSTRAINT_MUST_NOT_BE_MATMATKRONEXPR_TYPE(T) \
83  static_assert( !::blaze::IsMatMatKronExpr_v<T>, "Matrix/matrix Kronecker product expression type detected" )
84 //*************************************************************************************************
85 
86 
87 
88 
89 //=================================================================================================
90 //
91 // MUST_FORM_VALID_MATMATKRONEXPR CONSTRAINT
92 //
93 //=================================================================================================
94 
95 //*************************************************************************************************
102 #define BLAZE_CONSTRAINT_MUST_FORM_VALID_MATMATKRONEXPR(T1,T2) \
103  static_assert( ::blaze::IsMatrix_v<T1> && \
104  ::blaze::IsMatrix_v<T2> \
105  , "Invalid matrix/matrix Kronecker product expression detected" )
106 //*************************************************************************************************
107 
108 } // namespace blaze
109 
110 #endif
Header file for the IsMatrix type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the IsMatMatKronExpr type trait class.