Commit Graph

14 Commits

Author SHA1 Message Date
6b1cbc4d73 Move source out of root and into the cruft directory 2024-07-18 12:27:05 +10:00
a94cd677bd tap: use fmtlib specifiers 2021-04-13 16:05:08 +10:00
5251c9b071 quaternion: add test for from_euler 2019-12-19 14:45:18 +11:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
d3f434b523 coord: make template parameters more flexible
The coordinate system was unable to support types that prohibited
redim or retype operations. Additionally, the `tags' type used for
providing named data parameters was unwiedly.

We remove much of the dependance on template template parameters in the
defined operations and instead define these in terms of a template
specialisation of is_coord.

The tag types were replaced with direct specialisation of the `store'
struct by the primary type, and passing this type through use of the
CRTP.
2017-11-22 17:03:00 +11:00
a93dd90da9 types: remove elems function, prefer std::size
Now that std::size is part of our supported compilers we can remove the
old elems function.
2016-11-17 18:06:39 +11:00
e549f3d554 matrix: move identity and zeroes into constexpr funcs 2016-10-17 22:34:53 +11:00
e96ef7af32 quaternion: move out of coord infrastructure 2016-10-17 22:30:16 +11:00
1d53c32de0 quaternion: add trivial from_to tests 2016-10-12 23:03:33 +11:00
db076ad6f4 quaternion: update look, from_to, rotate 2016-10-12 23:03:33 +11:00
c917f264c4 quaternion: fix incorrect factorisation in as_matrix
One of the terms in m[0][0] and m[1][1] was incorrectly negated from an
incomplete factorisation when I transcribed the formula.

Also reintroduces the axis-rotation tests which inadvertantly had zero
magnitudes.
2016-09-14 16:49:26 +10:00
45795a1ae0 quaternion: compare test results using sum-of-differences
comparison of floating point values is inexact and there isn't an easy
way for providing an ULP delta via the TAP interface. morever, the
general expected error is too large to reliably express in ULPs.
2016-08-15 20:56:10 +10:00
606a9c4eb8 coord/ops: use free functions for normalisations 2016-08-11 14:58:46 +10:00
974998cc48 quaternion: update to use coord framework 2016-08-10 17:42:52 +10:00