Commit Graph

2735 Commits

Author SHA1 Message Date
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
c51673e421 io: add slurp for uint32_t 2018-05-03 21:21:45 +10:00
497d3ca970 build: update for gcc-8.1 warnings 2018-05-03 18:32:08 +10:00
c0af2df2c8 hash/fasthash: print result of each test case 2018-05-03 17:34:19 +10:00
dcf87a7c17 geom/aabb: add ray-aabb distance tests 2018-05-03 17:33:42 +10:00
1c150296f9 hash/siphash: qualify local helper functions as static 2018-05-03 17:32:45 +10:00
9f1f3633e2 debug: catch exceptions by constref in CHECK_THROWS 2018-05-03 17:32:03 +10:00
2a6ad38e9c coord/traits: add vector-extent result_type 2018-05-03 17:31:41 +10:00
9f6697dc2a geom/ray: correct test for negative aabb distance 2018-05-03 16:40:30 +10:00
cfefca7767 geom/ray: correct the sense of ray/plane distance 2018-05-03 16:39:57 +10:00
a1aa0c6949 geom/sample: make the extent surface sampler public 2018-05-01 16:02:55 +10:00
8b47a2e350 geom/sample: don't rely on float distances in poisson sampling 2018-05-01 16:02:23 +10:00
d72485307a geom/ellipse: add convenience ellipse3f typedef 2018-05-01 16:01:43 +10:00