gtsam/cython/TODO.md

53 lines
2.7 KiB
Markdown
Raw Normal View History

2016-09-20 00:46:57 +08:00
TODO:
2016-11-14 12:54:06 +08:00
☐ methods for FastVector: at, [], ...
☐ Casting from parent and grandparents
☐ Allow overloading constructors and methods. The current solution is annoying!!!
☐ Support "print obj"
2016-09-20 00:46:57 +08:00
☐ forward declaration?
☐ Global functions
☐ wrap VariableIndex: why is it in inference? If need to, shouldn't have constructors to specific FactorGraphs
☐ [REFACTOR] better name for uninstantiateClass: very vague!!
☐ [REFACTOR] typesEqual --> equalSignature
☐ Unify cython/gtsam.h and the original gtsam.h
☐ Proper overloads (constructors, static methods, methods)
☐ CMake install script
Completed/Cancelled:
✔ Cython: Key and size_t: traits<size_t> doesn't exist @done (16-09-12 18:34)
✔ KeyVector, KeyList, KeySet... @done (16-09-13 17:19)
✔ [Nice to have] parse typedef @done (16-09-13 17:19)
✔ ctypedef at correct places @done (16-09-12 18:34)
✔ expand template variable type in constructor/static methods? @done (16-09-12 18:34)
✔ NonlinearOptimizer: copy constructor deleted!!! @done (16-09-13 17:20)
✔ Value: no default constructor @done (16-09-13 17:20)
✔ ctypedef PriorFactor[Vector] PriorFactorVector @done (16-09-19 12:25)
✔ Delete duplicate methods in derived class @done (16-09-12 13:38)
✔ Fix return properly @done (16-09-11 17:14)
✔ handle pair @done (16-09-11 17:14)
✔ Eigency: ambiguous call: A(const T&) A(const Vector& v) and Eigency A(Map[Vector]& v) @done (16-09-11 07:59)
✔ Eigency: Constructor: ambiguous construct from Vector/Matrix @done (16-09-11 07:59)
✔ Eigency: Fix method template of Vector/Matrix: template argument is [Vector] while arugment is Map[Vector] @done (16-09-11 08:22)
✔ Robust noise: copy assignment operator is deleted because of shared_ptr of the abstract Base class @done (16-09-10 09:05)
✘ Cython: Constructor: generate default constructor? (hack: if it's serializable?) @cancelled (16-09-13 17:20)
✘ Eigency: Map[] to Block @created(16-09-10 07:59) @cancelled (16-09-11 08:28)
- inference before symbolic/linear
- what's the purpose of "virtual" ??
- Need default constructor and default copy constructor for almost every class... :(
☐ support these constructors by default and declare "delete" for special classes?
Installation:
☐ Prerequisite:
- Users create venv and pip install requirements before compiling
- Wrap cython script in gtsam/cython folder
☐ Install built module into venv?
Known issues:
☐ Doesn't work with python3 installed from homebrew
- size-related issue: can only wrap up to a certain number of classes: up to mEstimator!
2016-11-14 12:54:06 +08:00
- Guess: 64 vs 32b? disutils Compiler flags?
☐ Bug with Cython 0.24: instantiated factor classes return FastVector<size_t> for keys(), which can't be casted to FastVector<Key>
- Upgrading to 0.25 solves the problem