14e2fc5bd5
geom/ray: use infinity, not nan, to signal no intersection
2018-03-27 16:06:34 +11:00
048cffaee7
extent;string: return references in iterators
2018-03-27 16:05:46 +11:00
67c8c9c69c
debug: enable debugging features by default
2018-03-27 15:50:29 +11:00
1b023f7c8d
iterator: improve reference semantics
2018-03-27 15:49:47 +11:00
93185775e6
coord/simd: template on arity and type
2018-03-23 17:52:08 +11:00
3409d39fc9
job/dispatch: add chunked image job queueing
2018-03-23 16:59:09 +11:00
490aab08bc
iterator: retain rvalue sources when constructing zip/izip
2018-03-23 16:41:11 +11:00
86b1fa38c7
variadic: add filter call
2018-03-23 16:40:30 +11:00
cceadcba40
tuple/value: add explanatory comment for map
2018-03-23 16:39:35 +11:00
af77aad894
extent/region: simplify iteration over ranges
2018-03-23 16:38:54 +11:00
7568e34649
view: don't force const iterators for cbegin/cend
2018-03-23 14:40:40 +11:00
58843fb0c7
view: use trivial constructors and assignment
...
this allows us to fulfil the requirements of TriviallyCopyable which is
useful particularly in dumb allocators and job queues.
2018-03-23 14:10:57 +11:00
36f4ba035c
thread: rename thread primitives from job namespace
2018-03-23 14:10:20 +11:00
6cd2bef17d
tap: send output to the recorded stream, not cout
2018-03-22 16:11:13 +11:00
2d7e3e5d7d
build: prefer iosfwd over iostream
2018-03-22 16:11:13 +11:00
40da3f8df7
singleton: add trivial implementation
2018-03-22 15:06:48 +11:00
9bfefb3dab
job/queue: use a reaper thread to clear finished tasks
...
clearing the tasks on the worker threads can cause the queue to stall
while the cookie is notified, released, and deleted. we punt the cleanup
off to a reaper thread so that the workers can continue.
2018-03-22 14:59:03 +11:00
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