3689b08535
parallel/queue: add nodiscard to push/pop
...
Users _must_ check the return value otherwise they've no indication
whether anything happened... This is a pretty common mistake because it
looks a lot like a typical push/pop operation.
2018-03-22 14:57:34 +11:00
4f4b812356
parallel/queue: add capacity query
2018-03-22 14:57:24 +11:00
53255ca4a0
job/semaphore: add multi-release
2018-03-22 13:39:16 +11:00
848b9951e8
job/semaphore: add multi-acquire
2018-03-22 13:37:28 +11:00
804b2263b8
parallel/queue: rename the queue type
2018-03-22 13:22:27 +11:00
d47f9e0cce
debug: write threadid to trace output
2018-03-22 13:20:23 +11:00
370488c498
coord: test coords are trivial types
2018-03-22 13:20:00 +11:00
88d514aa9c
pool: launder the allocated pointers
2018-03-22 13:10:18 +11:00
7fc51aa151
parallel/queue: use representative name for class
2018-03-22 13:05:51 +11:00
fc148fa7a4
parallel/queue: comments and type checks
2018-03-22 13:02:51 +11:00
4773e4be21
parallel: initial single-producer/multiple-consumer queue
2018-03-21 18:53:24 +11:00
82d63f68b1
job/flag: improved parallelism test
2018-03-20 18:02:20 +11:00
e120540bb9
job: add forward declarations
2018-03-20 15:01:23 +11:00
2508c5cc71
test: read TAP status before exit
2018-03-20 14:50:46 +11:00
197160daba
tap: check the status variable is read
2018-03-20 14:50:32 +11:00
0cf530c2de
debug: use macros for DEBUG_ONLY macro
2018-03-20 14:49:46 +11:00
8212048750
maths: add fast approximations WIP
2018-03-20 13:35:10 +11:00
5d02171a6f
maths: add relatively_equal comparator
2018-03-20 13:35:10 +11:00
84f8600f85
view: add const array ref template deduction
2018-03-20 13:35:10 +11:00
341907ac79
coord/simd: add more sse operations
2018-03-20 13:35:10 +11:00
7708b12c37
bitwise: add 'from_bits' integer extraction
...
constructs an integer from range of indices over a bitfield
2018-03-20 13:35:10 +11:00
68faa8838e
cpuid: add initial trivial CPUID queries
2018-03-18 17:29:44 +11:00
b307ab935d
coord/simd: add initial simd tests
2018-03-16 11:10:44 +11:00
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