Commit Graph

2553 Commits

Author SHA1 Message Date
a91df8895d geom: prefer inline implementation over ipp 2017-08-29 12:19:58 +10:00
b2cf1ae188 random: add forgotten template param to distributions 2017-08-28 16:02:04 +10:00
107947899c random: remove generator choice from easy API
it's supposed to be an easy replacement for std::rand, we don't need to
let the user choose their generator.
2017-08-28 14:12:36 +10:00
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