Commit Graph

2764 Commits

Author SHA1 Message Date
972b409160 alloc: duplicate methods with optional args 2016-10-10 20:59:26 +11:00
2c4f6f5526 alloc/aligned: rename Successor to ChildT 2016-10-10 19:26:40 +11:00
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