Commit Graph

19 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
34788756d2 build: don't use './' as an include prefix
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11:00
353cf839d4 use nested namespace declarations 2017-01-05 15:06:49 +11:00
e5d44d0c6d coord: instantiate signed types 2016-10-25 17:50:11 +11:00
ec78216813 coord: prefer int/unsigned to intmax/size_t 2016-10-25 17:46:36 +11:00
9a798446b5 build: remove unnecessary includes
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
606a9c4eb8 coord/ops: use free functions for normalisations 2016-08-11 14:58:46 +10:00
00eca4445b debug: use less complex specialistion for validator 2016-08-10 17:36:25 +10:00
116ad04a1f build: use ostream/istream over iostream 2016-08-04 17:42:41 +10:00
08536765b6 Merge branch 'crypto' 2016-06-20 18:08:46 +10:00
24f4050ea8 geom/aabb: add missing required header 2016-06-20 18:03:41 +10:00
67a5184a9d build: add missing includes
detected under libstdc++ from gcc-6.0
2016-04-28 15:02:16 +10:00
9bbcfa6e63 make header paths more explicit 2016-04-05 11:06:35 +10:00
7f4cf49931 iterator: use infix_iterator for coord ostream 2016-03-11 12:48:19 +11: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
1de33ce53c debug: use new namespace 2015-10-29 10:45:42 +11:00
b47cb6c560 g/cylinder: use (barely) saner member names 2015-10-15 00:38:54 +11:00
ac06282f03 geom: add more primitives 2015-10-14 15:32:53 +11:00
20bafa2cfb geom: move geometry primitives to own namespace 2015-10-13 18:19:47 +11:00