-
Notifications
You must be signed in to change notification settings - Fork 34
Core Coding Tools
Bertini2 is being written in C++ and Python, making use of a variety of libraries. These are described below, along with other tools useful or necessary for development.
c++11 being the minimal standard, and desiring to make use of at least one c++14 feature (make_unique)
the following programming idioms should be used, where possible:
- move-enabled classes
- copy-and-swap
- do you have some suggestions? here is a list of examples.
additionally, all functions, members, and methods should be well-documented using Doxygen
Here at stackoverflow.com is a great post about operators.
A post about optimization is here at eventhelix.com
isympy -- This library solves the problem of an interactive interface with a symbolic engine.
csympi -- A C++ library for using Sympy. Potentially a good library to use.
'The' solution to long numbers. We will specifically use the Boost.Multiprecision library
Can enough positive things be said about this suite of libraries? boost.org specific libraries we intend on using:
- Multiprecision
- Filesystem
- Unit_test tutorial docs (a little dated,but usable)
- Python
A templated linear algebra library, Eigen is capable of performing linear algebra with user-defined number types. Their documentation has some nice tutorials and a quick-start guide. The library is really easy to use!
The gracious host for this free project.
Two nice tutorials:
SourceTree is a program from Atlassian, one of many excellent GUI options for project flow.