Commit Graph

2327 Commits

Author SHA1 Message Date
af5da5b846 maths: use double negation for equality bool conversion 2018-03-16 11:10:08 +11:00
5dda5d130a spinlock: reduce iterations for testing
4096 iterations should be enough to demonstrate any issues, but still
execute quickly enough for everyday testing
2018-03-15 23:49:12 +11:00
e1d87afe37 spinlock: prefer weak xchg when spinning 2018-03-15 23:48:50 +11:00
12d401b98b tuple/variadic: split into type/value/pack operations 2018-03-15 23:48:21 +11:00
f3f3666877 job/queue: rework locking for reliability 2018-03-15 15:25:19 +11:00
0c824919de job/monitor: add simple monitor adapter 2018-03-15 15:25:18 +11:00
5228cecbfb traits: add is_same_template_template trait 2018-03-15 15:25:18 +11:00
cbe439b8e9 tuple: add index parameter helper for parameter packs 2018-03-15 15:25:18 +11:00
7ce2f5454d pool: correctly forward constructor parameters 2018-03-15 15:25:18 +11:00
bafe71b3ab coord/ops: add `all' overload for scalar bool 2018-03-15 15:25:18 +11:00
deb787847c maths: allow mix's t to lie outside [0,1] a little 2018-03-15 15:25:18 +11:00
c9dea18881 job/semaphore: add a basic semaphore implementation 2018-03-15 15:25:14 +11:00
4154066a0e job/ticketlock: add a trivial ticketlock 2018-03-15 15:23:43 +11:00
f04e6e4de5 job/spinlock: add simple spinlock implementation 2018-03-15 15:23:43 +11:00
3a26a98db7 job/flag: add a one off event object 2018-03-15 15:23:43 +11:00
1fd58c8967 job/event: a simple reusable edge triggered event 2018-03-15 15:23:43 +11:00
5fc6cd46a7 bezier: comment out unused variable in test 2018-03-15 15:23:42 +11:00
0646b1c13b geom: move distance/intersection tests outside classes 2018-03-13 23:27:37 +11:00
b1276519ef geom: add simple frustum class 2018-03-13 22:37:40 +11:00
47efd293c9 geom/plane: use a vector for coefficients
this simplifies usage of the coefficients in other routines
2018-03-13 22:37:09 +11:00
563ffaf894 matrix: assert that index values are valid 2018-03-13 22:35:05 +11:00
44f8496256 matrix: use a more descriptive template param name 2018-03-13 22:34:48 +11:00
f09babd507 matrix: add simple header comment 2018-03-13 22:33:54 +11:00
95d13b9fe4 geom/aabb: rename p0,p1 to lo,hi
this makes their meaning more explicit
2018-03-13 15:42:29 +11:00
583e4aa26d coord/ops: fix incorrect invoke function name 2018-03-13 15:41:48 +11:00
e0fb8e4e6b rational: assert the denominator is nonzero on reduce
this placates clang-analyzer
2018-03-13 14:39:51 +11:00
3a4f6ffce8 tuple: remove `call' as it now duplicates std::apply 2018-03-13 14:39:38 +11:00
17816021b9 coord/ops: add std::{cos,sin} overloads for coords 2018-03-13 14:39:38 +11:00
3e9e9bff5a coord/ops: add elementwise apply 2018-03-13 14:39:38 +11:00
16c6a6d627 coord/ops: move `get' query to top for usage later 2018-03-13 14:39:38 +11:00
f4465329c8 tuple: add a map function over a tuple 2018-03-13 14:39:38 +11:00
741012151b types/traits: add inner_type query for ::value_type 2018-03-12 23:11:26 +11:00
5bc2cf12d4 maths: use true constexpr values for pi 2018-03-12 23:06:15 +11:00
d1c6df8bf1 coord/ops: add simple cosine wrapper 2018-03-12 23:04:17 +11:00
92de21982a coord/ops: use manual integer casting for floor 2018-03-12 23:04:04 +11:00
d0f075108e maths: remove gcd in favour of the std implementation 2018-03-11 15:21:36 +11:00
d00d724296 alloc/allocator: take type into account for sizes and ptrs 2018-03-07 17:57:10 +11:00
87fc5df03d alloc/allocator: add forgotten type parameter for forward call 2018-03-07 17:56:42 +11:00
3867b9e74e alloc/forwarding: add statically typed forwarding allocator 2018-03-07 16:24:39 +11:00
ba19aebe88 point/vector: give homog a default dimensionality 2018-03-06 18:13:46 +11:00
d29f2ed235 colour: style 2018-03-06 18:13:39 +11:00
01b1c01a07 matrix: use longer names for look_at variables 2018-03-06 13:54:12 +11:00
048abab55e matrix: instantiate orth for floats 2018-03-06 13:53:57 +11:00
c2a880c290 matrix: fix missed negation on one component of ortho 2018-03-06 13:53:39 +11:00
b23c274742 alloc/foreign: don't use a null base pointer
We can't use null for the proxy view passed to the successor allocators
because it triggers undefined behaviour.
2018-03-05 15:58:36 +11:00
923ba6b745 types/traits: add dedicated function argument counting trait 2018-03-03 13:42:10 +11:00
15fad39e8a alloc/foreign: add warning about non-trivial child allocators 2018-03-02 12:45:52 +11:00
950ac2229f alloc/foreign: correctly rebase 'offset' 2018-03-02 12:45:27 +11:00
a40b1254c1 build: remove reference to deleted header... 2018-03-02 12:26:12 +11:00
c2265b9ed2 alloc: add aligned::foreign allocator
sometimes we need to ensure memory allocation has a particular alignment
in an _offset_ buffer (which we have no control over, eg renderdoc's
OpenGL buffers).

this applies an offset to various operations that make the
aligned::direct allocator correctly align allocations for buffers that
aren't themselves aligned.
2018-03-02 12:21:38 +11:00