Commit Graph

536 Commits

Author SHA1 Message Date
e2eaa1a7af string: add tests for character_position 2018-10-17 11:48:03 +11:00
98e935d4d7 string: extract tokeniser tests into a function 2018-10-16 18:06:45 +11:00
edc245e2d1 iterator: add dereference_adapter for iterators 2018-10-15 17:15:27 +11:00
0e5a084a9b iterator: add counting_output_iterator 2018-10-05 14:57:44 +10:00
fdbe909fb8 view: prefer construction using explicit size over pointer arithmetic
This simplifies step through debugging on some containers.
2018-10-04 14:52:35 +10:00
483c43c732 algo: remove doubly qualified root namespace 2018-09-21 12:25:02 +10:00
c2f203b5a7 stringid: add query-or-insert indexing operator 2018-09-17 14:50:23 +10:00
6c5a7cc5fa thread/semaphore: specalise the implementation for win32 2018-08-15 17:00:29 +10:00
9a929353d6 build; account for newlines in win32 tests 2018-08-13 23:29:14 +10:00
75a3572fdd exe: defend test case against msys2 paths 2018-08-13 16:12:11 +10:00
4fd68aef55 build; remove inadvertently added debug code 2018-08-13 16:03:20 +10:00
ce67836e8e format: disable hexfloat tests under msys2
These conversions appear to be broken under msys2.
2018-08-13 16:02:18 +10:00
b60aaccf6f build; fix compilation errors under win32
win32 builds are still totally unsupported, untested, and functionally
broken.
2018-08-13 14:52:40 +10:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
3aaddd1d2b json: move json code to external module
This module can now be found at git://git.nerdcruft.net/libcruft-json.git
2018-08-04 15:02:06 +10:00
bcb4d7569f types/traits: add is_same_basic_type trait 2018-08-01 18:39:01 +10:00
79409eb6fe avoid push_back in loops
Detected by clang-tidy.
2018-07-24 15:49:11 +10:00
799768641f prefer passing by reference over value 2018-07-24 15:46:28 +10:00
49d39c4ede json/compare: change to useful exit codes in test suite 2018-07-13 16:08:48 +10:00
33dc5c7053 json/pointer: add a trivial parser for json-pointer 2018-07-13 16:08:24 +10:00
a2e2d59c98 json/schema: add multipleOf test cases 2018-07-12 16:21:56 +10:00
0629ba07cd json/schema: add exclusiveMin/Max 2018-07-12 16:08:36 +10:00
d48e36ffd5 json/schema: add additionaProperties tests 2018-07-12 15:56:03 +10:00
8c222300ca json/schema: add pattern_properties and associated tests 2018-07-12 15:10:41 +10:00
85b5853f7f json/schema: delete intermediate test files 2018-07-12 15:10:04 +10:00
647af5504b json/schema: reimplement enum support 2018-07-12 13:06:11 +10:00
bb9d390cf4 json/schema: correct the truth data for min/max tests 2018-07-11 19:30:30 +10:00
8ea762bff8 json/schema: add object test cases 2018-07-09 14:13:51 +10:00
04249a8320 json/schema: fall back to identity test for .result.json
result.json test cases are only really required when we have default
properties that need to be filled. Fall back to using the input.json
file for other cases.
2018-07-09 14:13:51 +10:00
59f42de23f json/schema: use symlinks to identical test result files 2018-07-06 14:21:28 +10:00
8e07e8152b json/schema: rename schema dirs 2018-07-06 13:21:59 +10:00
19fdbaefb7 json/schema: move validation test cases to own directory 2018-07-06 13:19:10 +10:00
195616f563 json/schema: number the test groups for sorting 2018-07-06 12:43:20 +10:00
1658347573 json-schema: add schema test suite 2018-07-05 19:08:58 +10:00
4c0f129a37 json-compare: add a json comparison tool and test suite 2018-07-05 17:46:43 +10:00
94640d00f0 json: rearrange schema test to allow for modified output
Schemas can insert default values, so we need to be able to test the
resultant files.
2018-07-05 15:02:14 +10:00
30c35b2101 json: move validation test data to dedicated directory 2018-07-05 15:00:47 +10:00
74568d1c2d test/json-parse: add json parsing test 2018-07-05 13:45:10 +10:00
0df16bb9ee strongdef: swap template params, move to dedicated namespace 2018-06-27 17:58:45 +10:00
279af4c796 strongdef: significantly tighten restrictions on usage
It turns out that equality in particular was triggering implicit
construction of strongdef types. We make it much harder for these types
to spontaneously emerge.
2018-06-22 17:41:56 +10:00
3722c8aaa3 region: add union operator for region/region 2018-06-14 15:07:25 +10:00
22b25221b2 coord/base: add std::array conversion operator 2018-06-12 10:54:08 +10:00
d70d06468e tuple/type: add entuple, cat, remove, and unique types 2018-06-06 19:13:17 +10:00
fc58ec8e0f build: prefer local to system include directives 2018-05-12 14:28:23 +10:00
38e1a19e37 alloc: all allocators should take a type for alloc/dealloc 2018-05-10 13:53:06 +10:00
2620e2ed33 alloc: return views rather than raw pointers 2018-05-10 12:54:45 +10:00
6042d9ab76 geom/ellipse: remove spurious print from test case 2018-05-10 12:54:45 +10:00
ec44c68ce6 view: require fully named types for casting 2018-05-10 12:54:45 +10:00
c33a679e81 geom/ray: make ray intersections more robust 2018-05-04 17:10:51 +10:00
b01173d82b maths: rename limit to clamp 2018-05-03 21:43:48 +10:00
497d3ca970 build: update for gcc-8.1 warnings 2018-05-03 18:32:08 +10:00
c0af2df2c8 hash/fasthash: print result of each test case 2018-05-03 17:34:19 +10:00
dcf87a7c17 geom/aabb: add ray-aabb distance tests 2018-05-03 17:33:42 +10:00
aab066593b geom/segment: add trivial segment representation 2018-04-20 15:08:06 +10:00
56a73275c1 geom/line: add basic line class 2018-04-20 15:08:06 +10:00
443112b33c geom/plane: add trivial plane tests 2018-04-20 15:08:06 +10:00
f31a344912 kmeans: add naive kmeans impl 2018-04-18 21:48:55 +10:00
dcd789a075 geom/ellipse: add naive covering ellipse impl 2018-04-18 21:48:55 +10:00
eb2b85c4f6 point: add query for furthest pair 2018-04-18 21:48:55 +10:00
8a2055abfc WIP ellipse area 2018-04-17 17:11:41 +10:00
76c809f031 point/vector: homog no longer takes a size parameter 2018-04-17 14:26:23 +10:00
f21297cad5 geom/ellipse: add ray distance tests 2018-04-16 16:00:32 +10:00
1889a76e26 geom/sphere: add glancing ray test 2018-04-16 16:00:32 +10:00
a8b3737b8b geom/ray: remove constructors so we have a POD 2018-04-16 16:00:32 +10:00
bef0aa4929 sphere: move ray tests into sphere's unit 2018-04-16 16:00:32 +10:00
56fdc7844e geom/frustum: test projection should use radians 2018-04-11 19:28:18 +10:00
d7b36b0ee3 affine: add perspective matrix test cases 2018-04-11 18:26:30 +10:00
24a530e23e maths: remove pow2 function
pow2 has been used enough times to mean 2^x and x^2 that it's not worth
the ambiguity. just use pow(b,e) directly.
2018-04-09 12:30:22 +10:00
665c8aa49e tuple/value: add reversing operation 2018-04-05 16:06:09 +10:00
d69a567431 tuple/index: add some index sequence generators and manipulators 2018-04-05 15:18:30 +10:00
5f2b1a5c36 tuple: split tests into separate units 2018-04-05 13:54:42 +10:00
8f2f623520 tuple/value: add zip implementation 2018-04-05 12:23:12 +10:00
de247c7e7b cpp: add basic C preprocessor emulator 2018-04-01 14:49:10 +10:00
a4634a771b g/frustum: simplify aabb intersection test 2018-03-28 20:42:43 +11:00
47613c5ec2 string: remove unneeded rval-ref qualifier 2018-03-27 16:21:20 +11:00
473556f9ed maths/fast: use relatively_equal for tests 2018-03-27 16:15:21 +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
af77aad894 extent/region: simplify iteration over ranges 2018-03-23 16:38:54 +11:00
36f4ba035c thread: rename thread primitives from job namespace 2018-03-23 14:10:20 +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
804b2263b8 parallel/queue: rename the queue type 2018-03-22 13:22:27 +11:00
370488c498 coord: test coords are trivial types 2018-03-22 13:20:00 +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
2508c5cc71 test: read TAP status before exit 2018-03-20 14:50:46 +11:00
8212048750 maths: add fast approximations WIP 2018-03-20 13:35:10 +11:00
341907ac79 coord/simd: add more sse operations 2018-03-20 13:35:10 +11:00
b307ab935d coord/simd: add initial simd tests 2018-03-16 11:10:44 +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
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
7ce2f5454d pool: correctly forward constructor parameters 2018-03-15 15:25:18 +11:00
c9dea18881 job/semaphore: add a basic semaphore implementation 2018-03-15 15:25:14 +11:00