Commit Graph

12 Commits

Author SHA1 Message Date
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
2bc7e3e449 point: work around GCC ICE in test case
GCC experiences an ICE when comparing the components of a redim'd to
lower dimension point. The test case is too complex to reasonably reduce
and submit for fixing/workaround so we add a bit more explicit work here
for this test case only.
2017-06-13 14:19:27 +10:00
7b083df977 maths: tighten up type requirements for almost_equal
almost_equal only operates on two reals, or two integers (and even then
only on the same signedness).
2015-11-13 17:18:10 +11:00
abf88710b4 test: use TAP on more tests 2015-07-13 16:30:54 +10:00
9b548e56d9 point: convert distance member functions to functions 2015-06-01 15:29:24 +10:00
bbbbb675a6 test: move tests to TAP output 2015-04-13 16:45:56 +10:00
bd88832df3 coord: move cast/redim operations to coord 2015-04-09 17:58:47 +10:00
6ac02a9920 point: add homogenous redim 2015-02-19 13:29:16 +11:00
e5b85b559b point: fix float warning on test instantiation 2015-02-03 02:21:58 +11:00
bb0271ab2b point: add simple redim with fill test 2015-01-13 18:41:51 +11:00
5956d0421e parameterise point, vector, region, matrix on type 2014-12-15 20:10:56 +11:00
9cc47a05bd Add point::redim implementation 2014-02-18 15:28:28 +11:00