Duy-Nguyen Ta
d38c51b533
collect typedefs of basic (non-class) types to treat them as basic types
2016-11-14 00:08:42 -05:00
Duy-Nguyen Ta
6cbd613b43
add typedefs to the list of validTypes
2016-11-13 23:59:56 -05:00
Duy-Nguyen Ta
547606e6c2
correct cython wrapper module name in pyx import
2016-09-14 07:45:26 -04:00
Duy-Nguyen Ta
53dbe25c50
Cython pxd: putting template instantiations at the correct place right after a template class
2016-09-12 18:36:45 -04:00
Duy-Nguyen Ta
6044bffd8a
handle Key by adding noninstantiating normal typedef rule. Fix copy constructor in template classes: using This.
2016-09-12 18:17:47 -04:00
Duy-Nguyen Ta
06ab94766c
improve inherited method removal
...
Checking nontemplateMethods_ against parent's methods_ because:
1. Only nontemplateMethods_ are serialized to Cython's pxd, which doesn't like duplicate methods
2. Parent's methods_ list has every methods inherited from grand and grand-grand parents, etc., so we don't need to check higher levels.
Also refactor to reduce nested code
2016-09-12 12:38:04 -04:00
Duy-Nguyen Ta
e35f0c3f50
remove inherited functions for Cython classes. Testing HessianFactor with debug info...
2016-09-12 11:05:28 -04:00
Duy-Nguyen Ta
1b04c6713b
handle "This". Wrap all geometry
2016-09-11 18:14:19 -04:00
Duy-Nguyen Ta
cf51c85391
fix testWrap: revert experimental changes
2016-09-10 22:18:53 -04:00
Duy-Nguyen Ta
948e6262db
first version ever compiled.
...
... Not without some changes:
- add traits<size_t> in Key.h
- add these to JacobianFactor:
explicit JacobianFactor(const Eigen::Map<Vector>& b_in);
Vector py_getb() { return getb(); }
Matrix py_getA() { return getA(); }
---------
... Remaining corner cases:
☐ Eigency: Map[] to Block
☐ Eigency: ambiguous call: A(const T&) A(const Vector& v) and Eigency A(Map[Vector]& v)
☐ Fix return properly
☐ handle pair
☐ Fix method template of Vector/Matrix: template argument is [Vector] while arugment is Map[Vector]
☐ Constructor: generate default constructor? (hack: if it's serializable?)
☐ Constructor: ambiguous construct from Vector/Matrix
☐ Key and size_t: traits<size_t> doesn't exist
☐ [Nice to have] Auto delete duplicate methods in derived class
2016-09-10 19:50:12 -04:00
Duy-Nguyen Ta
8944f02401
add headers, small refactor, test FastContainers
2016-09-09 22:28:15 -04:00
Duy-Nguyen Ta
d719b9b7ae
ctypedefs for all instantiated classes
2016-09-09 21:50:55 -04:00
Duy-Nguyen Ta
1e84da1cfa
pyx: add constructors and fixing inheritance
2016-09-09 15:52:44 -04:00
Duy-Nguyen Ta
2d3d6d99f9
standardize function name to emit_cython_[pxd/pyx]. Remove first level namespace from Cython object names.
...
Examples: gtsam_Point3 --> Point3, gtsam_noiseModel_Base --> noiseModel_Base
2016-09-09 12:01:51 -04:00
Duy-Nguyen Ta
b9880d4257
emit template class to Cython pxd with test
...
Cython allows template class.
2016-09-09 07:28:13 -04:00
Duy-Nguyen Ta
ecde851d8c
[inprogress] cython wrapper
2016-09-08 13:33:32 -04:00
dellaert
72fe66d468
Removed headers
2016-05-22 14:22:36 -07:00
Yao Chen
d1ea1015a9
Replaced BOOSE_FOREACH with for in wrap folder. Tested the changed code locally: successful.
2016-05-20 21:41:18 -04:00
dellaert
699943d632
Changes to wrap from FixedValues branch/PR. Since unrelated to that PR and useful for OptionalJacobian wrapping in py_wrap, made this a separate PR.
2016-02-07 20:33:48 -08:00
dellaert
c29e6ca2e7
Fixed subtle (imperative!) bug where a forward declaration was partially parsed as a class, only then as a forward declaration.
2014-12-19 16:19:02 +01:00
dellaert
41d2783beb
GlobalFunctionGrammar done and used
2014-12-02 13:49:25 +01:00
dellaert
b8d7516e93
Successful use of ClassGrammar in Module.cpp
2014-12-02 13:12:42 +01:00
dellaert
aceeb2037b
Template tightening
2014-12-01 20:29:35 +01:00
dellaert
e963512164
Tightened up individual Grammars
2014-12-01 20:03:26 +01:00
dellaert
8eb6393c92
Using TemplateGrammar
2014-12-01 14:35:02 +01:00
dellaert
9a77072654
Successfully used TypeListGrammar
2014-12-01 12:14:08 +01:00
dellaert
4d1225cda7
Moved basic parsers to new header file spirit.h
2014-12-01 11:43:19 +01:00
dellaert
e82752e269
Successful use of ArgumentListGrammar
2014-12-01 10:47:42 +01:00
dellaert
0e5332ed3e
Removed incorrect void, which fixed old problems and even improves on generated code.
2014-12-01 10:30:47 +01:00
dellaert
ba51b02cf0
Moving to optionals fixed template dreturn argument!
...
Merge branch 'qualified' into grammar_wrongtest
Conflicts:
wrap/Class.cpp
wrap/Function.h
wrap/Qualified.h
wrap/ReturnType.h
wrap/tests/testWrap.cpp
2014-12-01 09:48:56 +01:00
dellaert
674344ea0e
Pushed through use of some grammars
2014-12-01 00:33:54 +01:00
dellaert
0dcd102f5e
Saving before restoring
2014-11-30 20:46:47 +01:00
dellaert
6d916c6b75
Semi-private name/namespaces
2014-11-30 20:20:13 +01:00
dellaert
e2ab47b610
Added Vector and Matrix to forward declarations
2014-11-29 20:01:48 +01:00
dellaert
1fd0f964ea
Allow Eigen type in typedefs
2014-11-29 13:53:59 +01:00
dellaert
be00e1c348
Allow Vector and Matrix in list of template values
2014-11-29 13:44:49 +01:00
dellaert
6c24fc2aca
Python prototype
2014-11-14 17:47:25 +01:00
dellaert
e07402a58a
Re-factored matlab_code only emits code: it does not post-process the classes anymore. That is now done in parse_Markup, i.e., the constructor....
2014-11-14 17:04:45 +01:00
dellaert
7a4748d3dc
Simplified method/function hierarchy drastically, and renamed bottom addOverload to initializeOrCheck to reflect what it does. Also, gratuitous re-ordering of addOverload arguments.
2014-11-14 16:44:08 +01:00
dellaert
09e3c7df9f
struct Constructor: public ArgumentOverloads
2014-11-13 21:34:59 +01:00
dellaert
a5e0adb7e6
Made methods and global functions derive from Function
2014-11-13 12:52:41 +01:00
dellaert
1ea0225030
Big refactor because methods now private member of Class
2014-11-12 23:23:07 +01:00
dellaert
67ab69d5ba
Merge remote-tracking branch 'origin/fix/BAD_wrap' into fix/BAD_wrap_checkpoint
...
Conflicts:
wrap/Module.cpp
2014-11-12 19:22:03 +01:00
dellaert
34a0913125
Fixed issue with templateArgName overloading
2014-11-12 19:09:30 +01:00
dellaert
c8ac7f8980
Cleaned up variables
2014-11-12 18:04:38 +01:00
dellaert
0a23529032
Everything compiles
2014-11-12 14:37:08 +01:00
dellaert
443b710a8d
Re-factoring ReturnValue
2014-11-12 13:31:46 +01:00
dellaert
9b9d9a6b54
Eliminated copy/paste
2014-11-12 03:26:13 +01:00
dellaert
77935bd631
Massive edit: new Qualified type groups namespaces with name, eliminates a lot of clutter.
2014-11-12 02:49:23 +01:00
dellaert
b8d9d5b6ca
Starting down the path of a templated method
2014-11-11 22:38:50 +01:00