5 EigenVectorAlgebra::EigenVectorAlgebra() {}
7 EigenVectorAlgebra::~EigenVectorAlgebra() {}
9 bool EigenVectorAlgebra::IsEigenVector(std::type_info
const& obj_type) {
11 return typeid(Eigen::Vector2d)==obj_type
12 ||
typeid(Eigen::Vector2f)==obj_type
13 ||
typeid(Eigen::Vector2i)==obj_type
14 ||
typeid(Eigen::Vector3d)==obj_type
15 ||
typeid(Eigen::Vector3f)==obj_type
16 ||
typeid(Eigen::Vector3i)==obj_type
17 ||
typeid(Eigen::Vector4d)==obj_type
18 ||
typeid(Eigen::Vector4f)==obj_type
19 ||
typeid(Eigen::Vector4i)==obj_type
20 ||
typeid(Eigen::VectorXd)==obj_type
21 ||
typeid(Eigen::VectorXf)==obj_type
22 ||
typeid(Eigen::VectorXi)==obj_type;
25 bool EigenVectorAlgebra::IsZero(boost::any
const& obj) {
26 if(
typeid(Eigen::Vector2d)==obj.type() ) {
return IsZero<Eigen::Vector2d>(obj); }
27 if(
typeid(Eigen::Vector2f)==obj.type() ) {
return IsZero<Eigen::Vector2f>(obj); }
28 if(
typeid(Eigen::Vector2i)==obj.type() ) {
return IsZero<Eigen::Vector2i>(obj); }
30 if(
typeid(Eigen::Vector3d)==obj.type() ) {
return IsZero<Eigen::Vector3d>(obj); }
31 if(
typeid(Eigen::Vector3f)==obj.type() ) {
return IsZero<Eigen::Vector3f>(obj); }
32 if(
typeid(Eigen::Vector3i)==obj.type() ) {
return IsZero<Eigen::Vector3i>(obj); }
34 if(
typeid(Eigen::Vector4d)==obj.type() ) {
return IsZero<Eigen::Vector4d>(obj); }
35 if(
typeid(Eigen::Vector4f)==obj.type() ) {
return IsZero<Eigen::Vector4f>(obj); }
36 if(
typeid(Eigen::Vector4i)==obj.type() ) {
return IsZero<Eigen::Vector4i>(obj); }
38 if(
typeid(Eigen::VectorXd)==obj.type() ) {
return IsZero<Eigen::VectorXd>(obj); }
39 if(
typeid(Eigen::VectorXf)==obj.type() ) {
return IsZero<Eigen::VectorXf>(obj); }
40 if(
typeid(Eigen::VectorXi)==obj.type() ) {
return IsZero<Eigen::VectorXi>(obj); }
47 unsigned int EigenVectorAlgebra::Size(boost::any
const& vec) {
48 if(
typeid(Eigen::Vector2d)==vec.type() ) {
return 2; }
49 if(
typeid(Eigen::Vector3d)==vec.type() ) {
return 3; }
50 if(
typeid(Eigen::Vector4d)==vec.type() ) {
return 4; }
51 if(
typeid(Eigen::VectorXd)==vec.type() ) {
52 const Eigen::VectorXd& eig = boost::any_cast<Eigen::VectorXd const&>(vec);
56 if(
typeid(Eigen::Vector2f)==vec.type() ) {
return 2; }
57 if(
typeid(Eigen::Vector3f)==vec.type() ) {
return 3; }
58 if(
typeid(Eigen::Vector4f)==vec.type() ) {
return 4; }
59 if(
typeid(Eigen::VectorXf)==vec.type() ) {
60 const Eigen::VectorXf& eig = boost::any_cast<Eigen::VectorXf const&>(vec);
64 if(
typeid(Eigen::Vector2i)==vec.type() ) {
return 2; }
65 if(
typeid(Eigen::Vector3i)==vec.type() ) {
return 3; }
66 if(
typeid(Eigen::Vector4i)==vec.type() ) {
return 4; }
67 if(
typeid(Eigen::VectorXi)==vec.type() ) {
68 const Eigen::VectorXi& eig = boost::any_cast<Eigen::VectorXi const&>(vec);
77 double EigenVectorAlgebra::Norm(boost::any
const& vec) {
78 if(
typeid(Eigen::Vector2d)==vec.type() ) {
return boost::any_cast<Eigen::Vector2d const&>(vec).norm(); }
79 if(
typeid(Eigen::Vector3d)==vec.type() ) {
return boost::any_cast<Eigen::Vector3d const&>(vec).norm(); }
80 if(
typeid(Eigen::Vector4d)==vec.type() ) {
return boost::any_cast<Eigen::Vector4d const&>(vec).norm(); }
81 if(
typeid(Eigen::VectorXd)==vec.type() ) {
return boost::any_cast<Eigen::VectorXd const&>(vec).norm(); }
83 if(
typeid(Eigen::Vector2f)==vec.type() ) {
return boost::any_cast<Eigen::Vector2f const&>(vec).norm(); }
84 if(
typeid(Eigen::Vector3f)==vec.type() ) {
return boost::any_cast<Eigen::Vector3f const&>(vec).norm(); }
85 if(
typeid(Eigen::Vector4f)==vec.type() ) {
return boost::any_cast<Eigen::Vector4f const&>(vec).norm(); }
86 if(
typeid(Eigen::VectorXf)==vec.type() ) {
return boost::any_cast<Eigen::VectorXf const&>(vec).norm(); }
88 if(
typeid(Eigen::Vector2i)==vec.type() ) {
return boost::any_cast<Eigen::Vector2i const&>(vec).norm(); }
89 if(
typeid(Eigen::Vector3i)==vec.type() ) {
return boost::any_cast<Eigen::Vector3i const&>(vec).norm(); }
90 if(
typeid(Eigen::Vector4i)==vec.type() ) {
return boost::any_cast<Eigen::Vector4i const&>(vec).norm(); }
91 if(
typeid(Eigen::VectorXi)==vec.type() ) {
return boost::any_cast<Eigen::VectorXi const&>(vec).norm(); }
98 double EigenVectorAlgebra::InnerProduct(boost::any
const& vec1, boost::any
const& vec2) {
99 if(
typeid(Eigen::Vector2d)==vec1.type() &&
typeid(Eigen::Vector2d)==vec2.type() ) {
return InnerProduct<Eigen::Vector2d, Eigen::Vector2d>(vec1, vec2); }
100 if(
typeid(Eigen::VectorXd)==vec1.type() &&
typeid(Eigen::Vector2d)==vec2.type() ) {
return InnerProduct<Eigen::VectorXd, Eigen::Vector2d>(vec1, vec2); }
101 if(
typeid(Eigen::Vector2d)==vec1.type() &&
typeid(Eigen::VectorXd)==vec2.type() ) {
return InnerProduct<Eigen::Vector2d, Eigen::VectorXd>(vec1, vec2); }
103 if(
typeid(Eigen::Vector3d)==vec1.type() &&
typeid(Eigen::Vector3d)==vec2.type() ) {
return InnerProduct<Eigen::Vector3d, Eigen::Vector3d>(vec1, vec2); }
104 if(
typeid(Eigen::VectorXd)==vec1.type() &&
typeid(Eigen::Vector3d)==vec2.type() ) {
return InnerProduct<Eigen::VectorXd, Eigen::Vector3d>(vec1, vec2); }
105 if(
typeid(Eigen::Vector3d)==vec1.type() &&
typeid(Eigen::VectorXd)==vec2.type() ) {
return InnerProduct<Eigen::Vector3d, Eigen::VectorXd>(vec1, vec2); }
107 if(
typeid(Eigen::Vector4d)==vec1.type() &&
typeid(Eigen::Vector4d)==vec2.type() ) {
return InnerProduct<Eigen::Vector4d, Eigen::Vector4d>(vec1, vec2); }
108 if(
typeid(Eigen::VectorXd)==vec1.type() &&
typeid(Eigen::Vector4d)==vec2.type() ) {
return InnerProduct<Eigen::VectorXd, Eigen::Vector4d>(vec1, vec2); }
109 if(
typeid(Eigen::Vector4d)==vec1.type() &&
typeid(Eigen::VectorXd)==vec2.type() ) {
return InnerProduct<Eigen::Vector4d, Eigen::VectorXd>(vec1, vec2); }
111 if(
typeid(Eigen::VectorXd)==vec1.type() &&
typeid(Eigen::VectorXd)==vec2.type() ) {
return InnerProduct<Eigen::VectorXd, Eigen::VectorXd>(vec1, vec2); }
113 if(
typeid(Eigen::Vector2f)==vec1.type() &&
typeid(Eigen::Vector2f)==vec2.type() ) {
return InnerProduct<Eigen::Vector2f, Eigen::Vector2f>(vec1, vec2); }
114 if(
typeid(Eigen::VectorXf)==vec1.type() &&
typeid(Eigen::Vector2f)==vec2.type() ) {
return InnerProduct<Eigen::VectorXf, Eigen::Vector2f>(vec1, vec2); }
115 if(
typeid(Eigen::Vector2f)==vec1.type() &&
typeid(Eigen::VectorXf)==vec2.type() ) {
return InnerProduct<Eigen::Vector2f, Eigen::VectorXf>(vec1, vec2); }
117 if(
typeid(Eigen::Vector3f)==vec1.type() &&
typeid(Eigen::Vector3f)==vec2.type() ) {
return InnerProduct<Eigen::Vector3f, Eigen::Vector3f>(vec1, vec2); }
118 if(
typeid(Eigen::VectorXf)==vec1.type() &&
typeid(Eigen::Vector3f)==vec2.type() ) {
return InnerProduct<Eigen::VectorXf, Eigen::Vector3f>(vec1, vec2); }
119 if(
typeid(Eigen::Vector3f)==vec1.type() &&
typeid(Eigen::VectorXf)==vec2.type() ) {
return InnerProduct<Eigen::Vector3f, Eigen::VectorXf>(vec1, vec2); }
121 if(
typeid(Eigen::Vector4f)==vec1.type() &&
typeid(Eigen::Vector4f)==vec2.type() ) {
return InnerProduct<Eigen::Vector4f, Eigen::Vector4f>(vec1, vec2); }
122 if(
typeid(Eigen::VectorXf)==vec1.type() &&
typeid(Eigen::Vector4f)==vec2.type() ) {
return InnerProduct<Eigen::VectorXf, Eigen::Vector4f>(vec1, vec2); }
123 if(
typeid(Eigen::Vector4f)==vec1.type() &&
typeid(Eigen::VectorXf)==vec2.type() ) {
return InnerProduct<Eigen::Vector4f, Eigen::VectorXf>(vec1, vec2); }
125 if(
typeid(Eigen::VectorXf)==vec1.type() &&
typeid(Eigen::VectorXf)==vec2.type() ) {
return InnerProduct<Eigen::VectorXf, Eigen::VectorXf>(vec1, vec2); }
127 if(
typeid(Eigen::Vector2i)==vec1.type() &&
typeid(Eigen::Vector2i)==vec2.type() ) {
return InnerProduct<Eigen::Vector2i, Eigen::Vector2i>(vec1, vec2); }
128 if(
typeid(Eigen::VectorXi)==vec1.type() &&
typeid(Eigen::Vector2i)==vec2.type() ) {
return InnerProduct<Eigen::VectorXi, Eigen::Vector2i>(vec1, vec2); }
129 if(
typeid(Eigen::Vector2i)==vec1.type() &&
typeid(Eigen::VectorXi)==vec2.type() ) {
return InnerProduct<Eigen::Vector2i, Eigen::VectorXi>(vec1, vec2); }
131 if(
typeid(Eigen::Vector3i)==vec1.type() &&
typeid(Eigen::Vector3i)==vec2.type() ) {
return InnerProduct<Eigen::Vector3i, Eigen::Vector3i>(vec1, vec2); }
132 if(
typeid(Eigen::VectorXi)==vec1.type() &&
typeid(Eigen::Vector3i)==vec2.type() ) {
return InnerProduct<Eigen::VectorXi, Eigen::Vector3i>(vec1, vec2); }
133 if(
typeid(Eigen::Vector3i)==vec1.type() &&
typeid(Eigen::VectorXi)==vec2.type() ) {
return InnerProduct<Eigen::Vector3i, Eigen::VectorXi>(vec1, vec2); }
135 if(
typeid(Eigen::Vector4i)==vec1.type() &&
typeid(Eigen::Vector4i)==vec2.type() ) {
return InnerProduct<Eigen::Vector4i, Eigen::Vector4i>(vec1, vec2); }
136 if(
typeid(Eigen::VectorXi)==vec1.type() &&
typeid(Eigen::Vector4i)==vec2.type() ) {
return InnerProduct<Eigen::VectorXi, Eigen::Vector4i>(vec1, vec2); }
137 if(
typeid(Eigen::Vector4i)==vec1.type() &&
typeid(Eigen::VectorXi)==vec2.type() ) {
return InnerProduct<Eigen::Vector4i, Eigen::VectorXi>(vec1, vec2); }
139 if(
typeid(Eigen::VectorXi)==vec1.type() &&
typeid(Eigen::VectorXi)==vec2.type() ) {
return InnerProduct<Eigen::VectorXi, Eigen::VectorXi>(vec1, vec2); }
146 boost::any EigenVectorAlgebra::OuterProduct(boost::any
const& vec1, boost::any
const& vec2) {
147 if(
typeid(Eigen::Vector2d)==vec1.type() &&
typeid(Eigen::Vector2d)==vec2.type() ) {
return OuterProduct<Eigen::Matrix2d, Eigen::Vector2d, Eigen::Vector2d>(vec1, vec2); }
148 if(
typeid(Eigen::VectorXd)==vec1.type() &&
typeid(Eigen::Vector2d)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXd, Eigen::VectorXd, Eigen::Vector2d>(vec1, vec2); }
149 if(
typeid(Eigen::Vector2d)==vec1.type() &&
typeid(Eigen::VectorXd)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXd, Eigen::Vector2d, Eigen::VectorXd>(vec1, vec2); }
151 if(
typeid(Eigen::Vector3d)==vec1.type() &&
typeid(Eigen::Vector3d)==vec2.type() ) {
return OuterProduct<Eigen::Matrix3d, Eigen::Vector3d, Eigen::Vector3d>(vec1, vec2); }
152 if(
typeid(Eigen::VectorXd)==vec1.type() &&
typeid(Eigen::Vector3d)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXd, Eigen::VectorXd, Eigen::Vector3d>(vec1, vec2); }
153 if(
typeid(Eigen::Vector3d)==vec1.type() &&
typeid(Eigen::VectorXd)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXd, Eigen::Vector3d, Eigen::VectorXd>(vec1, vec2); }
155 if(
typeid(Eigen::Vector4d)==vec1.type() &&
typeid(Eigen::Vector4d)==vec2.type() ) {
return OuterProduct<Eigen::Matrix4d, Eigen::Vector4d, Eigen::Vector4d>(vec1, vec2); }
156 if(
typeid(Eigen::VectorXd)==vec1.type() &&
typeid(Eigen::Vector4d)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXd, Eigen::VectorXd, Eigen::Vector4d>(vec1, vec2); }
157 if(
typeid(Eigen::Vector4d)==vec1.type() &&
typeid(Eigen::VectorXd)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXd, Eigen::Vector4d, Eigen::VectorXd>(vec1, vec2); }
159 if(
typeid(Eigen::VectorXd)==vec1.type() &&
typeid(Eigen::VectorXd)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXd, Eigen::VectorXd, Eigen::VectorXd>(vec1, vec2); }
161 if(
typeid(Eigen::Vector2f)==vec1.type() &&
typeid(Eigen::Vector2f)==vec2.type() ) {
return OuterProduct<Eigen::Matrix2f, Eigen::Vector2f, Eigen::Vector2f>(vec1, vec2); }
162 if(
typeid(Eigen::VectorXf)==vec1.type() &&
typeid(Eigen::Vector2f)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXf, Eigen::VectorXf, Eigen::Vector2f>(vec1, vec2); }
163 if(
typeid(Eigen::Vector2f)==vec1.type() &&
typeid(Eigen::VectorXf)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXf, Eigen::Vector2f, Eigen::VectorXf>(vec1, vec2); }
165 if(
typeid(Eigen::Vector3f)==vec1.type() &&
typeid(Eigen::Vector3f)==vec2.type() ) {
return OuterProduct<Eigen::Matrix3f, Eigen::Vector3f, Eigen::Vector3f>(vec1, vec2); }
166 if(
typeid(Eigen::VectorXf)==vec1.type() &&
typeid(Eigen::Vector3f)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXf, Eigen::VectorXf, Eigen::Vector3f>(vec1, vec2); }
167 if(
typeid(Eigen::Vector3f)==vec1.type() &&
typeid(Eigen::VectorXf)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXf, Eigen::Vector3f, Eigen::VectorXf>(vec1, vec2); }
169 if(
typeid(Eigen::Vector4f)==vec1.type() &&
typeid(Eigen::Vector4f)==vec2.type() ) {
return OuterProduct<Eigen::Matrix4f, Eigen::Vector4f, Eigen::Vector4f>(vec1, vec2); }
170 if(
typeid(Eigen::VectorXf)==vec1.type() &&
typeid(Eigen::Vector4f)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXf, Eigen::VectorXf, Eigen::Vector4f>(vec1, vec2); }
171 if(
typeid(Eigen::Vector4f)==vec1.type() &&
typeid(Eigen::VectorXf)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXf, Eigen::Vector4f, Eigen::VectorXf>(vec1, vec2); }
173 if(
typeid(Eigen::VectorXf)==vec1.type() &&
typeid(Eigen::VectorXf)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXf, Eigen::VectorXf, Eigen::VectorXf>(vec1, vec2); }
175 if(
typeid(Eigen::Vector2i)==vec1.type() &&
typeid(Eigen::Vector2i)==vec2.type() ) {
return OuterProduct<Eigen::Matrix2i, Eigen::Vector2i, Eigen::Vector2i>(vec1, vec2); }
176 if(
typeid(Eigen::VectorXi)==vec1.type() &&
typeid(Eigen::Vector2i)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXi, Eigen::VectorXi, Eigen::Vector2i>(vec1, vec2); }
177 if(
typeid(Eigen::Vector2i)==vec1.type() &&
typeid(Eigen::VectorXi)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXi, Eigen::Vector2i, Eigen::VectorXi>(vec1, vec2); }
179 if(
typeid(Eigen::Vector3i)==vec1.type() &&
typeid(Eigen::Vector3i)==vec2.type() ) {
return OuterProduct<Eigen::Matrix3i, Eigen::Vector3i, Eigen::Vector3i>(vec1, vec2); }
180 if(
typeid(Eigen::VectorXi)==vec1.type() &&
typeid(Eigen::Vector3i)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXi, Eigen::VectorXi, Eigen::Vector3i>(vec1, vec2); }
181 if(
typeid(Eigen::Vector3i)==vec1.type() &&
typeid(Eigen::VectorXi)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXi, Eigen::Vector3i, Eigen::VectorXi>(vec1, vec2); }
183 if(
typeid(Eigen::Vector4i)==vec1.type() &&
typeid(Eigen::Vector4i)==vec2.type() ) {
return OuterProduct<Eigen::Matrix4i, Eigen::Vector4i, Eigen::Vector4i>(vec1, vec2); }
184 if(
typeid(Eigen::VectorXi)==vec1.type() &&
typeid(Eigen::Vector4i)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXi, Eigen::VectorXi, Eigen::Vector4i>(vec1, vec2); }
185 if(
typeid(Eigen::Vector4i)==vec1.type() &&
typeid(Eigen::VectorXi)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXi, Eigen::Vector4i, Eigen::VectorXi>(vec1, vec2); }
187 if(
typeid(Eigen::VectorXi)==vec1.type() &&
typeid(Eigen::VectorXi)==vec2.type() ) {
return OuterProduct<Eigen::MatrixXi, Eigen::VectorXi, Eigen::VectorXi>(vec1, vec2); }
194 boost::any EigenVectorAlgebra::AccessElement(boost::any
const& vec,
unsigned int const i) {
195 if(
typeid(Eigen::Vector2d)==vec.type() ) {
return AccessElement<Eigen::Vector2d>(vec, i); }
196 if(
typeid(Eigen::Vector2f)==vec.type() ) {
return AccessElement<Eigen::Vector2f>(vec, i); }
197 if(
typeid(Eigen::Vector2i)==vec.type() ) {
return AccessElement<Eigen::Vector2i>(vec, i); }
199 if(
typeid(Eigen::Vector3d)==vec.type() ) {
return AccessElement<Eigen::Vector3d>(vec, i); }
200 if(
typeid(Eigen::Vector3f)==vec.type() ) {
return AccessElement<Eigen::Vector3f>(vec, i); }
201 if(
typeid(Eigen::Vector3i)==vec.type() ) {
return AccessElement<Eigen::Vector3i>(vec, i); }
203 if(
typeid(Eigen::Vector4d)==vec.type() ) {
return AccessElement<Eigen::Vector4d>(vec, i); }
204 if(
typeid(Eigen::Vector4f)==vec.type() ) {
return AccessElement<Eigen::Vector4f>(vec, i); }
205 if(
typeid(Eigen::Vector4i)==vec.type() ) {
return AccessElement<Eigen::Vector4i>(vec, i); }
207 if(
typeid(Eigen::VectorXd)==vec.type() ) {
return AccessElement<Eigen::VectorXd>(vec, i); }
208 if(
typeid(Eigen::VectorXf)==vec.type() ) {
return AccessElement<Eigen::VectorXf>(vec, i); }
209 if(
typeid(Eigen::VectorXi)==vec.type() ) {
return AccessElement<Eigen::VectorXi>(vec, i); }
216 boost::any EigenVectorAlgebra::Identity(std::type_info
const& type,
unsigned int const rows,
unsigned int const cols) {
217 if( type==
typeid(Eigen::Vector2d) ) {
return (Eigen::Matrix2d)Eigen::Matrix2d::Identity(); }
218 if( type==
typeid(Eigen::Vector2f) ) {
return (Eigen::Matrix2f)Eigen::Matrix2f::Identity(); }
219 if( type==
typeid(Eigen::Vector2i) ) {
return (Eigen::Matrix2i)Eigen::Matrix2i::Identity(); }
221 if( type==
typeid(Eigen::Vector3d) ) {
return (Eigen::Matrix3d)Eigen::Matrix3d::Identity(); }
222 if( type==
typeid(Eigen::Vector3f) ) {
return (Eigen::Matrix3f)Eigen::Matrix3f::Identity(); }
223 if( type==
typeid(Eigen::Vector3i) ) {
return (Eigen::Matrix3i)Eigen::Matrix3i::Identity(); }
225 if( type==
typeid(Eigen::Vector4d) ) {
return (Eigen::Matrix4d)Eigen::Matrix4d::Identity(); }
226 if( type==
typeid(Eigen::Vector4f) ) {
return (Eigen::Matrix4f)Eigen::Matrix4f::Identity(); }
227 if( type==
typeid(Eigen::Vector4i) ) {
return (Eigen::Matrix4i)Eigen::Matrix4i::Identity(); }
229 if( type==
typeid(Eigen::VectorXd) ) {
return (Eigen::MatrixXd)Eigen::MatrixXd::Identity(rows, cols); }
230 if( type==
typeid(Eigen::VectorXf) ) {
return (Eigen::MatrixXf)Eigen::MatrixXf::Identity(rows, cols); }
231 if( type==
typeid(Eigen::VectorXi) ) {
return (Eigen::MatrixXi)Eigen::MatrixXi::Identity(rows, cols); }
238 boost::any EigenVectorAlgebra::Add(boost::any
const& in0, boost::any
const& in1) {
240 if( in0.type()==
typeid(Eigen::Vector2d) ) {
241 if( in1.type()==
typeid(Eigen::Vector2d) ) {
return Add<Eigen::Vector2d, Eigen::Vector2d>(in0, in1); }
242 return Add<Eigen::Vector2d, Eigen::VectorXd>(in0, in1);
244 if( in0.type()==
typeid(Eigen::Vector2f) ) {
245 if( in1.type()==
typeid(Eigen::Vector2f) ) {
return Add<Eigen::Vector2f, Eigen::Vector2f>(in0, in1); }
246 return Add<Eigen::Vector2f, Eigen::VectorXf>(in0, in1);
248 if( in0.type()==
typeid(Eigen::Vector2i) ) {
249 if( in1.type()==
typeid(Eigen::Vector2i) ) {
return Add<Eigen::Vector2i, Eigen::Vector2i>(in0, in1); }
250 return Add<Eigen::Vector2i, Eigen::VectorXi>(in0, in1);
254 if( in0.type()==
typeid(Eigen::Vector3d) ) {
255 if( in1.type()==
typeid(Eigen::Vector3d) ) {
return Add<Eigen::Vector3d, Eigen::Vector3d>(in0, in1); }
256 return Add<Eigen::Vector3d, Eigen::VectorXd>(in0, in1);
258 if( in0.type()==
typeid(Eigen::Vector3f) ) {
259 if( in1.type()==
typeid(Eigen::Vector3f) ) {
return Add<Eigen::Vector3f, Eigen::Vector3f>(in0, in1); }
260 return Add<Eigen::Vector3f, Eigen::VectorXf>(in0, in1);
262 if( in0.type()==
typeid(Eigen::Vector3i) ) {
263 if( in1.type()==
typeid(Eigen::Vector3i) ) {
return Add<Eigen::Vector3i, Eigen::Vector3i>(in0, in1); }
264 return Add<Eigen::Vector3i, Eigen::VectorXi>(in0, in1);
268 if( in0.type()==
typeid(Eigen::Vector4d) ) {
269 if( in1.type()==
typeid(Eigen::Vector4d) ) {
return Add<Eigen::Vector4d, Eigen::Vector4d>(in0, in1); }
270 return Add<Eigen::Vector4d, Eigen::VectorXd>(in0, in1);
272 if( in0.type()==
typeid(Eigen::Vector4f) ) {
273 if( in1.type()==
typeid(Eigen::Vector4f) ) {
return Add<Eigen::Vector4f, Eigen::Vector4f>(in0, in1); }
274 return Add<Eigen::Vector4f, Eigen::VectorXf>(in0, in1);
276 if( in0.type()==
typeid(Eigen::Vector4i) ) {
277 if( in1.type()==
typeid(Eigen::Vector4i) ) {
return Add<Eigen::Vector4i, Eigen::Vector4i>(in0, in1); }
278 return Add<Eigen::Vector4i, Eigen::VectorXi>(in0, in1);
282 if( in0.type()==
typeid(Eigen::VectorXd) ) {
283 if( in1.type()==
typeid(Eigen::Vector2d) ) {
return Add<Eigen::VectorXd, Eigen::Vector2d>(in0, in1); }
284 if( in1.type()==
typeid(Eigen::Vector3d) ) {
return Add<Eigen::VectorXd, Eigen::Vector3d>(in0, in1); }
285 if( in1.type()==
typeid(Eigen::Vector4d) ) {
return Add<Eigen::VectorXd, Eigen::Vector4d>(in0, in1); }
286 return Add<Eigen::VectorXd, Eigen::VectorXd>(in0, in1);
288 if( in0.type()==
typeid(Eigen::VectorXf) ) {
289 if( in1.type()==
typeid(Eigen::Vector2f) ) {
return Add<Eigen::VectorXf, Eigen::Vector2f>(in0, in1); }
290 if( in1.type()==
typeid(Eigen::Vector3f) ) {
return Add<Eigen::VectorXf, Eigen::Vector3f>(in0, in1); }
291 if( in1.type()==
typeid(Eigen::Vector4f) ) {
return Add<Eigen::VectorXf, Eigen::Vector4f>(in0, in1); }
292 return Add<Eigen::VectorXf, Eigen::VectorXf>(in0, in1);
294 if( in0.type()==
typeid(Eigen::VectorXi) ) {
295 if( in1.type()==
typeid(Eigen::Vector2i) ) {
return Add<Eigen::VectorXi, Eigen::Vector2i>(in0, in1); }
296 if( in1.type()==
typeid(Eigen::Vector3i) ) {
return Add<Eigen::VectorXi, Eigen::Vector3i>(in0, in1); }
297 if( in1.type()==
typeid(Eigen::Vector4i) ) {
return Add<Eigen::VectorXi, Eigen::Vector4i>(in0, in1); }
298 return Add<Eigen::VectorXi, Eigen::VectorXi>(in0, in1);
306 boost::any EigenVectorAlgebra::Subtract(boost::any
const& in0, boost::any
const& in1) {
308 if( in0.type()==
typeid(Eigen::Vector2d) ) {
309 if( in1.type()==
typeid(Eigen::Vector2d) ) {
return Subtract<Eigen::Vector2d, Eigen::Vector2d>(in0, in1); }
310 return Subtract<Eigen::Vector2d, Eigen::VectorXd>(in0, in1);
312 if( in0.type()==
typeid(Eigen::Vector2f) ) {
313 if( in1.type()==
typeid(Eigen::Vector2f) ) {
return Subtract<Eigen::Vector2f, Eigen::Vector2f>(in0, in1); }
314 return Subtract<Eigen::Vector2f, Eigen::VectorXf>(in0, in1);
316 if( in0.type()==
typeid(Eigen::Vector2i) ) {
317 if( in1.type()==
typeid(Eigen::Vector2i) ) {
return Subtract<Eigen::Vector2i, Eigen::Vector2i>(in0, in1); }
318 return Subtract<Eigen::Vector2i, Eigen::VectorXi>(in0, in1);
322 if( in0.type()==
typeid(Eigen::Vector3d) ) {
323 if( in1.type()==
typeid(Eigen::Vector3d) ) {
return Subtract<Eigen::Vector3d, Eigen::Vector3d>(in0, in1); }
324 return Subtract<Eigen::Vector3d, Eigen::VectorXd>(in0, in1);
326 if( in0.type()==
typeid(Eigen::Vector3f) ) {
327 if( in1.type()==
typeid(Eigen::Vector3f) ) {
return Subtract<Eigen::Vector3f, Eigen::Vector3f>(in0, in1); }
328 return Subtract<Eigen::Vector3f, Eigen::VectorXf>(in0, in1);
330 if( in0.type()==
typeid(Eigen::Vector3i) ) {
331 if( in1.type()==
typeid(Eigen::Vector3i) ) {
return Subtract<Eigen::Vector3i, Eigen::Vector3i>(in0, in1); }
332 return Subtract<Eigen::Vector3i, Eigen::VectorXi>(in0, in1);
336 if( in0.type()==
typeid(Eigen::Vector4d) ) {
337 if( in1.type()==
typeid(Eigen::Vector4d) ) {
return Subtract<Eigen::Vector4d, Eigen::Vector4d>(in0, in1); }
338 return Subtract<Eigen::Vector4d, Eigen::VectorXd>(in0, in1);
340 if( in0.type()==
typeid(Eigen::Vector4f) ) {
341 if( in1.type()==
typeid(Eigen::Vector4f) ) {
return Subtract<Eigen::Vector4f, Eigen::Vector4f>(in0, in1); }
342 return Subtract<Eigen::Vector4f, Eigen::VectorXf>(in0, in1);
344 if( in0.type()==
typeid(Eigen::Vector4i) ) {
345 if( in1.type()==
typeid(Eigen::Vector4i) ) {
return Subtract<Eigen::Vector4i, Eigen::Vector4i>(in0, in1); }
346 return Subtract<Eigen::Vector4i, Eigen::VectorXi>(in0, in1);
350 if( in0.type()==
typeid(Eigen::VectorXd) ) {
351 if( in1.type()==
typeid(Eigen::Vector2d) ) {
return Subtract<Eigen::VectorXd, Eigen::Vector2d>(in0, in1); }
352 if( in1.type()==
typeid(Eigen::Vector3d) ) {
return Subtract<Eigen::VectorXd, Eigen::Vector3d>(in0, in1); }
353 if( in1.type()==
typeid(Eigen::Vector4d) ) {
return Subtract<Eigen::VectorXd, Eigen::Vector4d>(in0, in1); }
354 return Subtract<Eigen::VectorXd, Eigen::VectorXd>(in0, in1);
356 if( in0.type()==
typeid(Eigen::VectorXf) ) {
357 if( in1.type()==
typeid(Eigen::Vector2f) ) {
return Subtract<Eigen::VectorXf, Eigen::Vector2f>(in0, in1); }
358 if( in1.type()==
typeid(Eigen::Vector3f) ) {
return Subtract<Eigen::VectorXf, Eigen::Vector3f>(in0, in1); }
359 if( in1.type()==
typeid(Eigen::Vector4f) ) {
return Subtract<Eigen::VectorXf, Eigen::Vector4f>(in0, in1); }
360 return Subtract<Eigen::VectorXf, Eigen::VectorXf>(in0, in1);
362 if( in0.type()==
typeid(Eigen::VectorXi) ) {
363 if( in1.type()==
typeid(Eigen::Vector2i) ) {
return Subtract<Eigen::VectorXi, Eigen::Vector2i>(in0, in1); }
364 if( in1.type()==
typeid(Eigen::Vector3i) ) {
return Subtract<Eigen::VectorXi, Eigen::Vector3i>(in0, in1); }
365 if( in1.type()==
typeid(Eigen::Vector4i) ) {
return Subtract<Eigen::VectorXi, Eigen::Vector4i>(in0, in1); }
366 return Subtract<Eigen::VectorXi, Eigen::VectorXi>(in0, in1);
374 boost::any EigenVectorAlgebra::ScalarMultiply(boost::any
const& in0, boost::any
const& in1) {
375 if( in0.type()==
typeid(
double) ) {
376 if( in1.type()==
typeid(Eigen::Vector2d) ) {
return ScalarMultiply<double, Eigen::Vector2d>(in0, in1); }
377 if( in1.type()==
typeid(Eigen::Vector3d) ) {
return ScalarMultiply<double, Eigen::Vector3d>(in0, in1); }
378 if( in1.type()==
typeid(Eigen::Vector4d) ) {
return ScalarMultiply<double, Eigen::Vector4d>(in0, in1); }
380 return ScalarMultiply<double, Eigen::VectorXd>(in0, in1);
383 if( in0.type()==
typeid(
float) ) {
384 if( in1.type()==
typeid(Eigen::Vector2f) ) {
return ScalarMultiply<float, Eigen::Vector2f>(in0, in1); }
385 if( in1.type()==
typeid(Eigen::Vector3f) ) {
return ScalarMultiply<float, Eigen::Vector3f>(in0, in1); }
386 if( in1.type()==
typeid(Eigen::Vector4f) ) {
return ScalarMultiply<float, Eigen::Vector4f>(in0, in1); }
388 return ScalarMultiply<float, Eigen::VectorXf>(in0, in1);
391 if( in0.type()==
typeid(
int) ) {
392 if( in1.type()==
typeid(Eigen::Vector2i) ) {
return ScalarMultiply<int, Eigen::Vector2i>(in0, in1); }
393 if( in1.type()==
typeid(Eigen::Vector3i) ) {
return ScalarMultiply<int, Eigen::Vector3i>(in0, in1); }
394 if( in1.type()==
typeid(Eigen::Vector4i) ) {
return ScalarMultiply<int, Eigen::Vector4i>(in0, in1); }
396 return ScalarMultiply<int, Eigen::VectorXi>(in0, in1);
399 if( in0.type()==
typeid(
unsigned int) ) {
400 if( in1.type()==
typeid(Eigen::Vector2i) ) {
return ScalarMultiply<unsigned int, Eigen::Vector2i>(in0, in1); }
401 if( in1.type()==
typeid(Eigen::Vector3i) ) {
return ScalarMultiply<unsigned int, Eigen::Vector3i>(in0, in1); }
402 if( in1.type()==
typeid(Eigen::Vector4i) ) {
return ScalarMultiply<unsigned int, Eigen::Vector4i>(in0, in1); }
404 return ScalarMultiply<unsigned int, Eigen::VectorXi>(in0, in1);
412 boost::any EigenVectorAlgebra::Apply(boost::any
const& A, boost::any
const& x) {
413 if( A.type()==
typeid(Eigen::Vector2d) ) {
414 if( x.type()==
typeid(Eigen::Vector2d) ) {
return Apply<Eigen::Vector2d, Eigen::Vector2d>(A, x); }
415 return Apply<Eigen::Vector2d, Eigen::VectorXd>(A, x);
417 if( A.type()==
typeid(Eigen::Vector2f) ) {
418 if( x.type()==
typeid(Eigen::Vector2f) ) {
return Apply<Eigen::Vector2f, Eigen::Vector2f>(A, x); }
419 return Apply<Eigen::Vector2f, Eigen::VectorXf>(A, x);
421 if( A.type()==
typeid(Eigen::Vector2i) ) {
422 if( x.type()==
typeid(Eigen::Vector2i) ) {
return Apply<Eigen::Vector2i, Eigen::Vector2i>(A, x); }
423 return Apply<Eigen::Vector2i, Eigen::VectorXi>(A, x);
426 if( A.type()==
typeid(Eigen::Vector3d) ) {
427 if( x.type()==
typeid(Eigen::Vector3d) ) {
return Apply<Eigen::Vector3d, Eigen::Vector3d>(A, x); }
428 return Apply<Eigen::Vector3d, Eigen::VectorXd>(A, x);
430 if( A.type()==
typeid(Eigen::Vector3f) ) {
431 if( x.type()==
typeid(Eigen::Vector3f) ) {
return Apply<Eigen::Vector3f, Eigen::Vector3f>(A, x); }
432 return Apply<Eigen::Vector3f, Eigen::VectorXf>(A, x);
434 if( A.type()==
typeid(Eigen::Vector3i) ) {
435 if( x.type()==
typeid(Eigen::Vector3i) ) {
return Apply<Eigen::Vector3i, Eigen::Vector3i>(A, x); }
436 return Apply<Eigen::Vector3i, Eigen::VectorXi>(A, x);
439 if( A.type()==
typeid(Eigen::Vector4d) ) {
440 if( x.type()==
typeid(Eigen::Vector4d) ) {
return Apply<Eigen::Vector4d, Eigen::Vector4d>(A, x); }
441 return Apply<Eigen::Vector4d, Eigen::VectorXd>(A, x);
443 if( A.type()==
typeid(Eigen::Vector4f) ) {
444 if( x.type()==
typeid(Eigen::Vector4f) ) {
return Apply<Eigen::Vector4f, Eigen::Vector4f>(A, x); }
445 return Apply<Eigen::Vector4f, Eigen::VectorXf>(A, x);
447 if( A.type()==
typeid(Eigen::Vector4i) ) {
448 if( x.type()==
typeid(Eigen::Vector4i) ) {
return Apply<Eigen::Vector4i, Eigen::Vector4i>(A, x); }
449 return Apply<Eigen::Vector4i, Eigen::VectorXi>(A, x);
452 if( A.type()==
typeid(Eigen::VectorXd) ) {
453 if( x.type()==
typeid(Eigen::Vector2d) ) {
return Apply<Eigen::VectorXd, Eigen::Vector2d>(A, x); }
454 if( x.type()==
typeid(Eigen::Vector3d) ) {
return Apply<Eigen::VectorXd, Eigen::Vector3d>(A, x); }
455 if( x.type()==
typeid(Eigen::Vector4d) ) {
return Apply<Eigen::VectorXd, Eigen::Vector4d>(A, x); }
457 return Apply<Eigen::VectorXd, Eigen::VectorXd>(A, x);
459 if( A.type()==
typeid(Eigen::VectorXf) ) {
460 if( x.type()==
typeid(Eigen::Vector2f) ) {
return Apply<Eigen::VectorXf, Eigen::Vector2f>(A, x); }
461 if( x.type()==
typeid(Eigen::Vector3f) ) {
return Apply<Eigen::VectorXf, Eigen::Vector3f>(A, x); }
462 if( x.type()==
typeid(Eigen::Vector4f) ) {
return Apply<Eigen::VectorXf, Eigen::Vector4f>(A, x); }
464 return Apply<Eigen::VectorXf, Eigen::VectorXf>(A, x);
466 if( A.type()==
typeid(Eigen::VectorXi) ) {
467 if( x.type()==
typeid(Eigen::Vector2i) ) {
return Apply<Eigen::VectorXi, Eigen::Vector2i>(A, x); }
468 if( x.type()==
typeid(Eigen::Vector3i) ) {
return Apply<Eigen::VectorXi, Eigen::Vector3i>(A, x); }
469 if( x.type()==
typeid(Eigen::Vector4i) ) {
return Apply<Eigen::VectorXi, Eigen::Vector4i>(A, x); }
471 return Apply<Eigen::VectorXi, Eigen::VectorXi>(A, x);
479 boost::any EigenVectorAlgebra::ApplyInverse(boost::any
const& A, boost::any
const& x) {
480 if( A.type()==
typeid(Eigen::Vector2d) ) {
481 if( x.type()==
typeid(Eigen::Vector2d) ) {
return ApplyInverse<Eigen::Vector2d, Eigen::Vector2d>(A, x); }
482 return ApplyInverse<Eigen::Vector2d, Eigen::VectorXd>(A, x);
484 if( A.type()==
typeid(Eigen::Vector2f) ) {
485 if( x.type()==
typeid(Eigen::Vector2f) ) {
return ApplyInverse<Eigen::Vector2f, Eigen::Vector2f>(A, x); }
486 return ApplyInverse<Eigen::Vector2f, Eigen::VectorXf>(A, x);
488 if( A.type()==
typeid(Eigen::Vector2i) ) {
489 if( x.type()==
typeid(Eigen::Vector2i) ) {
return ApplyInverse<Eigen::Vector2i, Eigen::Vector2i>(A, x); }
490 return ApplyInverse<Eigen::Vector2i, Eigen::VectorXi>(A, x);
493 if( A.type()==
typeid(Eigen::Vector3d) ) {
494 if( x.type()==
typeid(Eigen::Vector3d) ) {
return ApplyInverse<Eigen::Vector3d, Eigen::Vector3d>(A, x); }
495 return ApplyInverse<Eigen::Vector3d, Eigen::VectorXd>(A, x);
497 if( A.type()==
typeid(Eigen::Vector3f) ) {
498 if( x.type()==
typeid(Eigen::Vector3f) ) {
return ApplyInverse<Eigen::Vector3f, Eigen::Vector3f>(A, x); }
499 return ApplyInverse<Eigen::Vector3f, Eigen::VectorXf>(A, x);
501 if( A.type()==
typeid(Eigen::Vector3i) ) {
502 if( x.type()==
typeid(Eigen::Vector3i) ) {
return ApplyInverse<Eigen::Vector3i, Eigen::Vector3i>(A, x); }
503 return ApplyInverse<Eigen::Vector3i, Eigen::VectorXi>(A, x);
506 if( A.type()==
typeid(Eigen::Vector4d) ) {
507 if( x.type()==
typeid(Eigen::Vector4d) ) {
return ApplyInverse<Eigen::Vector4d, Eigen::Vector4d>(A, x); }
508 return ApplyInverse<Eigen::Vector4d, Eigen::VectorXd>(A, x);
510 if( A.type()==
typeid(Eigen::Vector4f) ) {
511 if( x.type()==
typeid(Eigen::Vector4f) ) {
return ApplyInverse<Eigen::Vector4f, Eigen::Vector4f>(A, x); }
512 return ApplyInverse<Eigen::Vector4f, Eigen::VectorXf>(A, x);
514 if( A.type()==
typeid(Eigen::Vector4i) ) {
515 if( x.type()==
typeid(Eigen::Vector4i) ) {
return ApplyInverse<Eigen::Vector4i, Eigen::Vector4i>(A, x); }
516 return ApplyInverse<Eigen::Vector4i, Eigen::VectorXi>(A, x);
519 if( A.type()==
typeid(Eigen::VectorXd) ) {
520 if( x.type()==
typeid(Eigen::Vector2d) ) {
return ApplyInverse<Eigen::VectorXd, Eigen::Vector2d>(A, x); }
521 if( x.type()==
typeid(Eigen::Vector3d) ) {
return ApplyInverse<Eigen::VectorXd, Eigen::Vector3d>(A, x); }
522 if( x.type()==
typeid(Eigen::Vector4d) ) {
return ApplyInverse<Eigen::VectorXd, Eigen::Vector4d>(A, x); }
524 return ApplyInverse<Eigen::VectorXd, Eigen::VectorXd>(A, x);
526 if( A.type()==
typeid(Eigen::VectorXf) ) {
527 if( x.type()==
typeid(Eigen::Vector2f) ) {
return ApplyInverse<Eigen::VectorXf, Eigen::Vector2f>(A, x); }
528 if( x.type()==
typeid(Eigen::Vector3f) ) {
return ApplyInverse<Eigen::VectorXf, Eigen::Vector3f>(A, x); }
529 if( x.type()==
typeid(Eigen::Vector4f) ) {
return ApplyInverse<Eigen::VectorXf, Eigen::Vector4f>(A, x); }
531 return ApplyInverse<Eigen::VectorXf, Eigen::VectorXf>(A, x);
533 if( A.type()==
typeid(Eigen::VectorXi) ) {
534 if( x.type()==
typeid(Eigen::Vector2i) ) {
return ApplyInverse<Eigen::VectorXi, Eigen::Vector2i>(A, x); }
535 if( x.type()==
typeid(Eigen::Vector3i) ) {
return ApplyInverse<Eigen::VectorXi, Eigen::Vector3i>(A, x); }
536 if( x.type()==
typeid(Eigen::Vector4i) ) {
return ApplyInverse<Eigen::VectorXi, Eigen::Vector4i>(A, x); }
538 return ApplyInverse<Eigen::VectorXi, Eigen::VectorXi>(A, x);
546 boost::any EigenVectorAlgebra::Zero(std::type_info
const& type,
unsigned int const size) {
547 if(
typeid(Eigen::Vector2d)==type ) {
return (Eigen::Vector2d)Eigen::Vector2d::Zero(); }
548 if(
typeid(Eigen::Vector2f)==type ) {
return (Eigen::Vector2f)Eigen::Vector2f::Zero(); }
549 if(
typeid(Eigen::Vector2i)==type ) {
return (Eigen::Vector2i)Eigen::Vector2i::Zero(); }
551 if(
typeid(Eigen::Vector3d)==type ) {
return (Eigen::Vector3d)Eigen::Vector3d::Zero(); }
552 if(
typeid(Eigen::Vector3f)==type ) {
return (Eigen::Vector3f)Eigen::Vector3f::Zero(); }
553 if(
typeid(Eigen::Vector3i)==type ) {
return (Eigen::Vector3i)Eigen::Vector3i::Zero(); }
555 if(
typeid(Eigen::Vector4d)==type ) {
return (Eigen::Vector4d)Eigen::Vector4d::Zero(); }
556 if(
typeid(Eigen::Vector4f)==type ) {
return (Eigen::Vector4f)Eigen::Vector4f::Zero(); }
557 if(
typeid(Eigen::Vector4i)==type ) {
return (Eigen::Vector4i)Eigen::Vector4i::Zero(); }
559 if(
typeid(Eigen::VectorXd)==type ) {
return (Eigen::VectorXd)Eigen::VectorXd::Zero(size); }
560 if(
typeid(Eigen::VectorXf)==type ) {
return (Eigen::VectorXf)Eigen::VectorXf::Zero(size); }
561 if(
typeid(Eigen::VectorXi)==type ) {
return (Eigen::VectorXi)Eigen::VectorXi::Zero(size); }
568 boost::any EigenVectorAlgebra::SquareRoot(boost::any
const& obj) {
569 if(
typeid(Eigen::Vector2d)==obj.type() ) {
return (Eigen::Vector2d)boost::any_cast<Eigen::Vector2d>(obj).cwiseSqrt().matrix(); }
570 if(
typeid(Eigen::Vector3d)==obj.type() ) {
return (Eigen::Vector3d)boost::any_cast<Eigen::Vector3d>(obj).cwiseSqrt().matrix(); }
571 if(
typeid(Eigen::Vector4d)==obj.type() ) {
return (Eigen::Vector4d)boost::any_cast<Eigen::Vector4d>(obj).cwiseSqrt().matrix(); }
572 if(
typeid(Eigen::VectorXd)==obj.type() ) {
return (Eigen::VectorXd)boost::any_cast<Eigen::VectorXd>(obj).cwiseSqrt().matrix(); }
574 if(
typeid(Eigen::Vector2f)==obj.type() ) {
return (Eigen::Vector2f)boost::any_cast<Eigen::Vector2f>(obj).cwiseSqrt().matrix(); }
575 if(
typeid(Eigen::Vector3f)==obj.type() ) {
return (Eigen::Vector3f)boost::any_cast<Eigen::Vector3f>(obj).cwiseSqrt().matrix(); }
576 if(
typeid(Eigen::Vector4f)==obj.type() ) {
return (Eigen::Vector4f)boost::any_cast<Eigen::Vector4f>(obj).cwiseSqrt().matrix(); }
577 if(
typeid(Eigen::VectorXf)==obj.type() ) {
return (Eigen::VectorXf)boost::any_cast<Eigen::VectorXf>(obj).cwiseSqrt().matrix(); }
579 if(
typeid(Eigen::Vector2i)==obj.type() ) {
return (Eigen::Vector2i)boost::any_cast<Eigen::Vector2i>(obj).cwiseSqrt().matrix(); }
580 if(
typeid(Eigen::Vector3i)==obj.type() ) {
return (Eigen::Vector3i)boost::any_cast<Eigen::Vector3i>(obj).cwiseSqrt().matrix(); }
581 if(
typeid(Eigen::Vector4i)==obj.type() ) {
return (Eigen::Vector4i)boost::any_cast<Eigen::Vector4i>(obj).cwiseSqrt().matrix(); }
582 if(
typeid(Eigen::VectorXi)==obj.type() ) {
return (Eigen::VectorXi)boost::any_cast<Eigen::VectorXi>(obj).cwiseSqrt().matrix(); }
589 double EigenVectorAlgebra::LogDeterminate(boost::any
const& obj) {
590 if(
typeid(Eigen::Vector2d)==obj.type() ) {
return LogDeterminate<Eigen::Vector2d>(obj); }
591 if(
typeid(Eigen::Vector2f)==obj.type() ) {
return LogDeterminate<Eigen::Vector2f>(obj); }
593 if(
typeid(Eigen::Vector3d)==obj.type() ) {
return LogDeterminate<Eigen::Vector3d>(obj); }
594 if(
typeid(Eigen::Vector3f)==obj.type() ) {
return LogDeterminate<Eigen::Vector3f>(obj); }
596 if(
typeid(Eigen::Vector4d)==obj.type() ) {
return LogDeterminate<Eigen::Vector4d>(obj); }
597 if(
typeid(Eigen::Vector4f)==obj.type() ) {
return LogDeterminate<Eigen::Vector4f>(obj); }
599 if(
typeid(Eigen::VectorXd)==obj.type() ) {
return LogDeterminate<Eigen::VectorXd>(obj); }
600 if(
typeid(Eigen::VectorXf)==obj.type() ) {
return LogDeterminate<Eigen::VectorXf>(obj); }