109d47e971
coord/ops: generalise vectors hypot function
2016-09-23 13:27:44 +10:00
ff86357b83
coord/ops: use full types for is_coord
...
rather than passing the template class we pass the fully specified
template; ie point<3,float> rather than point.
this makes it dramatically easier to use is_coord in foreign code at the
cost of making the library code slightly more verbose. we no longer have
to obtain a typedef for the root coord class somehow.
2016-09-22 16:20:32 +10:00
2b946510e5
coord/ops: correct last iterators for util::all and util::any
2016-09-21 22:22:52 +10:00
ff7ce2f1ef
coord/ops: mod style
2016-09-14 17:42:11 +10:00
fa21e52ee0
coord/ops: add scalar cos/sin
2016-09-14 17:41:59 +10:00
ab89286d5c
coord/ops: add scalar mod
2016-09-14 17:38:30 +10:00
f6ceb5cdee
coord/ops: add element sum overload
2016-08-15 20:56:10 +10:00
1f3b44a20e
vector: move vector::is_zero to coord::almost_zero
2016-08-11 16:33:32 +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
974998cc48
quaternion: update to use coord framework
2016-08-10 17:42:52 +10:00
3802de5ba3
coord/ops: disable scalar ops for non-arithmetic types
2016-05-12 18:22:55 +10:00
12b526dff7
coord/ops: ensure coord funcs only receive coords
2016-03-14 19:54:25 +11:00
0cfcd7b439
coord/ops: make operations constexpr where possible
2016-03-14 19:01:59 +11:00
27c7108c6d
coord/ops: remove duplicate unary negation
2016-03-14 18:57:07 +11:00
8035cbf46f
coord/ops: return the computed value in unary ops
2016-03-14 18:56:36 +11:00
7f4cf49931
iterator: use infix_iterator for coord ostream
2016-03-11 12:48:19 +11:00
2ca4a7e291
coord/ops: enable iff types are coords
2015-11-04 23:22:49 +11:00
23fff4a65a
coord/ops: expand dot product to accept arrays
2015-11-04 17:10:16 +11:00
3991848726
coord: add vector relational operators
2015-10-20 12:37:08 +11:00
60f16cdc4a
WIP coord: clean up operation templates
2015-10-19 17:06:19 +11:00
634f2af9cc
coord/ops: don't use multiplication for negation
2015-10-19 12:06:03 +11:00
5ed95ec952
coord/ops: use common_type for results
2015-10-19 12:06:03 +11:00
3e884113fd
coord: add elementwise pow function
2015-10-12 23:56:41 +11:00
50c1088918
coord/ops: add vector floor function
2015-09-29 18:06:52 +10:00
0db7872c1b
coord: use almost_equal for equality
2015-07-21 01:39:14 +10:00
d11bdb79b0
coord: add modulus operators
2015-07-21 01:39:01 +10:00
8e0e65e2b8
coord: add elementwise abs function
2015-05-29 15:51:08 +10:00
b96ad81d32
coord: allow multi-type scalar-vector ops
2015-05-28 10:18:32 +10:00
b67bb283d1
coord: add scalar gte, lte
2015-05-26 16:25:41 +10:00
2658b41ea1
relicence under Apache-2.0
2015-04-13 18:05:28 +10:00
532dc415a4
colour: allow arbitrary colour dimensions
2015-04-09 18:00:40 +10:00
e1b03e0735
coord: express negate with scalar value multiply
...
we don't have universal scalar reference operations implemented, this
avoids a temporary and removes compile errors
2015-04-08 14:53:55 +10:00
14e5f4ca2d
coord/ops: enable vector-point element operations
2015-04-07 17:01:50 +10:00
0ba8b414b4
coord/ops: comments
2015-03-07 03:18:32 +11:00
3f07f6edf7
coord/ops: negation operator
2015-03-07 03:18:13 +11:00
869125e308
coord/ops: correct order of operators scalar ops
2015-03-07 03:17:22 +11:00
e69d970e22
coord/ops: add max/min vector and element
2015-03-06 17:52:25 +11:00
b96ccef8ba
coord/ops: use relative include paths
...
assists when building external projects
2015-03-06 02:01:50 +11:00
9d58f835a9
coord/ops: consistency in forward declarations
2015-03-06 02:01:32 +11:00
e461654de8
coord: split coord header into components
2015-03-06 01:46:01 +11:00