Skip to content

The 'mostly documented' release

Latest

Choose a tag to compare

@sebsjames sebsjames released this 17 Aug 09:07
· 29 commits to main since this release
b4ddd46

What's Changed

New features and API changes

We have implementations of a number of new algorithms, including Random Sample Consensus fitting (RANSAC) for linear models, Principal Component Analysis, a Runge-Kutta solver for differential equations and the Separating Axis Theorem (in the sm::geometry namespace) for collision detection between oriented bounding boxes.

Fixes and documentation

A number of new documentation pages have been added with the use of AI. Those that were generated by AI are marked as such at the end of each page. While sebsjames/maths is (almost completely) a human-written library, the AI wrote some reasonable reference page drafts and as a bonus, it pointed out one or two issues in the code (these were then fixed by human toil and brain activity).

Seb's scheme that defines CMake macros (cmake/module_definitions.cmake) to generate lists of C++ modules for client code to compile has also been evolving.

  • Optimized the test build to reduce storage use (C++ modules go in a library) by @sebsjames in #144
  • Remove some redundant preprocessor directives by @sebsjames in #146
  • CMake streamlining: Avoid setting CMAKE_MODULES_PATH by @sebsjames in #148
  • Use corrected degree, not size of input array to select solver method by @sebsjames in #164
  • Corrects a square-matrix guard on eigenpairs by @sebsjames in #165
  • Fixing some issues in sm::interval::intersects() by @sebsjames in #167
  • Docs for rk4 plus a couple of tweaks to the class by @sebsjames in #152
  • Completes the hdfdata page by @sebsjames in #155
  • Documentation for sm::config by @sebsjames in #154
  • Adds a winder documentation reference page by @sebsjames in #153
  • Documentation for grid, hexgrid and cartgrid by @sebsjames in #161
  • Several more documentation pages @sebsjames in #166 (including updates for sm::mat in #170)

Full Changelog: 3.0...3.1