3dc31a9d10
alloc/aligned: add allocator with forced alignment
2016-10-10 18:19:09 +11:00
e7bf2330ed
alloc: use nested namespace decl
2016-10-10 17:58:59 +11:00
254a63ca90
exe: split into platform units
2016-10-10 16:23:07 +11:00
e80c3c959c
io: return path object from path_error accessor
2016-10-08 17:28:06 +11:00
c711d7e0f5
build: prefer std::thread over boost::thread
2016-10-08 17:22:21 +11:00
598c5d4e48
change const char paths to std::filesystem::path
2016-10-08 17:18:18 +11:00
48364cd227
build: use experimental::fs over boost::fs
2016-10-07 19:48:42 +11:00
ea5c3befe4
posix/fd: default open mode to 0666
2016-10-07 18:15:07 +11:00
51c8ee84ca
posix/fd: add std::string overloads for paths
2016-10-07 18:14:56 +11:00
98732179a7
io: add std::string overload to slurp
2016-10-07 18:08:41 +11:00
a78ed2b879
matrix: check that the look_at up vector is normalised
2016-10-07 17:33:03 +11:00
2e54950b1a
strongdef: delete default constructor
...
generally we use this for identifiers, and allowing the user to express
arbitrary values from default construction isn't a great idea.
2016-10-07 17:33:03 +11:00
08249f530e
posix/map: add missing empty method
2016-10-02 16:39:47 +11:00
b949b90dd7
posix/fd: add more comments
2016-10-02 16:34:40 +11:00
4608c65c84
posix/map: start extracting pure mmap class
2016-10-02 16:18:41 +11:00
152a55ad78
Merge remote-tracking branch 'origin/master'
2016-10-02 16:13:31 +11:00
790728d3b1
posix/fd: extract file descriptor into own unit
2016-10-02 15:50:13 +11:00
26bab4db71
debug: revert DEBUG_ONLY name change
...
DEBUG_ONLY is visible to other projects. Changing it to have internal
scope introduces too many build failures currently.
2016-09-28 17:24:01 +10:00
66f0bbc025
extent: make area and diameter constexpr
2016-09-28 17:21:02 +10:00
657a407d0e
debug: respecte NDEBUG for CHECK macros
2016-09-28 17:20:46 +10:00
fad44bd1f7
format: allow %! specifier for all types
...
If we allow the %! specifier for all types it greatly simplifies
handling of format strings in templated code, or code with non-trivial
typedefs.
2016-09-27 15:23:33 +10:00
b7d141322c
coord/ops: add logical or, and logical and for bools
2016-09-23 13:39:13 +10:00
109d47e971
coord/ops: generalise vectors hypot function
2016-09-23 13:27:44 +10:00
70689fd449
colour: correct the component count of colour1u
2016-09-23 13:27:21 +10:00
ff86357b83
coord/ops: use full types for is_coord
...
rather than passing the template class we pass the fully specified
template; ie point<3,float> rather than point.
this makes it dramatically easier to use is_coord in foreign code at the
cost of making the library code slightly more verbose. we no longer have
to obtain a typedef for the root coord class somehow.
2016-09-22 16:20:32 +10:00
ede9b75bad
vector: fix hypot implementation
2016-09-21 22:24:02 +10:00
7db82e4b22
coord/base: add cbegin and cend members
2016-09-21 22:23:20 +10:00
2b946510e5
coord/ops: correct last iterators for util::all and util::any
2016-09-21 22:22:52 +10:00
4544a594c3
vector: add hypot function
...
calculates the root of the sum of the squares. much like std::hypot, but
of arbitrary dimension.
2016-09-21 17:13:25 +10:00
d9713fe8b7
json/tree: fix signed min, unsigned max constraints
...
signed/unsigned casting issues prevented correct comparisons with the
min/max constraints. account for the source type's range before doing the
comparison.
2016-09-20 16:02:08 +10:00
94e60d8cd2
quaternion: add conjugation function
2016-09-15 21:41:54 +10:00
6054fd59a2
matrix: fix transposed matrix in look_at
2016-09-15 21:41:54 +10:00
e2b4e48315
test: add matrix/quaternion consistency checks
2016-09-14 17:56:27 +10:00
83484a6ea1
matrix: add look_at and euler tests
2016-09-14 17:56:27 +10:00
0e88b4b324
matrix: add to_euler function
2016-09-14 17:56:27 +10:00
b9fbcd6866
matrix: clarify look_at parameter names
...
rename 'centre' to 'target'; it's a lot more descriptive
2016-09-14 17:56:27 +10:00
a4a08aaa72
matrix: add free 'transposed' function
2016-09-14 17:56:27 +10:00
ff7ce2f1ef
coord/ops: mod style
2016-09-14 17:42:11 +10:00
fa21e52ee0
coord/ops: add scalar cos/sin
2016-09-14 17:41:59 +10:00
ab89286d5c
coord/ops: add scalar mod
2016-09-14 17:38:30 +10:00
9f3624ba3e
maths: add mod wrappers
2016-09-14 17:37:49 +10:00
c917f264c4
quaternion: fix incorrect factorisation in as_matrix
...
One of the terms in m[0][0] and m[1][1] was incorrectly negated from an
incomplete factorisation when I transcribed the formula.
Also reintroduces the axis-rotation tests which inadvertantly had zero
magnitudes.
2016-09-14 16:49:26 +10:00
798d3aac5a
io: add dup instance method to fd
2016-08-29 16:16:51 +10:00
1b118ff377
io: add static dup method to fd
2016-08-29 16:14:12 +10:00
ce2f3b821b
io: delete fd's copy constructor
2016-08-29 16:13:55 +10:00
3d5aff0f30
maths: use mult rather than negation in constexpr
...
util::digits was triggering signed overflow warnings under gcc. By using
negative multiplication rather than explicit negation we get the same
behaviour, sans warning.
2016-08-29 14:48:07 +10:00
98c09df7f9
io: add win32 fd constructor to mapped_file
2016-08-25 12:04:55 +10:00
41a8efa200
win32/handle: make HANDLE constructor explicit
2016-08-25 12:03:48 +10:00
eb05746a21
m4/nc: bump for stabs removal
2016-08-16 17:06:37 +10:00
94506a52c8
debug: add forgotten header for win32
2016-08-16 16:22:27 +10:00