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
9d3c058873
TEA: add "Tiny Encryption Algorithm"
2015-05-06 23:49:45 +10:00
717644acde
arc4: add initial implementation
2015-05-06 21:38:56 +10:00
70c65c2bb2
introspection: map tuples to themselves in type_tuple
2015-05-01 02:49:19 +10:00
358f2ddb60
tuple: test tuple mapping with template src types
...
Added complexity in the test to help diagnose issues with the
introspection code.
2015-05-01 02:43:27 +10:00