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
959bc85987
range: add signed integer instantiations
2017-08-15 16:44:54 +10:00
ec0cb7d2c1
region: remove scale operation
...
it's not immediately apparent how scale operates on both of point and
extent components. rather than complicate matters we remove them in
preference of letting the user construct it directly.
2017-08-11 15:20:48 +10:00
9abfef2769
region: remove mutating point constrain function
2017-08-11 15:19:14 +10:00
31d2e6bfd8
region: remove duplicate point/region coverage tests
2017-08-11 15:15:44 +10:00
f36a14973a
region: add `encloses' test for subregions
2017-08-11 14:39:46 +10:00
72f631ab4b
region: remove `expanded' function
...
we're trying to move away from mutating operators.
also, we do the bad thing of just renaming the non-mutating operator
given it appears no one is using the mutating operator in our code bases
anyway...
2017-08-09 17:28:53 +10:00
b6edf25cd8
region: remove the resize method
...
we're moving away from mutating operators so this is somewhat
out-of-place. it's not a huge functional change though as there are
enough locations where the internal representation of point/extent are
assumed that we just do it through the members.
2017-08-09 17:27:28 +10:00
fc41f0991d
region: add overload of inset for vectors
2017-08-09 17:17:55 +10:00
ff5e6945e3
signal: remove unused code
2017-08-08 13:55:20 +10:00