62920f36f4
job/dispatch: retain the supplied function if forwarded to us
2018-03-27 16:20:56 +11:00
45fa54a5ee
job/dispatch: don't unconditionally cast parameters
2018-03-27 16:16:35 +11:00
d941188dd5
job/queue: add default constructor
2018-03-27 16:16:13 +11:00
429c0151db
singleton: add comments
2018-03-27 16:15:54 +11:00
473556f9ed
maths/fast: use relatively_equal for tests
2018-03-27 16:15:21 +11:00
046e6182e7
maths: avoid division by zero in relatively_equal
2018-03-27 16:14:41 +11:00
8777d32b94
debug: don't enable float exceptions by default
...
sometimes we just power through computations with invalid results to
simplify conditionals.
2018-03-27 16:14:01 +11:00
5532f90de7
vector: note what each component in spherical corresponds to
2018-03-27 16:11:49 +11:00
951b160d0d
parse: instantiate unsigned in parsing
2018-03-27 16:11:04 +11:00
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