|
6 | 6 | #include "eigenpy/eigenpy.hpp" |
7 | 7 | #include <stdlib.h> |
8 | 8 |
|
| 9 | +namespace Eigen |
| 10 | +{ |
| 11 | + #define EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, Size, SizeSuffix) \ |
| 12 | + /** \ingroup matrixtypedefs */ \ |
| 13 | + typedef Matrix<Type, Size, Size> Matrix##SizeSuffix##TypeSuffix; \ |
| 14 | + /** \ingroup matrixtypedefs */ \ |
| 15 | + typedef Matrix<Type, Size, 1> Vector##SizeSuffix##TypeSuffix; \ |
| 16 | + /** \ingroup matrixtypedefs */ \ |
| 17 | + typedef Matrix<Type, 1, Size> RowVector##SizeSuffix##TypeSuffix; |
| 18 | + |
| 19 | + #define EIGEN_MAKE_FIXED_TYPEDEFS(Type, TypeSuffix, Size) \ |
| 20 | + /** \ingroup matrixtypedefs */ \ |
| 21 | + typedef Matrix<Type, Size, Dynamic> Matrix##Size##X##TypeSuffix; \ |
| 22 | + /** \ingroup matrixtypedefs */ \ |
| 23 | + typedef Matrix<Type, Dynamic, Size> Matrix##X##Size##TypeSuffix; |
| 24 | + |
| 25 | + #define EIGEN_MAKE_TYPEDEFS_ALL_SIZES(Type, TypeSuffix) \ |
| 26 | + EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 2, 2) \ |
| 27 | + EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 3, 3) \ |
| 28 | + EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 4, 4) \ |
| 29 | + EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, Dynamic, X) \ |
| 30 | + EIGEN_MAKE_FIXED_TYPEDEFS(Type, TypeSuffix, 2) \ |
| 31 | + EIGEN_MAKE_FIXED_TYPEDEFS(Type, TypeSuffix, 3) \ |
| 32 | + EIGEN_MAKE_FIXED_TYPEDEFS(Type, TypeSuffix, 4) |
| 33 | + |
| 34 | + EIGEN_MAKE_TYPEDEFS_ALL_SIZES(long double, ld) |
| 35 | + EIGEN_MAKE_TYPEDEFS_ALL_SIZES(std::complex<long double>, cld) |
| 36 | + |
| 37 | + #undef EIGEN_MAKE_TYPEDEFS_ALL_SIZES |
| 38 | + #undef EIGEN_MAKE_TYPEDEFS |
| 39 | + #undef EIGEN_MAKE_FIXED_TYPEDEFS |
| 40 | +} |
| 41 | + |
9 | 42 | namespace eigenpy |
10 | 43 | { |
11 | 44 |
|
@@ -36,114 +69,148 @@ namespace eigenpy |
36 | 69 |
|
37 | 70 | bp::def("seed",&seed,bp::arg("seed_value"), |
38 | 71 | "Initialize the pseudo-random number generator with the argument seed_value."); |
39 | | - |
| 72 | + |
| 73 | + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2ld); |
40 | 74 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2d); |
41 | 75 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2f); |
42 | 76 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2i); |
43 | 77 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2cf); |
44 | 78 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2cd); |
| 79 | + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2cld); |
45 | 80 |
|
| 81 | + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2Xld); |
46 | 82 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2Xd); |
47 | 83 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2Xf); |
48 | 84 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2Xi); |
49 | 85 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2Xcf); |
50 | 86 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2Xcd); |
| 87 | + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2Xcld); |
51 | 88 |
|
| 89 | + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3ld); |
52 | 90 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3d); |
53 | 91 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3f); |
54 | 92 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3i); |
55 | 93 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3cf); |
56 | 94 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3cd); |
| 95 | + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3cld); |
57 | 96 |
|
58 | 97 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3Xd); |
59 | 98 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3Xf); |
60 | 99 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3Xi); |
61 | 100 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3Xcf); |
62 | 101 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3Xcd); |
| 102 | + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3Xcld); |
63 | 103 |
|
| 104 | + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4ld); |
64 | 105 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4d); |
65 | 106 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4f); |
66 | 107 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4i); |
67 | 108 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4cf); |
68 | 109 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4cd); |
| 110 | + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4cld); |
69 | 111 |
|
| 112 | + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4Xld); |
70 | 113 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4Xd); |
71 | 114 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4Xf); |
72 | 115 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4Xi); |
73 | 116 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4Xcf); |
74 | 117 | ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4Xcd); |
| 118 | + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4Xcld); |
75 | 119 |
|
| 120 | + ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX2ld); |
76 | 121 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX2d); |
77 | 122 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX2f); |
78 | 123 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX2i); |
79 | 124 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX2cf); |
80 | 125 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX2cd); |
| 126 | + ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX2cld); |
81 | 127 |
|
| 128 | + ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX3ld); |
82 | 129 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX3d); |
83 | 130 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX3f); |
84 | 131 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX3i); |
85 | 132 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX3cf); |
86 | 133 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX3cd); |
| 134 | + ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX3cld); |
87 | 135 |
|
| 136 | + ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX4ld); |
88 | 137 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX4d); |
89 | 138 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX4f); |
90 | 139 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX4i); |
91 | 140 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX4cf); |
92 | 141 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX4cd); |
| 142 | + ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX4cld); |
93 | 143 |
|
| 144 | + ENABLE_SPECIFIC_MATRIX_TYPE(MatrixXld); |
94 | 145 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixXd); |
95 | 146 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixXf); |
96 | 147 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixXi); |
97 | 148 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixXcf); |
98 | 149 | ENABLE_SPECIFIC_MATRIX_TYPE(MatrixXcd); |
| 150 | + ENABLE_SPECIFIC_MATRIX_TYPE(MatrixXcld); |
99 | 151 |
|
| 152 | + ENABLE_SPECIFIC_MATRIX_TYPE(RowVector2ld); |
100 | 153 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector2d); |
101 | 154 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector2f); |
102 | 155 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector2i); |
103 | 156 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector2cf); |
104 | 157 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector2cd); |
105 | 158 |
|
| 159 | + ENABLE_SPECIFIC_MATRIX_TYPE(RowVector3ld); |
106 | 160 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector3d); |
107 | 161 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector3f); |
108 | 162 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector3i); |
109 | 163 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector3cf); |
110 | 164 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector3cd); |
| 165 | + ENABLE_SPECIFIC_MATRIX_TYPE(RowVector3cld); |
111 | 166 |
|
| 167 | + ENABLE_SPECIFIC_MATRIX_TYPE(RowVector4ld); |
112 | 168 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector4d); |
113 | 169 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector4f); |
114 | 170 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector4i); |
115 | 171 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector4cf); |
116 | 172 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVector4cd); |
| 173 | + ENABLE_SPECIFIC_MATRIX_TYPE(RowVector4cld); |
117 | 174 |
|
| 175 | + ENABLE_SPECIFIC_MATRIX_TYPE(RowVectorXld); |
118 | 176 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVectorXd); |
119 | 177 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVectorXf); |
120 | 178 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVectorXi); |
121 | 179 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVectorXcf); |
122 | 180 | ENABLE_SPECIFIC_MATRIX_TYPE(RowVectorXcd); |
| 181 | + ENABLE_SPECIFIC_MATRIX_TYPE(RowVectorXcld); |
123 | 182 |
|
| 183 | + ENABLE_SPECIFIC_MATRIX_TYPE(Vector2ld); |
124 | 184 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector2d); |
125 | 185 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector2f); |
126 | 186 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector2i); |
127 | 187 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector2cf); |
128 | 188 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector2cd); |
| 189 | + ENABLE_SPECIFIC_MATRIX_TYPE(Vector2cld); |
129 | 190 |
|
| 191 | + ENABLE_SPECIFIC_MATRIX_TYPE(Vector3ld); |
130 | 192 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector3d); |
131 | 193 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector3f); |
132 | 194 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector3i); |
133 | 195 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector3cf); |
134 | 196 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector3cd); |
| 197 | + ENABLE_SPECIFIC_MATRIX_TYPE(Vector3cld); |
135 | 198 |
|
| 199 | + ENABLE_SPECIFIC_MATRIX_TYPE(Vector4ld); |
136 | 200 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector4d); |
137 | 201 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector4f); |
138 | 202 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector4i); |
139 | 203 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector4cf); |
140 | 204 | ENABLE_SPECIFIC_MATRIX_TYPE(Vector4cd); |
| 205 | + ENABLE_SPECIFIC_MATRIX_TYPE(Vector4cld); |
141 | 206 |
|
| 207 | + ENABLE_SPECIFIC_MATRIX_TYPE(VectorXld); |
142 | 208 | ENABLE_SPECIFIC_MATRIX_TYPE(VectorXd); |
143 | 209 | ENABLE_SPECIFIC_MATRIX_TYPE(VectorXf); |
144 | 210 | ENABLE_SPECIFIC_MATRIX_TYPE(VectorXi); |
145 | 211 | ENABLE_SPECIFIC_MATRIX_TYPE(VectorXcf); |
146 | 212 | ENABLE_SPECIFIC_MATRIX_TYPE(VectorXcd); |
| 213 | + ENABLE_SPECIFIC_MATRIX_TYPE(VectorXcld); |
147 | 214 | } |
148 | 215 |
|
149 | 216 | } // namespace eigenpy |
0 commit comments