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
825ca4a7e7
tap: add expect_mod test
2018-03-02 12:21:38 +11:00
7e11707c39
view: remove ambiguous operator-
...
this operation is identical to the more appropriately named 'consume'
which should be used in its stead.
2018-03-02 12:21:38 +11:00
89a28322ad
pointer: add align overload for pointer-views
2018-03-02 12:15:43 +11:00
35537b07ca
alloc/aligned: add accessor for alignment
2018-03-01 14:43:37 +11:00