Added comment support in wrap
parent
4b4815e97f
commit
7e221aa7a1
229
.cproject
229
.cproject
|
@ -375,6 +375,14 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testGaussianFactor.run" path="linear/tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testGaussianFactor.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="all" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
|
@ -401,7 +409,6 @@
|
|||
</target>
|
||||
<target name="tests/testBayesTree.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>tests/testBayesTree.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -409,7 +416,6 @@
|
|||
</target>
|
||||
<target name="testBinaryBayesNet.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testBinaryBayesNet.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -457,7 +463,6 @@
|
|||
</target>
|
||||
<target name="testSymbolicBayesNet.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testSymbolicBayesNet.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -465,7 +470,6 @@
|
|||
</target>
|
||||
<target name="tests/testSymbolicFactor.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>tests/testSymbolicFactor.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -473,7 +477,6 @@
|
|||
</target>
|
||||
<target name="testSymbolicFactorGraph.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testSymbolicFactorGraph.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -489,20 +492,11 @@
|
|||
</target>
|
||||
<target name="tests/testBayesTree" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>tests/testBayesTree</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testGaussianFactor.run" path="linear/tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testGaussianFactor.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
|
@ -529,6 +523,7 @@
|
|||
</target>
|
||||
<target name="testGraph.run" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testGraph.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -600,6 +595,7 @@
|
|||
</target>
|
||||
<target name="testInference.run" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testInference.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -607,6 +603,7 @@
|
|||
</target>
|
||||
<target name="testGaussianFactor.run" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testGaussianFactor.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -614,6 +611,7 @@
|
|||
</target>
|
||||
<target name="testJunctionTree.run" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testJunctionTree.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -621,6 +619,7 @@
|
|||
</target>
|
||||
<target name="testSymbolicBayesNet.run" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testSymbolicBayesNet.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -628,6 +627,7 @@
|
|||
</target>
|
||||
<target name="testSymbolicFactorGraph.run" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testSymbolicFactorGraph.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -681,22 +681,6 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests/testPose2.run" path="build_retract/gtsam/geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>tests/testPose2.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests/testPose3.run" path="build_retract/gtsam/geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>tests/testPose3.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="all" path="CppUnitLite" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
|
@ -713,6 +697,22 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests/testPose2.run" path="build_retract/gtsam/geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>tests/testPose2.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests/testPose3.run" path="build_retract/gtsam/geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>tests/testPose3.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="all" path="spqr_mini" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
|
@ -737,15 +737,7 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="all" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>all</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="check" path="build/gtsam/nonlinear" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>check</buildTarget>
|
||||
|
@ -753,14 +745,6 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="clean" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>clean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests/testGeneralSFMFactor.run" path="build/gtsam/slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
|
@ -801,7 +785,15 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check" path="build/gtsam/nonlinear" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="all" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>all</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>check</buildTarget>
|
||||
|
@ -809,6 +801,14 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="clean" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>clean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check" path="build/geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
|
@ -1131,7 +1131,6 @@
|
|||
</target>
|
||||
<target name="testErrors.run" path="linear" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testErrors.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -1539,6 +1538,7 @@
|
|||
</target>
|
||||
<target name="testSimulated2DOriented.run" path="slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testSimulated2DOriented.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -1578,6 +1578,7 @@
|
|||
</target>
|
||||
<target name="testSimulated2D.run" path="slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testSimulated2D.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -1585,6 +1586,7 @@
|
|||
</target>
|
||||
<target name="testSimulated3D.run" path="slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testSimulated3D.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -1832,6 +1834,7 @@
|
|||
</target>
|
||||
<target name="tests/testGaussianISAM2" path="build/slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>tests/testGaussianISAM2</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
@ -1853,46 +1856,6 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="install" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>install</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="clean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>clean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>check</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="all" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>all</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="dist" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>dist</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testRot3.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
|
@ -1989,6 +1952,78 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="install" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>install</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="clean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>clean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>check</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="all" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>all</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="dist" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>dist</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>check</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="install" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>install</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests/testSpirit.run" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>tests/testSpirit.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests/testWrap.run" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>tests/testWrap.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check" path="build" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
|
@ -2029,22 +2064,6 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>check</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="install" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>install</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
</buildTargets>
|
||||
</storageModule>
|
||||
</cproject>
|
||||
|
|
187
gtsam-broken.h
187
gtsam-broken.h
|
@ -1,187 +0,0 @@
|
|||
// These are considered to be broken and will be added back as they start working
|
||||
// It's assumed that there have been interface changes that might break this
|
||||
|
||||
class Pose3 {
|
||||
Point3* _translation() const;
|
||||
Rot3* _rotation() const;
|
||||
};
|
||||
|
||||
class Ordering{
|
||||
Ordering(string key);
|
||||
void print(string s) const;
|
||||
bool equals(const Ordering& ord, double tol) const;
|
||||
Ordering subtract(const Ordering& keys) const;
|
||||
void unique ();
|
||||
void reverse ();
|
||||
void push_back(string s);
|
||||
};
|
||||
|
||||
class GaussianFactorSet {
|
||||
GaussianFactorSet();
|
||||
void push_back(GaussianFactor* factor);
|
||||
};
|
||||
|
||||
class Simulated2DValues {
|
||||
Simulated2DValues();
|
||||
void print(string s) const;
|
||||
void insertPose(int i, const Point2& p);
|
||||
void insertPoint(int j, const Point2& p);
|
||||
int nrPoses() const;
|
||||
int nrPoints() const;
|
||||
Point2* pose(int i);
|
||||
Point2* point(int j);
|
||||
};
|
||||
|
||||
class Simulated2DOrientedValues {
|
||||
Simulated2DOrientedValues();
|
||||
void print(string s) const;
|
||||
void insertPose(int i, const Pose2& p);
|
||||
void insertPoint(int j, const Point2& p);
|
||||
int nrPoses() const;
|
||||
int nrPoints() const;
|
||||
Pose2* pose(int i);
|
||||
Point2* point(int j);
|
||||
};
|
||||
|
||||
class Simulated2DPosePrior {
|
||||
Simulated2DPosePrior(Point2& mu, const SharedDiagonal& model, int i);
|
||||
void print(string s) const;
|
||||
double error(const Simulated2DValues& c) const;
|
||||
};
|
||||
|
||||
class Simulated2DOrientedPosePrior {
|
||||
Simulated2DOrientedPosePrior(Pose2& mu, const SharedDiagonal& model, int i);
|
||||
void print(string s) const;
|
||||
double error(const Simulated2DOrientedValues& c) const;
|
||||
};
|
||||
|
||||
class Simulated2DPointPrior {
|
||||
Simulated2DPointPrior(Point2& mu, const SharedDiagonal& model, int i);
|
||||
void print(string s) const;
|
||||
double error(const Simulated2DValues& c) const;
|
||||
};
|
||||
|
||||
class Simulated2DOdometry {
|
||||
Simulated2DOdometry(Point2& mu, const SharedDiagonal& model, int i1, int i2);
|
||||
void print(string s) const;
|
||||
double error(const Simulated2DValues& c) const;
|
||||
};
|
||||
|
||||
class Simulated2DOrientedOdometry {
|
||||
Simulated2DOrientedOdometry(Pose2& mu, const SharedDiagonal& model, int i1, int i2);
|
||||
void print(string s) const;
|
||||
double error(const Simulated2DOrientedValues& c) const;
|
||||
};
|
||||
|
||||
class Simulated2DMeasurement {
|
||||
Simulated2DMeasurement(Point2& mu, const SharedDiagonal& model, int i, int j);
|
||||
void print(string s) const;
|
||||
double error(const Simulated2DValues& c) const;
|
||||
};
|
||||
|
||||
// These are currently broken
|
||||
// Solve by parsing a namespace pose2SLAM::Values and making a Pose2SLAMValues class
|
||||
// We also have to solve the shared pointer mess to avoid duplicate methods
|
||||
|
||||
class GaussianFactor {
|
||||
GaussianFactor(string key1,
|
||||
Matrix A1,
|
||||
Vector b_in,
|
||||
const SharedDiagonal& model);
|
||||
GaussianFactor(string key1,
|
||||
Matrix A1,
|
||||
string key2,
|
||||
Matrix A2,
|
||||
Vector b_in,
|
||||
const SharedDiagonal& model);
|
||||
GaussianFactor(string key1,
|
||||
Matrix A1,
|
||||
string key2,
|
||||
Matrix A2,
|
||||
string key3,
|
||||
Matrix A3,
|
||||
Vector b_in,
|
||||
const SharedDiagonal& model);
|
||||
bool involves(string key) const;
|
||||
Matrix getA(string key) const;
|
||||
pair<Matrix,Vector> matrix(const Ordering& ordering) const;
|
||||
pair<GaussianConditional*,GaussianFactor*> eliminate(string key) const;
|
||||
};
|
||||
|
||||
class GaussianFactorGraph {
|
||||
GaussianConditional* eliminateOne(string key);
|
||||
GaussianBayesNet* eliminate_(const Ordering& ordering);
|
||||
VectorValues* optimize_(const Ordering& ordering);
|
||||
pair<Matrix,Vector> matrix(const Ordering& ordering) const;
|
||||
VectorValues* steepestDescent_(const VectorValues& x0) const;
|
||||
VectorValues* conjugateGradientDescent_(const VectorValues& x0) const;
|
||||
};
|
||||
|
||||
|
||||
class Pose2Values{
|
||||
Pose2Values();
|
||||
Pose2 get(string key) const;
|
||||
void insert(string name, const Pose2& val);
|
||||
void print(string s) const;
|
||||
void clear();
|
||||
int size();
|
||||
};
|
||||
|
||||
class Pose2Factor {
|
||||
Pose2Factor(string key1, string key2,
|
||||
const Pose2& measured, Matrix measurement_covariance);
|
||||
void print(string name) const;
|
||||
double error(const Pose2Values& c) const;
|
||||
size_t size() const;
|
||||
GaussianFactor* linearize(const Pose2Values& config) const;
|
||||
};
|
||||
|
||||
class Pose2Graph{
|
||||
Pose2Graph();
|
||||
void print(string s) const;
|
||||
GaussianFactorGraph* linearize_(const Pose2Values& config) const;
|
||||
void push_back(Pose2Factor* factor);
|
||||
};
|
||||
|
||||
class SymbolicFactor{
|
||||
SymbolicFactor(const Ordering& keys);
|
||||
void print(string s) const;
|
||||
};
|
||||
|
||||
class Simulated2DPosePrior {
|
||||
GaussianFactor* linearize(const Simulated2DValues& config) const;
|
||||
};
|
||||
|
||||
class Simulated2DOrientedPosePrior {
|
||||
GaussianFactor* linearize(const Simulated2DOrientedValues& config) const;
|
||||
};
|
||||
|
||||
class Simulated2DPointPrior {
|
||||
GaussianFactor* linearize(const Simulated2DValues& config) const;
|
||||
};
|
||||
|
||||
class Simulated2DOdometry {
|
||||
GaussianFactor* linearize(const Simulated2DValues& config) const;
|
||||
};
|
||||
|
||||
class Simulated2DOrientedOdometry {
|
||||
GaussianFactor* linearize(const Simulated2DOrientedValues& config) const;
|
||||
};
|
||||
|
||||
class Simulated2DMeasurement {
|
||||
GaussianFactor* linearize(const Simulated2DValues& config) const;
|
||||
};
|
||||
|
||||
class Pose2SLAMOptimizer {
|
||||
Pose2SLAMOptimizer(string dataset_name);
|
||||
void print(string s) const;
|
||||
void update(Vector x) const;
|
||||
Vector optimize() const;
|
||||
double error() const;
|
||||
Matrix a1() const;
|
||||
Matrix a2() const;
|
||||
Vector b1() const;
|
||||
Vector b2() const;
|
||||
};
|
||||
|
||||
|
197
gtsam.h
197
gtsam.h
|
@ -1,3 +1,17 @@
|
|||
/**
|
||||
* GTSAM Wrap Module definition
|
||||
*
|
||||
* These are the current classes available through the matlab toolbox interface,
|
||||
* add more functions/classes as they are available.
|
||||
*
|
||||
* Requirements:
|
||||
* Constructors must appear in a class before any methods
|
||||
* Methods can only return Matrix, Vector, double, int, void, and a shared_ptr to any other object
|
||||
* Comments can use either C++ or C style
|
||||
* Static methods are not supported
|
||||
* Methods must start with a lowercase letter
|
||||
*/
|
||||
|
||||
class Point2 {
|
||||
Point2();
|
||||
Point2(double x, double y);
|
||||
|
@ -88,6 +102,8 @@ class Pose3 {
|
|||
Pose3* between_(const Pose3& p2);
|
||||
Vector localCoordinates(const Pose3& p);
|
||||
Pose3* retract_(Vector v);
|
||||
Point3* translation_() const;
|
||||
Rot3* rotation_() const;
|
||||
};
|
||||
|
||||
class SharedGaussian {
|
||||
|
@ -233,3 +249,184 @@ class GaussianSequentialSolver {
|
|||
GaussianFactor* marginalFactor(int j) const;
|
||||
Matrix marginalCovariance(int j) const;
|
||||
};
|
||||
|
||||
//// These are considered to be broken and will be added back as they start working
|
||||
//// It's assumed that there have been interface changes that might break this
|
||||
//
|
||||
//class Ordering{
|
||||
// Ordering(string key);
|
||||
// void print(string s) const;
|
||||
// bool equals(const Ordering& ord, double tol) const;
|
||||
// Ordering subtract(const Ordering& keys) const;
|
||||
// void unique ();
|
||||
// void reverse ();
|
||||
// void push_back(string s);
|
||||
//};
|
||||
//
|
||||
//class GaussianFactorSet {
|
||||
// GaussianFactorSet();
|
||||
// void push_back(GaussianFactor* factor);
|
||||
//};
|
||||
//
|
||||
//class Simulated2DValues {
|
||||
// Simulated2DValues();
|
||||
// void print(string s) const;
|
||||
// void insertPose(int i, const Point2& p);
|
||||
// void insertPoint(int j, const Point2& p);
|
||||
// int nrPoses() const;
|
||||
// int nrPoints() const;
|
||||
// Point2* pose(int i);
|
||||
// Point2* point(int j);
|
||||
//};
|
||||
//
|
||||
//class Simulated2DOrientedValues {
|
||||
// Simulated2DOrientedValues();
|
||||
// void print(string s) const;
|
||||
// void insertPose(int i, const Pose2& p);
|
||||
// void insertPoint(int j, const Point2& p);
|
||||
// int nrPoses() const;
|
||||
// int nrPoints() const;
|
||||
// Pose2* pose(int i);
|
||||
// Point2* point(int j);
|
||||
//};
|
||||
//
|
||||
//class Simulated2DPosePrior {
|
||||
// Simulated2DPosePrior(Point2& mu, const SharedDiagonal& model, int i);
|
||||
// void print(string s) const;
|
||||
// double error(const Simulated2DValues& c) const;
|
||||
//};
|
||||
//
|
||||
//class Simulated2DOrientedPosePrior {
|
||||
// Simulated2DOrientedPosePrior(Pose2& mu, const SharedDiagonal& model, int i);
|
||||
// void print(string s) const;
|
||||
// double error(const Simulated2DOrientedValues& c) const;
|
||||
//};
|
||||
//
|
||||
//class Simulated2DPointPrior {
|
||||
// Simulated2DPointPrior(Point2& mu, const SharedDiagonal& model, int i);
|
||||
// void print(string s) const;
|
||||
// double error(const Simulated2DValues& c) const;
|
||||
//};
|
||||
//
|
||||
//class Simulated2DOdometry {
|
||||
// Simulated2DOdometry(Point2& mu, const SharedDiagonal& model, int i1, int i2);
|
||||
// void print(string s) const;
|
||||
// double error(const Simulated2DValues& c) const;
|
||||
//};
|
||||
//
|
||||
//class Simulated2DOrientedOdometry {
|
||||
// Simulated2DOrientedOdometry(Pose2& mu, const SharedDiagonal& model, int i1, int i2);
|
||||
// void print(string s) const;
|
||||
// double error(const Simulated2DOrientedValues& c) const;
|
||||
//};
|
||||
//
|
||||
//class Simulated2DMeasurement {
|
||||
// Simulated2DMeasurement(Point2& mu, const SharedDiagonal& model, int i, int j);
|
||||
// void print(string s) const;
|
||||
// double error(const Simulated2DValues& c) const;
|
||||
//};
|
||||
//
|
||||
//// These are currently broken
|
||||
//// Solve by parsing a namespace pose2SLAM::Values and making a Pose2SLAMValues class
|
||||
//// We also have to solve the shared pointer mess to avoid duplicate methods
|
||||
//
|
||||
//class GaussianFactor {
|
||||
// GaussianFactor(string key1,
|
||||
// Matrix A1,
|
||||
// Vector b_in,
|
||||
// const SharedDiagonal& model);
|
||||
// GaussianFactor(string key1,
|
||||
// Matrix A1,
|
||||
// string key2,
|
||||
// Matrix A2,
|
||||
// Vector b_in,
|
||||
// const SharedDiagonal& model);
|
||||
// GaussianFactor(string key1,
|
||||
// Matrix A1,
|
||||
// string key2,
|
||||
// Matrix A2,
|
||||
// string key3,
|
||||
// Matrix A3,
|
||||
// Vector b_in,
|
||||
// const SharedDiagonal& model);
|
||||
// bool involves(string key) const;
|
||||
// Matrix getA(string key) const;
|
||||
// pair<Matrix,Vector> matrix(const Ordering& ordering) const;
|
||||
// pair<GaussianConditional*,GaussianFactor*> eliminate(string key) const;
|
||||
//};
|
||||
//
|
||||
//class GaussianFactorGraph {
|
||||
// GaussianConditional* eliminateOne(string key);
|
||||
// GaussianBayesNet* eliminate_(const Ordering& ordering);
|
||||
// VectorValues* optimize_(const Ordering& ordering);
|
||||
// pair<Matrix,Vector> matrix(const Ordering& ordering) const;
|
||||
// VectorValues* steepestDescent_(const VectorValues& x0) const;
|
||||
// VectorValues* conjugateGradientDescent_(const VectorValues& x0) const;
|
||||
//};
|
||||
//
|
||||
//
|
||||
//class Pose2Values{
|
||||
// Pose2Values();
|
||||
// Pose2 get(string key) const;
|
||||
// void insert(string name, const Pose2& val);
|
||||
// void print(string s) const;
|
||||
// void clear();
|
||||
// int size();
|
||||
//};
|
||||
//
|
||||
//class Pose2Factor {
|
||||
// Pose2Factor(string key1, string key2,
|
||||
// const Pose2& measured, Matrix measurement_covariance);
|
||||
// void print(string name) const;
|
||||
// double error(const Pose2Values& c) const;
|
||||
// size_t size() const;
|
||||
// GaussianFactor* linearize(const Pose2Values& config) const;
|
||||
//};
|
||||
//
|
||||
//class Pose2Graph{
|
||||
// Pose2Graph();
|
||||
// void print(string s) const;
|
||||
// GaussianFactorGraph* linearize_(const Pose2Values& config) const;
|
||||
// void push_back(Pose2Factor* factor);
|
||||
//};
|
||||
//
|
||||
//class SymbolicFactor{
|
||||
// SymbolicFactor(const Ordering& keys);
|
||||
// void print(string s) const;
|
||||
//};
|
||||
//
|
||||
//class Simulated2DPosePrior {
|
||||
// GaussianFactor* linearize(const Simulated2DValues& config) const;
|
||||
//};
|
||||
//
|
||||
//class Simulated2DOrientedPosePrior {
|
||||
// GaussianFactor* linearize(const Simulated2DOrientedValues& config) const;
|
||||
//};
|
||||
//
|
||||
//class Simulated2DPointPrior {
|
||||
// GaussianFactor* linearize(const Simulated2DValues& config) const;
|
||||
//};
|
||||
//
|
||||
//class Simulated2DOdometry {
|
||||
// GaussianFactor* linearize(const Simulated2DValues& config) const;
|
||||
//};
|
||||
//
|
||||
//class Simulated2DOrientedOdometry {
|
||||
// GaussianFactor* linearize(const Simulated2DOrientedValues& config) const;
|
||||
//};
|
||||
//
|
||||
//class Simulated2DMeasurement {
|
||||
// GaussianFactor* linearize(const Simulated2DValues& config) const;
|
||||
//};
|
||||
//
|
||||
//class Pose2SLAMOptimizer {
|
||||
// Pose2SLAMOptimizer(string dataset_name);
|
||||
// void print(string s) const;
|
||||
// void update(Vector x) const;
|
||||
// Vector optimize() const;
|
||||
// double error() const;
|
||||
// Matrix a1() const;
|
||||
// Matrix a2() const;
|
||||
// Vector b1() const;
|
||||
// Vector b2() const;
|
||||
//};
|
||||
|
|
|
@ -56,12 +56,12 @@ namespace gtsam {
|
|||
T(2, 1), T(2, 2)), t_(T(0, 3), T(1, 3), T(2, 3)) {}
|
||||
|
||||
const Rot3& rotation() const { return R_; }
|
||||
boost::shared_ptr<Rot3> _rotation() const {
|
||||
boost::shared_ptr<Rot3> rotation_() const {
|
||||
return boost::shared_ptr<Rot3>(new Rot3(R_));
|
||||
}
|
||||
|
||||
const Point3& translation() const { return t_; }
|
||||
boost::shared_ptr<Point3> _translation() const {
|
||||
boost::shared_ptr<Point3> translation_() const {
|
||||
return boost::shared_ptr<Point3>(new Point3(t_));
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
//#define BOOST_SPIRIT_DEBUG
|
||||
#include <boost/spirit/include/classic_core.hpp>
|
||||
#include <boost/spirit/include/classic_confix.hpp>
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
#include <iostream>
|
||||
|
@ -59,6 +60,8 @@ Module::Module(const string& interfacePath,
|
|||
// - The types unsigned int and bool should be specified as int.
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
Rule comments_p = comment_p("/*", "*/") | comment_p("//");
|
||||
|
||||
// lexeme_d turns off white space skipping
|
||||
// http://www.boost.org/doc/libs/1_37_0/libs/spirit/classic/doc/directives.html
|
||||
|
||||
|
@ -90,7 +93,7 @@ Module::Module(const string& interfacePath,
|
|||
Rule argumentList_p = !argument_p >> * (',' >> argument_p);
|
||||
|
||||
Rule constructor_p =
|
||||
(className_p >> '(' >> argumentList_p >> ')' >> ';')
|
||||
(className_p >> '(' >> argumentList_p >> ')' >> ';' >> !comments_p)
|
||||
[assign_a(constructor.args,args)]
|
||||
[assign_a(args,args0)]
|
||||
[push_back_a(cls.constructors, constructor)]
|
||||
|
@ -119,20 +122,25 @@ Module::Module(const string& interfacePath,
|
|||
Rule method_p =
|
||||
(returnType_p >> methodName_p[assign_a(method.name_)] >>
|
||||
'(' >> argumentList_p >> ')' >>
|
||||
!str_p("const")[assign_a(method.is_const_,true)] >> ';')
|
||||
!str_p("const")[assign_a(method.is_const_,true)] >> ';' >> *comments_p)
|
||||
[assign_a(method.args_,args)]
|
||||
[assign_a(args,args0)]
|
||||
[push_back_a(cls.methods, method)]
|
||||
[assign_a(method,method0)];
|
||||
|
||||
Rule class_p = str_p("class") >> className_p[assign_a(cls.name)] >> '{' >>
|
||||
*comments_p >>
|
||||
*constructor_p >>
|
||||
*comments_p >>
|
||||
*method_p >>
|
||||
*comments_p >>
|
||||
'}' >> ";";
|
||||
|
||||
Rule module_p = +class_p
|
||||
Rule module_p = *comments_p >> +(class_p
|
||||
[push_back_a(classes,cls)]
|
||||
[assign_a(cls,cls0)]
|
||||
>> *comments_p)
|
||||
>> *comments_p
|
||||
>> !end_p;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
@ -162,9 +170,12 @@ Module::Module(const string& interfacePath,
|
|||
string interfaceFile = interfacePath + "/" + moduleName + ".h";
|
||||
string contents = file_contents(interfaceFile);
|
||||
|
||||
// Comment parser : does not work for some reason
|
||||
rule<> comment_p = str_p("/*") >> +anychar_p >> "*/";
|
||||
rule<> skip_p = space_p; // | comment_p;
|
||||
// FIXME: Comment parser does not work for some reason - see confix parsers
|
||||
// rule<> comment_p = str_p("/*") >> +anychar_p >> "*/";
|
||||
// rule<> skip_p = space_p | comment_p;
|
||||
// rule<> skip_p = space_p | comment_p("//"); // FIXME: also doesn't work
|
||||
// rule<> skip_p = space_p | comment_p("/*", "*/"); // FIXME: Doesn't compile
|
||||
rule<> skip_p = space_p;
|
||||
|
||||
// and parse contents
|
||||
parse_info<const char*> info = parse(contents.c_str(), module_p, skip_p);
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// comments!
|
||||
|
||||
class Point2 {
|
||||
Point2();
|
||||
|
@ -12,14 +13,22 @@ class Point3 {
|
|||
double norm() const;
|
||||
};
|
||||
|
||||
// another comment
|
||||
|
||||
class Test {
|
||||
/* a comment! */
|
||||
// another comment
|
||||
Test();
|
||||
|
||||
bool return_bool (bool value);
|
||||
bool return_bool (bool value); // comment after a line!
|
||||
size_t return_size_t (size_t value);
|
||||
int return_int (int value);
|
||||
double return_double (double value);
|
||||
|
||||
// comments in the middle!
|
||||
|
||||
// (more) comments in the middle!
|
||||
|
||||
string return_string (string value);
|
||||
Vector return_vector1(Vector value);
|
||||
Matrix return_matrix1(Matrix value);
|
||||
|
@ -32,8 +41,18 @@ class Test {
|
|||
|
||||
Test* return_TestPtr(Test* value);
|
||||
|
||||
Point2* return_Point2Ptr(bool value);
|
||||
|
||||
pair<Test*,Test*> create_ptrs ();
|
||||
pair<Test*,Test*> return_ptrs (Test* p1, Test* p2);
|
||||
|
||||
void print();
|
||||
|
||||
// comments at the end!
|
||||
|
||||
// even more comments at the end!
|
||||
};
|
||||
|
||||
// comments at the end!
|
||||
|
||||
// even more comments at the end!
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
// automatically generated by wrap on 2011-Dec-01
|
||||
#include <wrap/matlab.h>
|
||||
#include <Test.h>
|
||||
void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
{
|
||||
checkArguments("return_Point2Ptr",nargout,nargin-1,1);
|
||||
shared_ptr<Test> self = unwrap_shared_ptr< Test >(in[0],"Test");
|
||||
bool value = unwrap< bool >(in[1]);
|
||||
shared_ptr<Point2> result = self->return_Point2Ptr(value);
|
||||
out[0] = wrap_shared_ptr(result,"Point2");
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
function result = return_Point2Ptr(obj,value)
|
||||
% usage: obj.return_Point2Ptr(value)
|
||||
error('need to compile return_Point2Ptr.cpp');
|
||||
end
|
|
@ -41,6 +41,7 @@ mex -O5 return_matrix2.cpp
|
|||
mex -O5 return_pair.cpp
|
||||
mex -O5 return_field.cpp
|
||||
mex -O5 return_TestPtr.cpp
|
||||
mex -O5 return_Point2Ptr.cpp
|
||||
mex -O5 create_ptrs.cpp
|
||||
mex -O5 return_ptrs.cpp
|
||||
mex -O5 print.cpp
|
||||
|
|
|
@ -17,7 +17,9 @@
|
|||
|
||||
#include <boost/spirit/include/classic_core.hpp>
|
||||
#include <boost/spirit/include/classic_push_back_actor.hpp>
|
||||
#include <boost/spirit/include/classic_confix.hpp>
|
||||
#include <CppUnitLite/TestHarness.h>
|
||||
#include <wrap/utilities.h>
|
||||
|
||||
using namespace std;
|
||||
using namespace BOOST_SPIRIT_CLASSIC_NS;
|
||||
|
@ -36,31 +38,31 @@ Rule basisType_p = (str_p("string") | "bool" | "size_t" | "int" | "double" | "Ve
|
|||
/* ************************************************************************* */
|
||||
TEST( spirit, real ) {
|
||||
// check if we can parse 8.99 as a real
|
||||
CHECK(parse("8.99", real_p, space_p).full);
|
||||
EXPECT(parse("8.99", real_p, space_p).full);
|
||||
// make sure parsing fails on this one
|
||||
CHECK(!parse("zztop", real_p, space_p).full);
|
||||
EXPECT(!parse("zztop", real_p, space_p).full);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
TEST( spirit, string ) {
|
||||
// check if we can parse a string
|
||||
CHECK(parse("double", str_p("double"), space_p).full);
|
||||
EXPECT(parse("double", str_p("double"), space_p).full);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
TEST( spirit, sequence ) {
|
||||
// check that we skip white space
|
||||
CHECK(parse("int int", str_p("int") >> *str_p("int"), space_p).full);
|
||||
CHECK(parse("int --- - -- -", str_p("int") >> *ch_p('-'), space_p).full);
|
||||
CHECK(parse("const \t string", str_p("const") >> str_p("string"), space_p).full);
|
||||
EXPECT(parse("int int", str_p("int") >> *str_p("int"), space_p).full);
|
||||
EXPECT(parse("int --- - -- -", str_p("int") >> *ch_p('-'), space_p).full);
|
||||
EXPECT(parse("const \t string", str_p("const") >> str_p("string"), space_p).full);
|
||||
|
||||
// note that (see spirit FAQ) the vanilla rule<> does not deal with whitespace
|
||||
rule<>vanilla_p = str_p("const") >> str_p("string");
|
||||
CHECK(!parse("const \t string", vanilla_p, space_p).full);
|
||||
EXPECT(!parse("const \t string", vanilla_p, space_p).full);
|
||||
|
||||
// to fix it, we need to use <phrase_scanner_t>
|
||||
rule<phrase_scanner_t>phrase_level_p = str_p("const") >> str_p("string");
|
||||
CHECK(parse("const \t string", phrase_level_p, space_p).full);
|
||||
EXPECT(parse("const \t string", phrase_level_p, space_p).full);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
|
@ -81,24 +83,49 @@ Rule constMethod_p = basisType_p >> methodName_p >> '(' >> ')' >> "const" >> ';'
|
|||
|
||||
/* ************************************************************************* */
|
||||
TEST( spirit, basisType_p ) {
|
||||
CHECK(!parse("Point3", basisType_p, space_p).full);
|
||||
CHECK(parse("string", basisType_p, space_p).full);
|
||||
EXPECT(!parse("Point3", basisType_p, space_p).full);
|
||||
EXPECT(parse("string", basisType_p, space_p).full);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
TEST( spirit, className_p ) {
|
||||
CHECK(parse("Point3", className_p, space_p).full);
|
||||
EXPECT(parse("Point3", className_p, space_p).full);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
TEST( spirit, classRef_p ) {
|
||||
CHECK(parse("Point3 &", classRef_p, space_p).full);
|
||||
CHECK(parse("Point3&", classRef_p, space_p).full);
|
||||
EXPECT(parse("Point3 &", classRef_p, space_p).full);
|
||||
EXPECT(parse("Point3&", classRef_p, space_p).full);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
TEST( spirit, constMethod_p ) {
|
||||
CHECK(parse("double norm() const;", constMethod_p, space_p).full);
|
||||
EXPECT(parse("double norm() const;", constMethod_p, space_p).full);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
TEST( spirit, comments ) {
|
||||
// Rule name_p = lexeme_d[alpha_p >> *(alnum_p | '_')];
|
||||
//
|
||||
// Rule argument_p =
|
||||
// ((basisType_p[assign_a(arg.type)] | eigenType | classPtr_p | classRef_p) >> name_p[assign_a(arg.name)])
|
||||
// [push_back_a(args, arg)]
|
||||
// [assign_a(arg,arg0)];
|
||||
//
|
||||
// Rule void_p = str_p("void")[assign_a(method.returns_)];
|
||||
|
||||
vector<string> all_strings;
|
||||
string actual;
|
||||
// Rule slash_comment_p = str_p("//");
|
||||
// Rule comments_p = anychar_p[assign_a(actual)]
|
||||
// Rule comments_p = lexeme_d[*(anychar_p)[assign_a(actual)]
|
||||
|
||||
// Rule line_p = (*anychar_p - comment_p("//"))[assign_a(actual)] >> !(comment_p("//") >> *anychar_p); // FAIL: matches everything
|
||||
// Rule line_p = *anychar_p[assign_a(actual)] >> !(comment_p("//") >> *anychar_p); // FAIL: matches last letter
|
||||
// Rule line_p = (*anychar_p - comment_p("//"))[assign_a(actual)] >> !(comment_p("//") >> *anychar_p);
|
||||
//
|
||||
// EXPECT(parse("not commentq // comment", line_p, eol_p).full);
|
||||
// EXPECT(assert_equal(string("not comments "), actual));
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
|
|
|
@ -105,6 +105,7 @@ TEST( wrap, matlab_code ) {
|
|||
EXPECT(files_equal(path + "/tests/expected/@Test/return_pair.cpp" , "actual/@Test/return_pair.cpp" ));
|
||||
EXPECT(files_equal(path + "/tests/expected/@Test/return_field.cpp" , "actual/@Test/return_field.cpp" ));
|
||||
EXPECT(files_equal(path + "/tests/expected/@Test/return_TestPtr.cpp", "actual/@Test/return_TestPtr.cpp"));
|
||||
EXPECT(files_equal(path + "/tests/expected/@Test/return_Point2Ptr.cpp", "actual/@Test/return_Point2Ptr.cpp"));
|
||||
EXPECT(files_equal(path + "/tests/expected/@Test/return_ptrs.cpp" , "actual/@Test/return_ptrs.cpp" ));
|
||||
EXPECT(files_equal(path + "/tests/expected/@Test/print.m" , "actual/@Test/print.m" ));
|
||||
EXPECT(files_equal(path + "/tests/expected/@Test/print.cpp" , "actual/@Test/print.cpp" ));
|
||||
|
@ -112,14 +113,6 @@ TEST( wrap, matlab_code ) {
|
|||
EXPECT(files_equal(path + "/tests/expected/make_geometry.m" , "actual/make_geometry.m" ));
|
||||
}
|
||||
|
||||
///* ************************************************************************* */
|
||||
//TEST( wrap, strip_comments ) {
|
||||
// string full_string = "This is the first line // comments\n// comments at beginning of line\n";
|
||||
// string act_string = strip_comments(full_string);
|
||||
// string exp_string = "This is the first line \n\n";
|
||||
// EXPECT(assert_equal(exp_string, act_string));
|
||||
//}
|
||||
|
||||
/* ************************************************************************* */
|
||||
int main() { TestResult tr; return TestRegistry::runAllTests(tr); }
|
||||
/* ************************************************************************* */
|
||||
|
|
Loading…
Reference in New Issue