Commit Graph

9901 Commits (83d3f21fd8276d257ad4bc4dbff0d07bc695e6a5)

Author SHA1 Message Date
Duy-Nguyen Ta 83d3f21fd8 ignore generated files 2016-09-16 11:43:06 -04:00
Duy-Nguyen Ta d40c0ba491 add setup scripts, fix tests 2016-09-16 11:42:01 -04:00
Duy-Nguyen Ta 3478b744e6 add setup script 2016-09-14 07:47:52 -04:00
Duy-Nguyen Ta 547606e6c2 correct cython wrapper module name in pyx import 2016-09-14 07:45:26 -04:00
Duy-Nguyen Ta 435870ebf0 remove extra Xd of Eigen types in Argument and ReturnType 2016-09-14 07:44:38 -04:00
Duy-Nguyen Ta 892b9264a4 correct Eigency name for Eigen type 2016-09-13 21:20:08 -04:00
Duy-Nguyen Ta 2433cbd8e8 Remove copy constructor assumption. Manually add copy constructors. Remove dependency on default constructor (some like Optimizers and Marginals don't have the default constructor). Remove cyCreateFromValue. Ignore variable name when checking overload similarity. 2016-09-13 17:11:23 -04:00
Duy-Nguyen Ta 0c149b0cca add python version for getA/getb as cython can't convert constABlock/BVector to Matrix/Vector automatically. 2016-09-13 16:21:51 -04:00
Duy-Nguyen Ta 450a652bcf pxd hack: always add copy constructor by default 2016-09-12 18:47:04 -04:00
Duy-Nguyen Ta 3115f9b671 enable all Key containers 2016-09-12 18:46:41 -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 fabfac65f4 unify and simplify function call in Method and StaticMethod 2016-09-11 17:14:06 -04:00
Duy-Nguyen Ta 63a5d1e15a wrap pair. Improve return. 2016-09-11 16:40:09 -04:00
Duy-Nguyen Ta b91a7d368d fix Vector/Matrix and Map[Vector/Matrix] ambiguity.
That also fixes the problem of function templated on Matrix/Vector
2016-09-11 08:24:45 -04:00
Duy-Nguyen Ta cf51c85391 fix testWrap: revert experimental changes 2016-09-10 22:18:53 -04:00
Duy-Nguyen Ta 081d642365 Merge branch 'develop' into feature/cython_wrapper 2016-09-10 20:35:48 -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 3352aed2f7 call new function name 2016-09-10 19:45:50 -04:00
Duy-Nguyen Ta 2496de85a9 check if default constructor exists. Autogenerate copy constructor by default 2016-09-10 19:44:53 -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 10f510119a pyx class methods with arguments/return type casting 2016-09-09 18:37:48 -04:00
Duy-Nguyen Ta 56c0d2a65e pyx wrapper for static methods 2016-09-09 16:39:47 -04:00
Duy-Nguyen Ta d65d87072b use __Create__ as name for "constructors" instead of the object name
so we call : Class.__Create__(...) to create a python object, instead of Class.Class(...) which seems duplicated and complicated if Class is long, e.g. "mEstimator_noiseModel_GemanMcClure"
2016-09-09 16:39:12 -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 f137ae1d9c test wrapping JacobianFactor 2016-09-09 11:59:28 -04:00
Duy-Nguyen Ta 16345e4ba1 revert changes in methods_, handle template methods for Cython pxd in a less instrusive way 2016-09-09 07:49:42 -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 40da298f68 emit methods to pxd, change the way template methods are handled
pxd allows template methods, whereas the current scheme instantiates/expands all template methods and add them to the same methods_ container. The new scheme treats them all separately: nontemplated methods in methods_, template methods in templateMethods_, and template methods after instantiation in expandedTemplateMethods_.
2016-09-09 07:26:11 -04:00
Duy-Nguyen Ta 6e96e095f3 remove unused function 2016-09-09 07:18:58 -04:00
Duy-Nguyen Ta 93696c0245 test pxd ReturnValue and ReturnType 2016-09-09 07:17:12 -04:00
Duy-Nguyen Ta b73d063dbd bug fix 2016-09-09 07:16:29 -04:00
Duy-Nguyen Ta f72448b624 pxd returntype 2016-09-09 07:10:32 -04:00
Duy-Nguyen Ta 86405dbb48 pxd return value 2016-09-09 07:10:04 -04:00
Duy-Nguyen Ta 2c52928d57 pxd staticmethod 2016-09-09 07:09:39 -04:00
Duy-Nguyen Ta ecde851d8c [inprogress] cython wrapper 2016-09-08 13:33:32 -04:00
Duy-Nguyen Ta df8900a3d1 correct name for Welsch 2016-08-22 13:39:50 -04:00
Duy-Nguyen Ta cdaf928ecf fix include 2016-08-22 11:45:26 -04:00
Duy-Nguyen Ta 2ce99b7468 Merge branch 'master' into feature/fast_robust_noise 2016-08-18 10:49:53 -04:00
Duy-Nguyen Ta 6068d94bea Revert "[msys] Disable dllexport/dllimport on msys2"
This reverts commit b955a0b715.
2016-08-18 10:48:05 -04:00
Duy-Nguyen Ta 3cbf2c372e Merge branch 'master' into feature/fast_robust_noise 2016-08-18 09:55:48 -04:00
Duy-Nguyen Ta afb6c37630 split M-Estimators out from NoiseModel 2016-08-17 17:01:50 -04:00
Manuel Naranjo b955a0b715 [msys] Disable dllexport/dllimport on msys2 2016-08-16 14:03:14 -03:00
Frank Dellaert 0de62ab879 Merged in bugfix/boost_1_60_Compatibility (pull request #273)
Fixed compile error on BOOST 1_60_0
2016-08-06 00:46:17 -07:00
= 38fd695228 Fixed compile error on BOOST 1_60_0 2016-08-05 22:34:38 -04:00