Commit Graph

2547 Commits

Author SHA1 Message Date
d70d06468e tuple/type: add entuple, cat, remove, and unique types 2018-06-06 19:13:17 +10:00
8cd33ae5e5 strongdef: allow constructor to be implicit 2018-06-05 13:25:23 +10:00
c6cefe219d README: consolidate README files 2018-06-05 09:35:33 +10:00
50f43d2193 region: add free function point intersection test 2018-06-05 09:28:49 +10:00
33222d3ef4 types/description: add trivial type categorisation enums 2018-06-03 15:25:50 +10:00
18e2b615d5 std: add compact fixed width typedefs 2018-06-03 15:25:17 +10:00
82b1c9fa40 hash/siphash: set default compression/finalisation params 2018-06-01 13:25:21 +10:00
437b4267d3 maths: relax argument restrictions for min/max 2018-05-30 16:54:04 +10:00
11a077f63d region: add distance2 2018-05-30 14:35:11 +10:00
16fc2effb2 region: add uniform sampler 2018-05-30 14:35:03 +10:00
78dd62283b extent: add uniform sampler 2018-05-30 14:34:48 +10:00
5dadd8eb38 random: add coord generator 2018-05-30 14:33:31 +10:00
d21b7809dd random: add unit float and ranged int generator 2018-05-30 14:33:17 +10:00
a90ce0920f random: use more robust seeding strategy 2018-05-30 14:32:39 +10:00
cdac2dcbc2 maths: add 'frac' function
Extracts the fractional component from a floating point number. Prefer
to use temporaries that you have on hand over these functions.
2018-05-21 15:06:07 +10:00
7f00f92e59 geom/aabb: add query for aabb corners 2018-05-21 10:47:51 +10:00
7070607839 endian: refactor endian conversion 2018-05-19 18:06:34 +10:00
7d315c8095 allow/raw/linear: add typed offset query 2018-05-18 16:51:42 +10:00
b7a4b8d1c0 geom/sample: defend against maybe unused variable 2018-05-18 13:51:34 +10:00
e77f59e3ae geom/aabb: define combining 'or' operator 2018-05-18 13:51:19 +10:00
09dfad5391 geom/aabb: add or'ing operator for points 2018-05-16 16:21:56 +10:00
073b41da42 iterator: add make_infix overload for arrays 2018-05-14 14:36:15 +10:00
fc58ec8e0f build: prefer local to system include directives 2018-05-12 14:28:23 +10:00
1567c4f9cc cast: test the correct type for alignment 2018-05-10 14:54:03 +10:00
0eb7fdf5cd debug: add breakpoints on CHECK failures again 2018-05-10 14:53:43 +10:00
38e1a19e37 alloc: all allocators should take a type for alloc/dealloc 2018-05-10 13:53:06 +10:00
117a870b19 cast: add ffs cast 2018-05-10 13:52:49 +10:00
ad90e10c5d view: remove unnecessary enable_if type 2018-05-10 13:31:51 +10:00
2620e2ed33 alloc: return views rather than raw pointers 2018-05-10 12:54:45 +10:00
df3a556867 view: add convenience wrappers for addition operators 2018-05-10 12:54:45 +10:00
6042d9ab76 geom/ellipse: remove spurious print from test case 2018-05-10 12:54:45 +10:00
2c919a6582 view: use alignment cast for casting 2018-05-10 12:54:45 +10:00
ec44c68ce6 view: require fully named types for casting 2018-05-10 12:54:45 +10:00
29702704fb view: improve template deduction guides 2018-05-10 12:48:20 +10:00
2ec9a7ebe6 maths: remove util::is_nan in preference of std::isnan 2018-05-10 12:45:45 +10:00
4116442e40 debug: don't rely on format for output
debug is relied upon by a great deal of other units so it's very
difficult to include other popular headers like format.hpp without
triggering cyclic dependencies.
2018-05-10 12:44:03 +10:00
06e29ed136 cast: add alignment cast 2018-05-09 17:47:47 +10:00
2926776c97 view: use universal references for return types
Reduces the possibility that we dereference a temporary from the
internal iterators.
2018-05-08 21:51:09 +10:00
170f9ceb2c string: prefer type deduction over explicit typenames 2018-05-08 21:50:43 +10:00
34fc834a29 view: prefer std::next over std::advance
next is slightly less likely to trigger issues dereferencing a temporary
(since we aren't producing an lvalue).
2018-05-08 21:49:27 +10:00
e7c108c770 json: remove use of the restrict qualifier
This mostly just complicates type manipulations. We can add it back in
if performance actually warrants it, or if it becomes an official
qualifier.
2018-05-08 21:48:17 +10:00
749b5179a3 quaternion: add convenience quaternion-vector multiply 2018-05-08 15:51:39 +10:00
f53b9ace1b cpp: add some explanatory comments 2018-05-07 13:28:31 +10:00
1324ae2b4a geom/plane: add distance2 for plane/point 2018-05-07 11:48:32 +10:00
92ba5469c4 geom/frustum: add symbolic constants for plane indices 2018-05-07 11:09:53 +10:00
c33a679e81 geom/ray: make ray intersections more robust 2018-05-04 17:10:51 +10:00
3e5c89f643 coord/ops: add lshift 2018-05-04 17:06:18 +10:00
b01173d82b maths: rename limit to clamp 2018-05-03 21:43:48 +10:00
93ddd4c11d library: force typing for symbol queries 2018-05-03 21:22:41 +10:00
1350ea93c7 random: don't hardcode mt19937 2018-05-03 21:22:05 +10:00