Commit Graph

1771 Commits

Author SHA1 Message Date
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
798d3aac5a io: add dup instance method to fd 2016-08-29 16:16:51 +10:00
1b118ff377 io: add static dup method to fd 2016-08-29 16:14:12 +10:00
ce2f3b821b io: delete fd's copy constructor 2016-08-29 16:13:55 +10:00
3d5aff0f30 maths: use mult rather than negation in constexpr
util::digits was triggering signed overflow warnings under gcc. By using
negative multiplication rather than explicit negation we get the same
behaviour, sans warning.
2016-08-29 14:48:07 +10:00
98c09df7f9 io: add win32 fd constructor to mapped_file 2016-08-25 12:04:55 +10:00
41a8efa200 win32/handle: make HANDLE constructor explicit 2016-08-25 12:03:48 +10:00
eb05746a21 m4/nc: bump for stabs removal 2016-08-16 17:06:37 +10:00
94506a52c8 debug: add forgotten header for win32 2016-08-16 16:22:27 +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
7b4ece207b matrix: remove static_assert size testing
accessing the static size data via a class instance is unwiedly, but we
should have identical protections due to the template parameters
2016-08-15 20:56:10 +10:00
28cd180c44 matrix: add expanded scalar operations 2016-08-15 20:56:10 +10:00
76eb5d55b5 matrix: remove redundant determinant method 2016-08-15 20:56:10 +10:00
5ef6f936a5 matrix: add free elementwise add/sub 2016-08-15 20:56:10 +10:00
f6ceb5cdee coord/ops: add element sum overload 2016-08-15 20:56:10 +10:00
1f86925237 matrix: add elementwise sum function overload 2016-08-15 20:56:10 +10:00
2daa70bae0 matrix: add elementwise abs 2016-08-15 20:56:10 +10:00
277dfaafae maths: add integer summation path for fsum
this allows us to simplify users of fsum which may not care what
value_type they're passing for summation
2016-08-15 20:56:10 +10:00
c0601bfc7c matrix: remove dead commented code 2016-08-15 20:56:10 +10:00
54a56e5d50 matrix: reduce use of indented namespacing 2016-08-15 20:56:10 +10:00
980018656b matrix: use begin/end to define most operators 2016-08-15 20:56:10 +10:00
18915b6610 matrix: use infix_iterator for ostream operator 2016-08-15 20:56:10 +10:00
cee2b7b516 matrix: make rows/cols constexpr 2016-08-15 20:56:10 +10:00
43b59c6801 matrix: add begin/end family of methods 2016-08-15 20:56:10 +10:00
b809925396 vector: rename UNIT to ONES
unit isn't a normalised vector, so it's misleading to call it a 'unit'
vector
2016-08-15 20:56:10 +10:00
86aec9d9dd backtrace: remove excess newline in execinfo backend 2016-08-15 20:56:10 +10:00
2bbba9ab01 guid: style 2016-08-15 20:56:10 +10:00
931dc65727 colour: describe the rationale for overloaded cast operator 2016-08-15 20:56:10 +10:00
94ef217778 colour: add type_name specialisation 2016-08-13 21:03:39 +10:00
bc8cac0e1e introspection: remove type_name's empty default definition 2016-08-13 21:02:57 +10:00
99034e4e4e configure: comment deferred call to NC_DEBUGGING 2016-08-13 17:22:23 +10:00
b8c88c1292 net: remove networking code
this now forms a separate library, libcruft-net.
2016-08-12 15:15:37 +10:00
ead926bed2 vector: remove difference methods 2016-08-11 16:33:42 +10:00
1f3b44a20e vector: move vector::is_zero to coord::almost_zero 2016-08-11 16:33:32 +10:00
fe625c3441 quaternion: style 2016-08-11 15:01:07 +10:00
606a9c4eb8 coord/ops: use free functions for normalisations 2016-08-11 14:58:46 +10:00
517d7ce4a2 coord/ops: use distinct trait to enable scalar ops 2016-08-11 14:58:04 +10:00
650f5c05e6 coord/ops: rename traits to result 2016-08-11 14:23:32 +10:00
efb2657798 coord/fwd: use fwd header for ops 2016-08-11 14:22:53 +10:00
dfdd9421cd Revert "coord/base: remove front/back methods"
This reverts commit 0b811e636e.
2016-08-10 18:26:40 +10:00
cf3d58074f vector: add convenience typedef vectoru 2016-08-10 18:26:13 +10:00
974998cc48 quaternion: update to use coord framework 2016-08-10 17:42:52 +10:00
bb6678726f matrix: rename translate/rotate to translation/rotation 2016-08-10 17:42:19 +10:00
de48f75e96 format: fix transcription of zero values to strings
an iteration condition terminated the write when a value was zero rather
than when all numerals were written. instead, iterate over the remaining
numerals.

fixes printf("%zu", 0u)
2016-08-10 17:38:39 +10:00
00eca4445b debug: use less complex specialistion for validator 2016-08-10 17:36:25 +10:00
8f8896b0f6 debug: use appropriate signed literals for CHECK 2016-08-10 17:34:54 +10:00
0b811e636e coord/base: remove front/back methods 2016-08-10 17:33:58 +10:00
6ddff9dfde coord/base: use std::fill for scalar constructor 2016-08-10 17:33:45 +10:00
116ad04a1f build: use ostream/istream over iostream 2016-08-04 17:42:41 +10:00
310c01b9d2 view: instantiate uint8_t ostream operator 2016-08-04 14:15:02 +10:00