Brendan Zabarauskas
a43c630ee9
Make from_float accept a generic Float argument
2012-12-12 13:24:38 +10:00
Brendan Zabarauskas
5aef15d9d7
Remove to_float method from Float trait
...
Conflicts with num::NumConv::to_float
2012-12-12 13:20:32 +10:00
Brendan Zabarauskas
1b24495c09
Remove Dimensional and ToPtr traits
2012-12-12 11:29:35 +10:00
Brendan Zabarauskas
3abc1df753
Rename kinds
module to types
2012-12-12 09:55:42 +10:00
Brendan Zabarauskas
8e88baf06e
Add methods to Signed and Float traits
2012-12-12 09:50:45 +10:00
Brendan Zabarauskas
1fbe5203e1
Remove comment and nested unsafe block
2012-12-10 11:47:36 +10:00
Brendan Zabarauskas
c8f3f1919a
Unmark Mat4 inverse method as unsafe
2012-12-10 10:48:02 +10:00
Brendan Zabarauskas
e39f02ccf7
Fix to_int conflict
2012-12-10 10:40:32 +10:00
Brendan Zabarauskas
b6049b28e2
Remove comma separated inheritance lists
2012-12-10 10:38:41 +10:00
Brendan Zabarauskas
1a55784c81
Merge branch 'master' of https://github.com/luqmana/lmath-rs
2012-12-10 10:32:29 +10:00
Brendan Zabarauskas
9d03050ed1
Add size_of and bits methods
2012-12-08 21:15:52 +10:00
Brendan Zabarauskas
4d48591e80
Documentation
2012-12-08 21:14:33 +10:00
Brendan Zabarauskas
6169ef0ee3
Use Float::pi() instead of f64::consts::pi
2012-12-08 21:12:37 +10:00
Brendan Zabarauskas
5d7b3cfba4
Remove cast method
2012-12-08 21:11:08 +10:00
Brendan Zabarauskas
2e0521f4e5
Remove Euler type
2012-12-08 21:10:42 +10:00
Brendan Zabarauskas
4bd14e4d50
Make slerp method implementation a little easier to understand
2012-12-08 12:59:37 +10:00
Brendan Zabarauskas
b4fbb9c76a
Remove Rotation struct and methods
2012-12-08 12:59:10 +10:00
Luqman Aden
d74cdb0dfa
4x4 matrix inversion now uses the mutable self operators.
2012-12-07 19:09:03 -05:00
Luqman Aden
fb59c90b88
More explicit self.
2012-12-07 19:00:50 -05:00
Brendan Zabarauskas
9669b7bccc
Fix to_mat3 method
2012-12-07 14:16:28 +10:00
Brendan Zabarauskas
079199c275
Remove default_eq module
2012-12-07 02:19:48 +10:00
Brendan Zabarauskas
4a0cf79a85
Rix rotation to mat3 conversion
2012-12-06 11:11:08 +10:00
Brendan Zabarauskas
c442cf148e
Fix some silly mistakes
2012-12-05 20:03:39 +10:00
Brendan Zabarauskas
bdb8605bd5
Remove convert_channel
method
2012-12-05 20:03:04 +10:00
Brendan Zabarauskas
2efb96de16
Add todo, remove fixme
2012-12-05 18:10:51 +10:00
Brendan Zabarauskas
bb4154199b
More documentation updates
2012-12-05 18:09:53 +10:00
Brendan Zabarauskas
c3512ecd57
Add methods for mutable colors
2012-12-05 15:42:01 +10:00
Brendan Zabarauskas
48f581f1f4
Document color conversions for the Color
trait
2012-12-05 15:41:35 +10:00
Brendan Zabarauskas
e2b134d51f
Add mut matrix methods
2012-12-05 13:49:59 +10:00
Brendan Zabarauskas
8acc8f6943
Improve mathematical terminology
2012-12-05 12:10:05 +10:00
Brendan Zabarauskas
b15c20c7fc
Update documentation, add vector type parameter to quaternion
2012-12-05 11:51:18 +10:00
Brendan Zabarauskas
63f9cd38b7
Update documentation, rename quaternion length
methods to magnitude
...
Although `magnitude` conflicts with the `length` in the vector implementations, it seems to be more in keeping with the correct mathematical terminology.
2012-12-05 11:38:30 +10:00
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
Brendan Zabarauskas
9c3dbc2658
Improve Index trait implementation
2012-10-29 15:47:53 +10:00
Brendan Zabarauskas
e285c77238
Reorganise directories
2012-10-28 21:43:23 +10:00
Brendan Zabarauskas
c92771a2ae
Minor comments/formatting/imports cleanup
2012-10-28 17:32:23 +10:00
Brendan Zabarauskas
44ab57cb43
Implement Sqrt for more types
2012-10-28 17:00:49 +10:00
Brendan Zabarauskas
28a9a8250a
Move abs method to Abs trait implementations
2012-10-28 16:59:19 +10:00
Brendan Zabarauskas
11c7ee06fa
Implement Abs for i8 to i64
2012-10-28 16:57:41 +10:00
Brendan Zabarauskas
d0124e10c8
Correct static zero methods
2012-10-28 16:55:42 +10:00
Brendan Zabarauskas
2438675384
Replaced data arrays with component fields
2012-10-28 14:26:37 +10:00
Brendan Zabarauskas
0cef6b55b8
Fix to_str purity
2012-10-18 15:40:36 +10:00
Brendan Zabarauskas
7b0b955ef5
De-mode index overloads
2012-10-07 16:42:47 +10:00
Brendan Zabarauskas
9e3f1d6252
De-mode min/max functions
2012-10-06 15:08:02 +10:00
Brendan Zabarauskas
688026f49a
Fix find/replace mistake in comments
2012-10-06 15:06:52 +10:00
Brendan Zabarauskas
08748ad78b
De-moded functions and methods
2012-10-01 16:23:49 +10:00
Brendan Zabarauskas
782b3aaca1
Implement index operator trait
2012-09-29 20:37:46 +10:00
Brendan Zabarauskas
0ba6f5a633
Implement operator traits
2012-09-29 20:25:49 +10:00
Brendan Zabarauskas
bf144110b7
Add pub
attributes
2012-09-29 18:41:48 +10:00
Brendan Zabarauskas
3df7d557bd
Bring code into line with recent updates to Rust
2012-09-24 12:54:24 +10:00
Brendan Zabarauskas
0a60f09042
Add static constant functions (commented out)
2012-09-11 08:13:49 +10:00