ttauto is a C++ library for building train track automata for homeomorphisms of punctured discs. It was written by Jean-Luc Thiffeault and Erwan Lanneau.
ttauto uses Timothy A. Davis's CSparse and the jlt library. These are included with the source code in the folder extern, along with their license information.
ttauto is released under the GNU General Public License v3. See COPYING and LICENSE.
There is currently no real documentation for ttauto. See the examples folder for some basic examples. The most complete program is ttauto.cpp, an interactive program.
The project targets C++17 by default and now builds with CMake.
From the repository root:
cmake -S . -B build
cmake --build build -jDefault output behavior is in-place:
- examples are written to
examples/ - test programs are written to
tests/ - the static library is written to
lib/
Both examples/*.cpp and tests/*.cpp are auto-discovered by CMake. Adding a new .cpp file in either folder is enough for it to compile on the next build, with no CMake file edits required.
A testsuite is provided under testsuite/ and wired to CTest.
From the repository root:
cmake -S . -B build
cmake --build build -j
ctest --test-dir build --output-on-failureSee TESTING.md for more details.
The development of ttauto was supported by the US National Science Foundation, under grants DMS-0806821 and CMMI-1233935.