Commit Graph

306 Commits

Author SHA1 Message Date
28cd180c44 matrix: add expanded scalar operations 2016-08-15 20:56:10 +10:00
f6ceb5cdee coord/ops: add element sum overload 2016-08-15 20:56:10 +10:00
1f86925237 matrix: add elementwise sum function overload 2016-08-15 20:56:10 +10:00
b809925396 vector: rename UNIT to ONES
unit isn't a normalised vector, so it's misleading to call it a 'unit'
vector
2016-08-15 20:56:10 +10:00
606a9c4eb8 coord/ops: use free functions for normalisations 2016-08-11 14:58:46 +10:00
974998cc48 quaternion: update to use coord framework 2016-08-10 17:42:52 +10:00
de48f75e96 format: fix transcription of zero values to strings
an iteration condition terminated the write when a value was zero rather
than when all numerals were written. instead, iterate over the remaining
numerals.

fixes printf("%zu", 0u)
2016-08-10 17:38:39 +10:00
c26c687912 format: set ostream precision as if for strings
ostream conversions are converted to strings anyway, so we should treat
them as such earlier in the process.
2016-07-28 16:13:23 +10:00
fad8181842 format: allow undersize integers for conversion 2016-07-28 16:13:23 +10:00
a40e09ed97 format: write c_str as %s by default, support c_str as %p 2016-07-28 14:18:47 +10:00
70170f4205 alloc/arena: disallow implicit copy constructor in test obj
fixes a build warning under clang
2016-07-28 13:39:27 +10:00
8cc4c1e82a format: reimplement format rendering
requires literal string arrays, and implements more of the specifier
specification. does not implement 'n' or '$' specifiers. falls back to
snprintf for real arguments.
2016-07-28 13:39:27 +10:00
f9fb0873d3 build: tidy system headers 2016-07-28 13:39:27 +10:00
f793175fdf json/schema: add 'integer' type support 2016-07-04 15:46:01 +10:00
2e700e6444 rand: add mwc64x generator 2016-06-30 18:20:57 +10:00
3b82757e5c test/random: use a constant seed 2016-06-30 15:26:45 +10:00
642317f6a4 json: use templated iterator for parsing from views 2016-06-28 14:16:28 +10:00
a87e03de34 hash: move tests to hash directory 2016-06-24 13:08:19 +10:00
350dd96b2d alloc: add base and offset methods 2016-06-22 19:51:18 +10:00
08536765b6 Merge branch 'crypto' 2016-06-20 18:08:46 +10:00
8d191fb2e1 hash/keccak: add initial sha3 base 2016-06-20 18:05:30 +10:00
a0d02c2fdb crypto/ice: add implementation of ICE 2016-06-20 18:04:41 +10:00
8333cad8cc WIP checksum test api 2016-06-20 16:53:56 +10:00
4b01f999c4 version: add comparator tests 2016-06-20 13:08:36 +10:00
f88958d17d WIP checksum namespacing 2016-06-17 15:57:36 +10:00
c3e2e1ae44 exe: add trivial test case 2016-05-13 15:23:05 +10:00
950c5ba0d4 ip: avoid temporary in test 2016-05-12 18:00:12 +10:00
829bdc2767 m/b/paged: annotate segv trigger for asan's benefit 2016-05-12 17:59:33 +10:00
e7c547f764 tuple: note why RTTI test was skipped 2016-05-12 17:59:08 +10:00
27b1bfc1ce hmac: print test number in logs 2016-05-12 17:58:52 +10:00
420e4215ef backtrace: test doesn't actually require output 2016-05-12 17:44:44 +10:00
8142944139 json: store numbers natively as uint/sint/real
allows more accurate representations and better error checking.
2016-05-12 17:41:31 +10:00
e17158b0bb build: add forgotten cxx headers
discovered testing clang 3.8 under freebsd
2016-05-12 17:31:33 +10:00
b814c83e21 test/json: run tests through a line wine/crlf wrapper
unit tests rely on AWKs record seperator being LF which presents issues
when running windows tests. rather than modify the tap-driver provided
by autotools (which would be extremely annoying to maintain) we run all
tests through wine-crlf.sh which will perform line ending transforms as
required.

it's a pretty braindead script, so don't do anything terrifically
extreme under it.
2016-04-27 17:13:36 +10:00
df9d0ce432 format: add invalid_specifier exception 2016-04-27 16:12:24 +10:00
9bbcfa6e63 make header paths more explicit 2016-04-05 11:06:35 +10:00
eacd2f6072 string: allow cstring tokenisers 2016-03-18 11:08:12 +11:00
6a1ea8ff29 string: add tokeniser 2016-03-17 18:14:40 +11:00
28d44593d8 view: add make_view, ref-qualifiers, comparators 2016-03-17 18:14:40 +11:00
f13c4487c6 cmdopt: add positional argument support 2016-03-15 13:56:13 +11:00
9e9477858b coord: add trivial operation tests 2016-03-14 22:32:52 +11:00
a59844be98 don't pull in namespace std 2016-03-11 13:28:56 +11:00
379e652e83 build: update for standalone pkgconfig deployment 2016-02-24 11:55:08 +11:00
817eb50efc image: move buffer into image directory 2016-02-19 13:56:12 +11:00
bbc06efa24 alloc/dynamic: add virtual allocator interface 2016-02-10 14:05:09 +11:00
d81b9f12fd pool: rename remain as size for consistency 2016-02-04 12:41:23 +11:00
5a3165d233 roots/bisection: add bisection root finder 2016-02-03 13:57:18 +11:00
c8afad1e5b rand/lcg: add naive LCG RNG 2016-02-03 12:13:03 +11:00
9248c2f379 format: test invalid specifier with unused specifier
we are using '!' as a specifier now, so don't test invalid specifiers
with this value...
2016-02-03 12:02:56 +11:00
f6fa44f54f random: rename test from rand to random 2016-02-02 11:32:04 +11:00
0fd72f0893 format: test case whitespace 2016-01-20 16:39:20 +11:00
c877192cfc format: add test case for char[] 2016-01-20 16:38:54 +11:00
d9a0649acb test: convert remaining tests to TAP 2016-01-19 18:31:49 +11:00
d232f1c871 alloc: rename 'size' to 'used' 2015-11-30 16:08:07 +11:00
ffe219748a alloc/arena: add simple test cases 2015-11-24 16:52:47 +11:00
4556745d77 memory/deleter: add trivial test case 2015-11-19 16:46:44 +11:00
99d025af4d strongdef: actually use tagging for disambiguation... 2015-11-19 15:06:52 +11:00
38678cc78e strongdef: add specialisation of numeric_limits 2015-11-18 14:46:43 +11:00
4599b11197 strongdef: add trivial instantiation test 2015-11-18 14:44:08 +11:00
791f8b2bcd maths: remove rootsquare, use std::hypot instead 2015-11-16 13:18:29 +11:00
b1bc54ac8c maths: move remaining operations into util namespace 2015-11-16 11:44:07 +11:00
1ec9582240 alloc: add initial allocator stubs 2015-11-13 17:18:10 +11:00
7b083df977 maths: tighten up type requirements for almost_equal
almost_equal only operates on two reals, or two integers (and even then
only on the same signedness).
2015-11-13 17:18:10 +11:00
32ca27abdf memory: add paged and circular buffers 2015-11-11 16:56:35 +11:00
a73fb9307c matrix: extract size dependant operations 2015-11-04 23:23:46 +11:00
176b33604b matrix: parameterise on dimension 2015-10-30 23:40:13 +11:00
fe7e3e9c6f test/maths: remove debug print statement 2015-10-29 18:23:07 +11:00
003685ce2b image: templatise on component count 2015-10-20 16:54:15 +11:00
c2770a266b maths: split normalise functions 2015-10-20 16:54:15 +11:00
b5929b7b4a image: remove access to w/h/s members 2015-10-19 17:43:48 +11:00
20bafa2cfb geom: move geometry primitives to own namespace 2015-10-13 18:19:47 +11:00
0283c6b0f9 build: disable rtti for release builds 2015-10-08 12:20:56 +11:00
2653a8ecee maths/fast: remove, it's broken 2015-09-29 17:42:20 +10:00
464c703ffd extent: add range-for adapter for extent points 2015-09-29 17:32:11 +10:00
b58dd7a880 extent: fix double negative for contraction 2015-09-22 17:23:54 +10:00
37f9390ef8 view: template on arbirtrary iterator types 2015-09-21 15:36:05 +10:00
ec42319224 coord: test for proper packing 2015-09-21 15:27:36 +10:00
9445b29bd3 test/json_types: use new style parse signature 2015-09-09 18:45:23 +10:00
08b6cbacea float: lower ULPs threshold for almost_equal
we weren't detecting differences with 4 decimal point differences
2015-08-20 15:34:20 +10:00
eb155d5bb0 m/fast: add some fast maths approximations 2015-07-29 16:11:48 +10:00
86b36afc49 image: add simple offset test 2015-07-23 21:19:15 +10:00
785a9e08f6 tap: remove default format strings 2015-07-21 03:17:20 +10:00
3b97f56ead polynomial: rename solve as roots 2015-07-21 02:59:14 +10:00
74d7f9c717 vector: add {to,from}_euler 2015-07-21 02:56:37 +10:00
7396057508 vector: use TAP in tests 2015-07-21 02:55:11 +10:00
f451e5555e format: add trivial printf wrapper 2015-07-21 01:37:45 +10:00
abf88710b4 test: use TAP on more tests 2015-07-13 16:30:54 +10:00
8840bae7b0 rational: update with more operators 2015-07-13 16:30:54 +10:00
991558fc7f build: remove unused options code 2015-07-02 17:25:04 +10:00
536284a56d cmdopt: add TAP testing 2015-07-02 17:03:56 +10:00
75af292340 cmdopt: transfer test cases from option tests 2015-06-30 22:24:44 +10:00
e8d3cf8eb1 maths: remove deprecated maths objects 2015-06-05 16:07:03 +10:00
fd319d579b build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
9b548e56d9 point: convert distance member functions to functions 2015-06-01 15:29:24 +10:00
3a4fed804a fasthash: add initial implementation 2015-05-28 12:17:25 +10:00
a61ea32228 murmurhash: add initial translation 2015-05-25 16:12:45 +10:00
054dfa918e crypto: add XXTEA {en,de}cryption. 2015-05-15 18:27:24 +10:00
7f0c7466e4 crypto: encrypt in-place where it suits 2015-05-15 18:26:45 +10:00
ddaca2f453 XTEA: add extended TEA encryption 2015-05-07 00:18:01 +10:00
dd05d677dd TEA: use static sized storage for tests 2015-05-07 00:17:20 +10:00