31afd9dcfd
coord/ops: initial stubs for coord::apply
2017-08-28 12:59:06 +10:00
c0df6bf8a2
coord/ops: move make_coord higher for visibility
...
latter code may require make_coord it should be above most of the
operations.
2017-08-28 12:58:18 +10:00
c4e367e648
coord: use std::size_t over size_t
2017-08-28 12:25:23 +10:00
3799135236
coord: add general vector comparison function
2017-08-27 12:32:00 +10:00
e7fe5d044a
extent: prefer to use brace initialisation
2017-08-27 12:30:09 +10:00
9aa0ba8f55
test: use constexpr for test data where possible
2017-08-27 12:28:56 +10:00
cde0fe882e
vector: add more convenience typedefs for bools
2017-08-27 12:28:00 +10:00
677a0aa4a9
coord/ops: use vector ops for point difference
2017-08-27 12:27:26 +10:00
31652ed3a3
coord/base: add clarifying comment to index assertion
2017-08-27 11:37:52 +10:00
8f216a0a27
coord/base: don't use std::fill in constexpr constructor
2017-08-27 11:37:18 +10:00
3c9dcba2fb
coord/ops: add rshift coord operation
...
shifts each element to the right `num' places and fills the left space
with a constant or elements from another vector.
2017-08-25 13:05:45 +10:00
e9ef2ae316
sarray: add assignment operator for completeness in test
2017-08-24 17:53:46 +10:00
8f6af0f837
job/queue: make single argument constructor explicit
2017-08-24 17:53:27 +10:00
07d74187c5
geom/aabb: don't write the class name with ostream operators
2017-08-24 17:52:59 +10:00
e573c0bcc6
geom/aabb: style and headers
2017-08-24 17:52:46 +10:00
8b2c1d3fd2
coord/init: make 1-dimension constructor explicit
2017-08-24 17:52:06 +10:00
1277975708
geom/aabb: add brief class description
2017-08-24 17:27:46 +10:00
f53b547a40
geom/aabb: prefer to use vector operations over loops
2017-08-24 17:27:31 +10:00
e82d770d2b
geom/aabb: move inclusive point query into header
2017-08-24 17:21:23 +10:00
d47f52b63f
geom/aabb: use vector operations for inclusive test
2017-08-24 17:12:17 +10:00
9fe8998476
geom/aabb: rename overlaps as inclusive for consistency
2017-08-24 17:11:48 +10:00
94e02fced4
geom/aabb: make the equality operator a free function
2017-08-24 17:08:37 +10:00
56444b4a50
geom/aabb: add (minimally) more thorough test data
2017-08-24 17:02:18 +10:00
1cea1600d3
geom/aabb: change contract/expand semantics to mirror region
2017-08-24 17:01:16 +10:00
f77cdabaee
geom/aabb: dont use mutating function naming convention
2017-08-24 16:47:02 +10:00
cd1bb730f2
geom/aabb: rename AABB to aabb
2017-08-24 16:43:54 +10:00
359702fb86
geom/aabb: remove mutating operators
2017-08-24 16:25:57 +10:00
dba4e673ca
coord/ops: add scalar/vector relational operators
2017-08-24 16:25:27 +10:00
6e32ad84a7
coord: use consistent naming for point coverage tests
...
use inclusive for tests that include all borders, and exclusive for
tests that do not accept the bottom right borders.
2017-08-24 15:56:58 +10:00
efb719b822
coord/base: add indices method
2017-08-24 14:39:54 +10:00
ad345f19d5
coord/base: add restrictions to redim with/out params
...
redim to lower dimensionality should not allow a parameter, and redim to
higher dimensions should require a fill parameter.
2017-08-24 14:39:54 +10:00
1d4992e3e4
coord/base: add comments for constructors
2017-08-24 14:39:54 +10:00
a14847bb59
vector: add and correct 4-dimension types
2017-08-24 14:39:54 +10:00
0b52ef47be
coord/ops: make make_foo functions constexpr
2017-08-24 14:39:54 +10:00
84963aacf8
coord/ops: make 'all' and 'any' constexpr
2017-08-24 14:39:54 +10:00
14718594c9
coord: add tests for vec/num/num overload of util::limit
2017-08-24 12:50:17 +10:00
ac19e165ba
coord/ops: add comment for util::limit
2017-08-24 12:49:59 +10:00
e134d911e6
geom/ray: reinsert is_normalised check for direction param
2017-08-24 12:27:18 +10:00
d8e4354f22
maths: only enable util::limit for scalar types
...
this reduces conflicts with the coord limit operation.
2017-08-24 12:26:36 +10:00
1d988608c1
geom/ray: add an (explicitly) default constructor
2017-08-22 17:23:36 +10:00
2576061b26
ray: extract make member function as free function
...
for consistency with other make_foo functions. to be replaced with
deduction guides in the future.
2017-08-22 15:46:49 +10:00
8b089d412c
matrix: add fallback implementation for inverse_affine
2017-08-22 15:06:16 +10:00
10f777c380
matrix: remove mutating operations
2017-08-22 15:05:58 +10:00
a016e98b12
region: add make_range for regions
...
introduces an object that provides iterators suitable for row-major
scanning of points covering a region object. mostly a wrapper for the
equivalent extent_range.
2017-08-21 18:48:52 +10:00
439809ca65
adapter: add make_reverse for reverse adapter
2017-08-21 16:51:03 +10:00
dcdfa339d7
adapter: actually perform the reverse in reverse adapter
2017-08-21 16:50:46 +10:00
46d28ba7be
debug: add variable escape and memory clobber functions
2017-08-18 11:15:00 +10:00
c49738e7a3
coord/ops: add elementwise limit operation
2017-08-16 17:26:16 +10:00
d6b77f879f
region: add convenience zero() constructor
2017-08-16 17:25:56 +10:00
651324d6f9
tuple: clarify warn_unused_arg usage for ignore(...)
2017-08-16 17:25:29 +10:00