Commit Graph

3350 Commits

Author SHA1 Message Date
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