Commit Graph

2963 Commits

Author SHA1 Message Date
d7b36b0ee3 affine: add perspective matrix test cases 2018-04-11 18:26:30 +10:00
561925b201 vector: expose base assignment operator 2018-04-11 18:25:51 +10:00
366b1f7879 maths: use our abs implementation for relatively_equal
this simplifies calling logic for integral, floating, and coord types
2018-04-11 18:24:52 +10:00
34a274bc92 maths: move abs higher so more functions can use it 2018-04-11 18:24:34 +10:00
3b5e94e0ea matrix: add relatively_equal overload 2018-04-11 18:24:10 +10:00
2ef759877e matrix: add scalar filling constructor 2018-04-11 18:23:57 +10:00
ea75b102d0 matrix: assert that fov is within 0-360
this will catch more cases where degrees are used where radians area
expected.
2018-04-11 18:23:17 +10:00
f830b149b0 coord/ops: add scalar bool overload for any 2018-04-11 18:22:49 +10:00
2d801a1725 coord/base: actually set fill values in constructor 2018-04-11 18:22:25 +10:00
4e558ce9a9 geom/cylinder: add convenience cylinder3f typedef 2018-04-11 15:10:16 +10:00
6389839f4e alloc/allocator: add make_allocator convenience function 2018-04-09 18:34:22 +10:00
40cf869d7e geom/tri: add triangle area formula 2018-04-09 12:49:09 +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
d1da97f213 vector: clarify spherical components 2018-04-05 19:22:38 +10:00
3748b77500 time/delta_time: return nanoseconds objects rather than floats 2018-04-05 18:48:23 +10:00
665c8aa49e tuple/value: add reversing operation 2018-04-05 16:06:09 +10:00
1bafe204b6 tuple/index: fix incorrect header guard 2018-04-05 16:05:47 +10:00
d69a567431 tuple/index: add some index sequence generators and manipulators 2018-04-05 15:18:30 +10:00
c570d6ad2f tap: guard against users ignoring status return code 2018-04-05 13:55:07 +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
5c2b52b30b tuple/value: prefer std::invoke over manual calls 2018-04-05 12:22:44 +10:00
190307acb8 typeidx: use atomic variables for thread safety 2018-04-05 12:14:11 +10:00
cd06fdcd67 debug: add assertions_enabled variable 2018-04-05 12:13:37 +10:00
de247c7e7b cpp: add basic C preprocessor emulator 2018-04-01 14:49:10 +10:00
49ebbec37f string: don't use const members for tokeniser::iterator
this allows us to provide an assignment operator more easily
2018-04-01 14:47:33 +10:00
f404598edc string: add advance operator for tokeniser::iterator 2018-04-01 14:46:32 +10:00
5028de600a string: add indirection operator for tokeniser::iterator 2018-04-01 14:44:43 +10:00
bfa5700df0 view: add string comparison operators 2018-04-01 14:44:15 +10:00
41cf6c3d51 view: slice should be const 2018-04-01 14:44:08 +10:00
5b9eae9b25 posix/except: add templated error_code 2018-04-01 14:43:28 +10:00
cc54d23998 gitignore: add pretty printer python cache 2018-03-29 14:16:55 +11:00
a4634a771b g/frustum: simplify aabb intersection test 2018-03-28 20:42:43 +11:00
48e007c545 debug: add gdb pretty printers for coord types 2018-03-28 14:55:54 +11:00
4f10505d09 build: fix warnings from -Wparentheses 2018-03-27 20:16:32 +11:00
5642ff43b8 README: note all the environment variables we use. 2018-03-27 16:21:38 +11:00
47613c5ec2 string: remove unneeded rval-ref qualifier 2018-03-27 16:21:20 +11:00
62920f36f4 job/dispatch: retain the supplied function if forwarded to us 2018-03-27 16:20:56 +11:00
45fa54a5ee job/dispatch: don't unconditionally cast parameters 2018-03-27 16:16:35 +11:00
d941188dd5 job/queue: add default constructor 2018-03-27 16:16:13 +11:00
429c0151db singleton: add comments 2018-03-27 16:15:54 +11:00
473556f9ed maths/fast: use relatively_equal for tests 2018-03-27 16:15:21 +11:00
046e6182e7 maths: avoid division by zero in relatively_equal 2018-03-27 16:14:41 +11:00
8777d32b94 debug: don't enable float exceptions by default
sometimes we just power through computations with invalid results to
simplify conditionals.
2018-03-27 16:14:01 +11:00
5532f90de7 vector: note what each component in spherical corresponds to 2018-03-27 16:11:49 +11:00
951b160d0d parse: instantiate unsigned in parsing 2018-03-27 16:11:04 +11:00
14e2fc5bd5 geom/ray: use infinity, not nan, to signal no intersection 2018-03-27 16:06:34 +11:00
048cffaee7 extent;string: return references in iterators 2018-03-27 16:05:46 +11:00
67c8c9c69c debug: enable debugging features by default 2018-03-27 15:50:29 +11:00
1b023f7c8d iterator: improve reference semantics 2018-03-27 15:49:47 +11:00