Commit graph

481 commits

Author SHA1 Message Date
Brendan Zabarauskas b8521f289c Rename cast module to conv and NumCast trait to NumConv
These names will be more appropriate once the cast function has been completely phased out.
2012-12-05 10:33:27 +10:00
Brendan Zabarauskas e2857c6e7e Create and implement MutableGeometricVector trait 2012-12-05 08:21:40 +10:00
Brendan Zabarauskas ea17c63200 Add cross_self method 2012-12-05 01:34:41 +10:00
Brendan Zabarauskas 9012589f5f Create and implement MutableNumericVector trait 2012-12-04 23:32:34 +10:00
Brendan Zabarauskas 7e4a7e180b Fix to_ptr method impls 2012-12-04 21:43:10 +10:00
Brendan Zabarauskas a1fcfff9ed Move methods operating on &mut self to a separate trait 2012-12-04 21:42:32 +10:00
Brendan Zabarauskas 6c14df7fda Move methods operating on &mut self to a separate trait 2012-12-04 21:42:24 +10:00
Brendan Zabarauskas 0b9af30b38 Add swap methods 2012-12-04 17:58:03 +10:00
Brendan Zabarauskas 969e57591d Fix to_ptr method impls and use in the index methods where appropriate 2012-12-04 17:50:15 +10:00
Brendan Zabarauskas f9778adf17 Document future intentions regarding the cast function. 2012-12-04 14:56:06 +10:00
Brendan Zabarauskas 54953a8f01 Find more trouble spots where Number::from causes ICEs 2012-12-04 14:41:21 +10:00
Brendan Zabarauskas 2ba45477a5 Change the orientation of the matrix diagrams in the doc comments 2012-12-04 14:34:09 +10:00
Brendan Zabarauskas 660c423d46 Update trait names 2012-12-04 14:07:44 +10:00
Brendan Zabarauskas 07bed0a9c1 Add to_identity and to_zero methods 2012-12-04 12:51:38 +10:00
Brendan Zabarauskas c7571e4d50 Remove rhs module 2012-12-04 12:51:14 +10:00
Brendan Zabarauskas d9c3edbeee Add return value description to the doc comment of inverse 2012-12-04 11:56:10 +10:00
Brendan Zabarauskas 492fdc3b2b Formatting 2012-12-04 11:41:23 +10:00
Brendan Zabarauskas 60f17d846e Rename functions and inherit Number trait 2012-12-04 11:41:06 +10:00
Brendan Zabarauskas 91fd819b79 Add comments an rename some functions 2012-12-04 11:38:59 +10:00
Brendan Zabarauskas d4c7abab84 Add documentation comments to Number trait and impls 2012-12-04 11:38:33 +10:00
Brendan Zabarauskas 0c47707436 Comment out Number::from(0) to prevent internal compiler error 2012-12-04 11:25:25 +10:00
Brendan Zabarauskas 1125a94ec8 Add comments for matrix constructors and identity functions 2012-12-04 10:58:19 +10:00
Brendan Zabarauskas bc3e338c25 Improve documentation 2012-12-04 08:31:26 +10:00
Brendan Zabarauskas 9e23c06281 Remove number cast 2012-12-04 08:24:03 +10:00
Brendan Zabarauskas 53fc6d15ab Remove default eq implementations and use fuzzy_eq instead 2012-12-04 08:23:13 +10:00
Brendan Zabarauskas 4fcd71be8e Rename invert method to inverse 2012-12-04 08:12:22 +10:00
Brendan Zabarauskas b2de264caf Rename parameter from other to vec 2012-12-04 08:06:00 +10:00
Brendan Zabarauskas 9563455b47 Add documentation for Vector traits 2012-12-04 02:32:40 +10:00
Brendan Zabarauskas fdbc3ed139 Use explicit self 2012-12-03 16:37:19 +10:00
Brendan Zabarauskas f266d54654 Use Number::from instead of cast 2012-12-03 16:28:32 +10:00
Brendan Zabarauskas 248242dda5 Add and use Number::from static method 2012-12-03 16:19:53 +10:00
Brendan Zabarauskas ddc7559153 Remove zero and one methods from NumCast 2012-12-03 15:39:32 +10:00
Brendan Zabarauskas e62e914035 Use explicit self 2012-12-03 15:25:34 +10:00
Brendan Zabarauskas 566fffdac6 Use Float type bound for rgb/hsv conversions 2012-12-03 13:14:25 +10:00
Brendan Zabarauskas e1ed642f76 Restore boolean vectors in gltypes module and relational traits
I forgot that these would be useful for the AABB struct that will be implemented in the future.
2012-12-03 11:24:24 +10:00
Brendan Zabarauskas ecc91acbbe Rename num::ext module to num::kinds 2012-12-03 11:12:57 +10:00
Brendan Zabarauskas 7b3ae88c57 Use num::ext traits to simplify trait bounds 2012-12-03 11:10:14 +10:00
Brendan Zabarauskas 3d293dce5a Rename det method to determinant 2012-12-03 11:08:36 +10:00
Brendan Zabarauskas 668186a2e2 Merge matrix traits, simplify gltypes, remove relational functions
Let's try to simplify this thing!
2012-12-03 08:15:40 +10:00
Brendan Zabarauskas 9595449b71 Formatting 2012-12-02 23:16:38 +10:00
Brendan Zabarauskas 005daf46e4 Remove consts mod reference 2012-12-02 23:16:26 +10:00
Brendan Zabarauskas 5de6fbe5bb Move methods from FloatConsts into Float trait and remove num::consts 2012-12-02 16:59:03 +10:00
Brendan Zabarauskas edca099681 Comment pi constants 2012-12-02 16:25:23 +10:00
Brendan Zabarauskas 3a48006ba7 Use absolute values for radian constants 2012-12-02 16:18:39 +10:00
Brendan Zabarauskas 90802b1713 Fix angle wrapping 2012-12-02 15:39:49 +10:00
Brendan Zabarauskas 2b931aee21 Add zero constant 2012-12-02 15:36:10 +10:00
Brendan Zabarauskas 4515c9f7e0 Remove unwrap operators 2012-12-01 22:55:14 +10:00
Brendan Zabarauskas 4ce43ff18e Add temporary fixes for weird type mismatch errors 2012-12-01 22:49:24 +10:00
Brendan Zabarauskas 0adbbd478b Implement explicit self for DefaultEq trait 2012-12-01 15:05:11 +10:00
Brendan Zabarauskas 1d4825e005 Move to_ptr method into new ToPtr trait 2012-12-01 14:55:45 +10:00
Brendan Zabarauskas 2ad204a424 Add missing trait bounds 2012-12-01 14:19:37 +10:00
Brendan Zabarauskas 10f8570441 Divide up trait implementations 2012-12-01 14:19:21 +10:00
Brendan Zabarauskas 7316fa4397 Make NumCast trait public 2012-12-01 13:40:16 +10:00
Luqman Aden e837ab52f3 Explicitly specify paths in crate. 2012-11-30 19:17:30 -05:00
Brendan Zabarauskas 6c4ead0990 Add color type aliases 2012-11-30 22:47:40 +10:00
Brendan Zabarauskas 390240ba03 Add color module 2012-11-30 22:46:44 +10:00
Brendan Zabarauskas 7d559c09e2 Add opposite method 2012-11-30 22:28:58 +10:00
Brendan Zabarauskas f352cd68b4 Make projection functions public (woops!) 2012-11-30 15:15:11 +10:00
Brendan Zabarauskas 03a1c4581d Improve channel conversions 2012-11-30 15:12:38 +10:00
Brendan Zabarauskas 6d3620c9d7 Implement explicit self in trait methods 2012-11-30 13:13:20 +10:00
Brendan Zabarauskas ea074faef5 Merge MinMax and Clamp traits together to form Extent trait 2012-11-29 22:19:42 +10:00
Brendan Zabarauskas 2e1e6ca0a0 Use == instead of default_eq 2012-11-29 21:30:40 +10:00
Brendan Zabarauskas 126c5f4501 Improve constant names 2012-11-29 18:29:08 +10:00
Brendan Zabarauskas 9b05325a31 Implement ToStr for angle types 2012-11-29 16:31:14 +10:00
Brendan Zabarauskas eeaf6cb3c1 Change fovy parameter to accept a generic angle 2012-11-29 15:59:45 +10:00
Brendan Zabarauskas 93d228f2f9 Remove apparently unnecessary Copy bounds 2012-11-29 15:49:43 +10:00
Brendan Zabarauskas 60388118d2 Implement common functions for angle types 2012-11-29 15:39:55 +10:00
Brendan Zabarauskas 8e7ae0d4ae Remove enum unwrapping 2012-11-29 13:50:15 +10:00
Brendan Zabarauskas f44d2aa540 Use == instead of default_eq 2012-11-29 13:49:57 +10:00
Brendan Zabarauskas 49d055a3dc Update operator overloads to use explicit self 2012-11-29 13:14:42 +10:00
Brendan Zabarauskas 64761478dd Formatting 2012-11-29 11:17:36 +10:00
Brendan Zabarauskas 26a22e0cc7 Implement wrap method 2012-11-29 11:16:28 +10:00
Brendan Zabarauskas 4ea08253a7 Remove is_col_major and is_square methods 2012-11-29 08:49:31 +10:00
Brendan Zabarauskas ba132fc2a8 Set functions to inline 2012-11-28 18:01:33 +10:00
Brendan Zabarauskas 9b1e984564 Add channel module 2012-11-28 17:50:26 +10:00
Brendan Zabarauskas 22a0ad4093 Remove TypeConsts trait 2012-11-28 14:18:29 +10:00
Brendan Zabarauskas e6ca5297dc Add skeleton tests with TODO comments 2012-11-27 12:40:05 +10:00
Brendan Zabarauskas 953301c38f Add skeleton wrap method 2012-11-27 12:36:34 +10:00
Brendan Zabarauskas e274d884b9 Add inline attributes 2012-11-27 12:35:53 +10:00
Brendan Zabarauskas ca40caee81 Separate operator overload implementations 2012-11-27 12:35:29 +10:00
Brendan Zabarauskas d7d1c786fb Add angle constants 2012-11-27 12:34:15 +10:00
Brendan Zabarauskas 4600d80ce3 Add GLSL aliases for Angle, Rotation and Euler types 2012-11-27 09:55:51 +10:00
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
Brendan Zabarauskas de72215d05 Rename SquareMatrix to NumericMatrix_NxN 2012-11-08 13:30:00 +10:00
Luqman Aden e904f91105 Determinant is only defined for square matricies. 2012-11-07 22:04:11 -05:00
Luqman Aden 520ba818e6 Fix determinant/inver for 2x2. 2012-11-07 21:52:16 -05:00
Luqman Aden a76378e83e Big oops, not all 2x2 matricies are upper/lower triangular. 2012-11-07 21:37:41 -05:00
Luqman Aden f7fb7f7100 Added determinants and inversion. 2012-11-07 21:34:38 -05:00
Brendan Zabarauskas 8a4489c4ef Add transform unit test 2012-11-08 11:48:50 +10:00
Brendan Zabarauskas e06117f29c Add Radian and Degree types 2012-11-08 11:48:29 +10:00
Brendan Zabarauskas c30aca03e6 Rename FloatingPoint to Float for brevity 2012-11-08 11:47:56 +10:00
Brendan Zabarauskas 53a04a03f6 Remove vector-scalar addition/subtraction 2012-11-08 11:40:03 +10:00
Brendan Zabarauskas 499e5cfeae Fix function visibility 2012-11-07 14:01:01 +10:00
Brendan Zabarauskas bc30f193e7 Move projection.rs to funs module 2012-11-07 12:38:44 +10:00
Brendan Zabarauskas 3316a77192 Add mat4_from_rotation function 2012-11-07 12:36:35 +10:00
Brendan Zabarauskas bfe318aff5 Add explanation to matrix multiplication 2012-11-07 11:07:13 +10:00
Brendan Zabarauskas 1fe0d52fe4 Improve matrix multiplication 2012-11-07 08:38:44 +10:00
Brendan Zabarauskas b792b8d7cd Add NumericMatrix trait 2012-11-06 20:03:55 +10:00
Brendan Zabarauskas 9cf0f2887a Update crate url 2012-11-06 14:03:14 +10:00
Brendan Zabarauskas e2cfe36b9d Make type aliases public 2012-11-06 12:23:06 +10:00
Brendan Zabarauskas 6d7b81648b Fix purity and visibility modifiers 2012-11-06 12:06:34 +10:00
Brendan Zabarauskas 89d600af22 Formatting 2012-11-06 12:01:39 +10:00
Brendan Zabarauskas 40e847f34f Move functions to funs module. Add additional functions as per the GLSL spec 2012-11-06 11:57:15 +10:00
Brendan Zabarauskas 1f61701d00 Create relational module 2012-11-05 20:31:52 +10:00
Brendan Zabarauskas c3344b5a6f Use GLSL nomenclature 2012-11-05 17:40:31 +10:00
Brendan Zabarauskas d2cf5c9da3 Use dot product for matrix-vector multiplication 2012-11-05 17:33:11 +10:00
Brendan Zabarauskas 8bab3a96ce Remove unnecessary type parameter 2012-11-05 17:03:32 +10:00
Brendan Zabarauskas a1a31907d7 Add and implement SquareMatrix trait 2012-11-05 14:46:28 +10:00
Brendan Zabarauskas 20a1596cf2 Add commented out constuctors 2012-11-05 13:25:11 +10:00
Brendan Zabarauskas ae9112452a Make Vector traits more specific, add BooleanVector trait 2012-11-05 13:18:44 +10:00
Brendan Zabarauskas 9491c4d93f Add GLSL type aliases 2012-11-05 12:39:58 +10:00
Brendan Zabarauskas 59d4b33691 Remove superfluous type parameters 2012-11-05 11:58:08 +10:00
Brendan Zabarauskas 2790fda04e Add from_value vector constructors 2012-11-05 10:05:16 +10:00
Brendan Zabarauskas 4e90754263 Reduce zero and one casts 2012-11-05 00:37:52 +10:00
Brendan Zabarauskas 9c03ef1ccb Formatting 2012-11-05 00:35:52 +10:00
Brendan Zabarauskas 3dc5e26126 Add angle unit conversions 2012-11-04 18:11:32 +10:00
Brendan Zabarauskas 8a3a28481e Add trig functions and methods 2012-11-04 16:59:42 +10:00
Brendan Zabarauskas e96a1d007f Remove transformation functions 2012-11-04 16:35:58 +10:00
Brendan Zabarauskas b245244b7d Add more matrix constructors and corresponding tests 2012-11-04 16:27:41 +10:00
Brendan Zabarauskas f3183dd0f1 Reduce zero and one casts 2012-11-04 14:39:33 +10:00
Brendan Zabarauskas a0cd3f77d8 Reduce zero and one casts, implement new constructors 2012-11-04 14:39:09 +10:00
Brendan Zabarauskas 2904be296e Reduce casting of zero value 2012-11-04 14:28:17 +10:00
Brendan Zabarauskas 98091e0a2e Add uuid 2012-11-02 13:59:51 +10:00
Brendan Zabarauskas 436d6b89b8 Add moves 2012-11-02 10:52:33 +10:00
Brendan Zabarauskas 30bfd9af5a Rename cast methods to align with Rust's naming conventions 2012-11-02 10:47:34 +10:00
Brendan Zabarauskas 0689f2b217 Add Todo comments 2012-11-02 10:39:03 +10:00
Brendan Zabarauskas 5080853cbe Reorganise modules 2012-11-02 10:10:27 +10:00
Brendan Zabarauskas 02e3c70d65 Move utility modules to src/common 2012-11-02 09:15:57 +10:00
Brendan Zabarauskas aa304bedae Rename library to lmath
Yes, I still can't decide! I think this will be the last time though.
2012-11-02 09:14:07 +10:00
Brendan Zabarauskas c001329e14 Remove superfluous type bounds 2012-11-02 00:27:01 +10:00
Brendan Zabarauskas 5f307b1a26 Move values in matrix constructors 2012-11-02 00:19:43 +10:00
Brendan Zabarauskas cfed77185a Improve naming scheme in constructor parameters 2012-11-02 00:12:03 +10:00
Brendan Zabarauskas 12498701a1 Convert vector arrays to separate fields in matrix types 2012-11-02 00:06:12 +10:00
Brendan Zabarauskas 25de081805 Move values in constructors 2012-11-02 00:01:06 +10:00
Brendan Zabarauskas c453c9bfea Rename project to lm-rs
Yes, I think this a little more sensible… :)
2012-11-01 23:08:40 +10:00
Brendan Zabarauskas 35058611f3 Rename and move constructors 2012-11-01 17:41:42 +10:00
Brendan Zabarauskas 372d67f2c1 Implement MinMax for all numeric types 2012-11-01 16:17:38 +10:00
Brendan Zabarauskas afb8bcec4b Change name of library to 'llama' 2012-11-01 15:58:36 +10:00
Brendan Zabarauskas df921a105f Update metadata attributes 2012-11-01 11:59:53 +10:00
Brendan Zabarauskas 34537324ae Add Apache 2.0 License 2012-11-01 11:59:21 +10:00
Brendan Zabarauskas bf6bf8b3e6 Make library generic 2012-11-01 11:34:38 +10:00
Brendan Zabarauskas 891736a2d7 improve method names 2012-10-30 14:35:02 +10:00
Brendan Zabarauskas 9563bd6be7 Remove unnecessary static methods 2012-10-30 14:23:35 +10:00
Brendan Zabarauskas 28a9265568 Add and implement ToPtr trait 2012-10-30 13:24:50 +10:00
Brendan Zabarauskas 819c092321 Change inline attributes to inline(always) 2012-10-30 12:55:20 +10:00
Brendan Zabarauskas d8f669da75 Correct abs argument sigil 2012-10-30 12:46:10 +10:00
Brendan Zabarauskas 6f0b49aa0c Move exact_eq to trait 2012-10-30 12:45:18 +10:00
Brendan Zabarauskas cc053d449d Add description 2012-10-30 12:35:39 +10:00
Brendan Zabarauskas aac71ddc16 Add vector index operator performance test 2012-10-30 12:32:06 +10:00
Brendan Zabarauskas c80b95da59 Moved constants to submodules 2012-10-30 00:11:27 +10:00
Brendan Zabarauskas 5d8319fff0 Fix collision of omath::vec and core::vec 2012-10-29 21:53:25 +10:00