Commit graph

249 commits

Author SHA1 Message Date
Brendan Zabarauskas
f7008b8f3b Implement inverse trigonometry functions for vector types 2012-11-27 09:54:09 +10:00
Brendan Zabarauskas
2cb00d8c0e Add Rotation constructor, reorganise feilds 2012-11-27 09:48:01 +10:00
Brendan Zabarauskas
44fa552950 Update comment documentation 2012-11-26 22:45:55 +10:00
Brendan Zabarauskas
a59a701efa Formatting 2012-11-26 17:31:26 +10:00
Brendan Zabarauskas
c3071b6260 Move axial rotation conversions to angle module 2012-11-26 17:31:02 +10:00
Brendan Zabarauskas
11b5b12d0a Reorganise funs module to mirror chapter 8 of the GLSL spec 2012-11-26 16:48:46 +10:00
Brendan Zabarauskas
7bc7565f56 Implement Eq and Ord on angle types 2012-11-26 16:23:34 +10:00
Brendan Zabarauskas
c3e43b9b9b Fix operator overloads 2012-11-26 16:04:32 +10:00
Brendan Zabarauskas
13fef22fc9 Update module comment and organisation 2012-11-26 16:03:35 +10:00
Brendan Zabarauskas
57d24153f1 Add rhs module 2012-11-26 14:52:44 +10:00
Brendan Zabarauskas
512b024350 Remove returns 2012-11-26 11:52:48 +10:00
Brendan Zabarauskas
e004fa8edd Add degrees and radians tests 2012-11-26 11:22:49 +10:00
Brendan Zabarauskas
5ebc44bdb1 Add abs and sign tests 2012-11-26 10:45:31 +10:00
Brendan Zabarauskas
351c0f91ff Implement Trig and Hyp for vector types 2012-11-26 05:37:12 +10:00
Brendan Zabarauskas
5393e9a1f6 Divide Angle enum into separate Radians and Degrees types 2012-11-26 04:28:41 +10:00
Brendan Zabarauskas
eda42604b7 Use Angle type with triganomic functions 2012-11-26 03:44:24 +10:00
Brendan Zabarauskas
035d9e751a Implement operator overloads for Angle type 2012-11-26 03:43:48 +10:00
Brendan Zabarauskas
287fae7114 Add angle module 2012-11-26 02:26:01 +10:00
Brendan Zabarauskas
10f2b9b0b1 Remove generic type from pow method 2012-11-26 00:49:26 +10:00
Brendan Zabarauskas
b06c4c1459 Add smooth and smooth_step methods 2012-11-26 00:41:27 +10:00
Brendan Zabarauskas
89f5c6c3e7 Remove *_v methods 2012-11-26 00:08:35 +10:00
Brendan Zabarauskas
911eb6bbc1 Add dim, size_of, rows, and cols static methods to appropriate type aliases 2012-11-25 23:32:52 +10:00
Brendan Zabarauskas
b753d27ac8 Remove useless import 2012-11-25 22:21:27 +10:00
Brendan Zabarauskas
af2ca2be45 Add size_of static method 2012-11-25 22:05:47 +10:00
Brendan Zabarauskas
7ce41e6e9e Add extent function unit tests 2012-11-25 21:27:49 +10:00
Brendan Zabarauskas
b6f6c37ce3 Add trait implementations for vector structs 2012-11-25 21:26:40 +10:00
Brendan Zabarauskas
167ca9a84d Divide funs::common up into separate modules 2012-11-22 11:09:04 +10:00
Brendan Zabarauskas
c6a7018aec Merge branch 'refs/heads/luqmana-master' 2012-11-22 10:46:47 +10:00
Brendan Zabarauskas
161860c7dc Update deprecated addr_of calls to the newer to_unsafe_ptr 2012-11-22 10:39:47 +10:00
Brendan Zabarauskas
bb63eb39b5 Fix capitalization of matrix conversion methods 2012-11-22 10:39:47 +10:00
Luqman Aden
ad27c97d76 Added standard inner (dot) product for matricies. 2012-11-21 18:24:43 -05:00
Luqman Aden
a4c2bacc46 Added trace function. 2012-11-21 17:49:11 -05:00
Luqman Aden
118fcdf7e3 Doing transpose twice is equivalent to not doing it at all. 2012-11-21 16:03:33 -05:00
Brendan Zabarauskas
0c21294a53 Add from_value matrix constructor wrappers 2012-11-22 06:59:37 +10:00
Brendan Zabarauskas
1e0d410eb6 Minor comment update 2012-11-22 06:58:42 +10:00
Brendan Zabarauskas
3874cccde8 Further refine the organisation of the matrix traits 2012-11-21 18:35:26 +10:00
Brendan Zabarauskas
e2013002b5 Rename NumericMatrix_NxN to NumericMatrixNxN 2012-11-21 18:08:08 +10:00
Brendan Zabarauskas
e892f4db37 Add from_value gltype vector tests 2012-11-21 15:15:55 +10:00
Brendan Zabarauskas
85444f1980 Add example to gltypes module comment. Simplify other comments in gltypes module 2012-11-21 15:07:57 +10:00
Brendan Zabarauskas
e13732f2ec Add description to gltypes module 2012-11-21 14:52:16 +10:00
Brendan Zabarauskas
6472eac775 Add unit tests for gltypes module 2012-11-21 14:33:20 +10:00
Brendan Zabarauskas
473dbfb3a2 Comment formatting 2012-11-21 14:08:36 +10:00
Brendan Zabarauskas
2463a3244c Change quaternion type from four scalars (wxyz), to a scalar and vec3 (sv) 2012-11-21 14:01:21 +10:00
Brendan Zabarauskas
8a9668c39c Change quaternion constructors to static methods 2012-11-21 11:56:39 +10:00
Brendan Zabarauskas
525c3f9354 Change matrix constructors to static methods 2012-11-20 22:27:17 +10:00
Brendan Zabarauskas
a030f4cf19 Add comments 2012-11-20 21:37:10 +10:00
Brendan Zabarauskas
16e687c25e Rename MatrixN traits 2012-11-20 21:32:20 +10:00
Brendan Zabarauskas
8eab1d86f2 Make matN alias definitions dependent on their respective matNxN alias 2012-11-20 19:23:11 +10:00
Brendan Zabarauskas
b6cc803ecf Formatting 2012-11-20 19:09:33 +10:00
Brendan Zabarauskas
0482e268ae Switch matrix zero and identity functions to static methods 2012-11-20 19:06:49 +10:00
Brendan Zabarauskas
a06d2cff54 Make vector constructors static functions 2012-11-20 17:58:24 +10:00
Brendan Zabarauskas
59abaf7f87 Add zero and identity static methods 2012-11-20 16:57:32 +10:00
Brendan Zabarauskas
d7fb5fdd6b Remove TODO comments 2012-11-20 15:40:36 +10:00
Brendan Zabarauskas
3aad63bf2c Remove math module 2012-11-20 15:36:29 +10:00
Brendan Zabarauskas
491a82ec28 Implement DefaultEq for matrix, vector and quaternion types 2012-11-20 15:35:06 +10:00
Brendan Zabarauskas
be6ee9a7f4 Create an extension trait for bool 2012-11-20 12:57:56 +10:00
Brendan Zabarauskas
211e9deee3 Inherit TypeConst and DefaultEq for base types 2012-11-20 12:57:08 +10:00
Brendan Zabarauskas
05cb44dd60 Add TypeConsts trait 2012-11-20 12:55:45 +10:00
Brendan Zabarauskas
ef18db9f28 Add default_eq module 2012-11-20 12:55:02 +10:00
Brendan Zabarauskas
2d47523736 Rename gl module to gltypes, add to cratefile 2012-11-16 16:55:20 +10:00
Brendan Zabarauskas
0736136165 Add hack to get around the "expected item" error 2012-11-16 16:53:53 +10:00
Brendan Zabarauskas
f6966abf21 Fix cmath function calls 2012-11-16 16:23:02 +10:00
Brendan Zabarauskas
b8498b827b Move OpenGL type aliases to separate module 2012-11-16 16:21:44 +10:00
Brendan Zabarauskas
d85c968620 Remove Eq from dimensional trait 2012-11-15 13:16:44 +10:00
Brendan Zabarauskas
788420b33f Rename modules to short, idiomatic names 2012-11-15 12:23:39 +10:00
Brendan Zabarauskas
8199cbe742 Create Dimensional trait 2012-11-15 12:22:41 +10:00
Brendan Zabarauskas
90ee516370 Move numeric-specific modules to num module, clean up imports 2012-11-15 10:31:35 +10:00
Brendan Zabarauskas
29e1231eef Add component-wise map, map2 and fold performance tests 2012-11-15 09:02:20 +10:00
Brendan Zabarauskas
0bc896581c Start creating Euler struct 2012-11-14 18:27:10 +10:00
Brendan Zabarauskas
aada68c23e Add mat3_from_rotation function 2012-11-14 18:23:15 +10:00
Brendan Zabarauskas
a9273389ea Improve length tests and add distance tests 2012-11-14 17:55:55 +10:00
Brendan Zabarauskas
d62cefc543 Use trait inheritance 2012-11-14 16:13:27 +10:00
Brendan Zabarauskas
f22c261b65 Create and implement IntConsts and FloatConsts traits 2012-11-14 15:45:01 +10:00
Brendan Zabarauskas
5f8b30d993 Add one and zero static methods 2012-11-14 15:17:35 +10:00
Brendan Zabarauskas
bfe1a272ec Rename type parameters 2012-11-14 14:53:13 +10:00
Brendan Zabarauskas
b860a63cbc Simplify length2 method 2012-11-14 14:42:40 +10:00
Brendan Zabarauskas
342817610d Move add_m and sub_m methods 2012-11-14 14:00:26 +10:00
Brendan Zabarauskas
e582e5edf5 Move to_ptr methods 2012-11-14 11:55:54 +10:00
Brendan Zabarauskas
26bab58b0d Add distance methods 2012-11-14 11:09:35 +10:00
Brendan Zabarauskas
07df95313e Move index overload methods into main Vector/Matrix impls 2012-11-14 10:28:56 +10:00
Brendan Zabarauskas
37d3bcd495 Inherit Neg and move neg method into appropriate impls 2012-11-14 10:20:36 +10:00
Brendan Zabarauskas
bac59d2332 Inherit Vector trait 2012-11-13 18:44:28 +10:00
Brendan Zabarauskas
ef3432bcc6 Remove mod_ method and function 2012-11-13 11:46:25 +10:00
Brendan Zabarauskas
7492677366 Begin taking advantage of trait inheritance 2012-11-13 11:44:44 +10:00
Brendan Zabarauskas
f2e3181c16 Fix ToPtr trait implementations 2012-11-13 10:31:14 +10:00
Brendan Zabarauskas
16ba5ccb9b Use abs function 2012-11-12 11:52:32 +10:00
Brendan Zabarauskas
1a60dfa095 Idiomatic range loops 2012-11-12 11:41:28 +10:00
Brendan Zabarauskas
a3e4d090d6 Replace from_int function calls with cast for consistency 2012-11-11 13:43:37 +10:00
Brendan Zabarauskas
683ebf88eb Fix purity 2012-11-11 13:36:28 +10:00
Brendan Zabarauskas
9d73f0e94b Moved mix methods into Mix trait 2012-11-11 13:35:13 +10:00
Brendan Zabarauskas
eddffbc0dc Add mul_v method and from_axis_angle function (thanks Dzmitry) 2012-11-10 11:12:27 +10:00
Brendan Zabarauskas
b7681954d7 Implement nlerp and slerp methods
Still need to write unit tests for these...
2012-11-09 17:32:41 +10:00
Brendan Zabarauskas
59a9cdb8d7 Add normalize method 2012-11-09 17:31:40 +10:00
Brendan Zabarauskas
693a0adda0 Add dot product 2012-11-09 17:30:18 +10:00
Brendan Zabarauskas
b074ecafbd Formatting 2012-11-09 17:29:25 +10:00
Brendan Zabarauskas
f0ca91e452 Update Trig, add AngleConv trait, remove Degrees and Radians types for the time being 2012-11-09 16:18:14 +10:00
Brendan Zabarauskas
d8bfafa552 Improved argument name 2012-11-08 17:05:53 +10:00
Brendan Zabarauskas
57fd8a5a41 Rename Numeric type to Extent 2012-11-08 17:05:11 +10:00
Brendan Zabarauskas
aeab46451e Implemented exponential functions for each vector type 2012-11-08 14:09:15 +10:00
Brendan Zabarauskas
ede4575b2d OCD formatting 2012-11-08 13:46:01 +10:00