Luxko
09c8727c7c
Add newline at end of file
2017-03-12 15:59:06 +08:00
Luxko
68d1d27222
Add SIMD support for determinant and inverse
...
Also:
- Change the travis script: no use `cargo bench`ing in beta or stable.
- Add bench test for Matrix4's determinant().
- clean code a bit
2017-02-25 20:31:38 +08:00
Luxko
d45536f1bd
Clean up a bit
2017-02-25 07:42:15 +08:00
Luxko
64924b954d
[WIP]Add basic SIMD support
...
- Add an opt-in SIMD support for the module. The feature requires crate
`simd` and specialization, thus can only be enabled under nightly. Under
the given benchmark certain operations were able to be up to 60% faster.
Currently the supported types as well as operations are highly limited.
- Clean up some deadly tests. Also add new tests for SIMD.
2017-02-25 07:26:11 +08:00
Marckvdv
d2d35b808b
Added component wise casting number for the matrix and point types.
2016-10-03 12:51:41 +02:00
Mark Hintz
f475822d9b
Removes #[repr(packed)] from all structs where it was specified.
...
This is intended as a partial fix for #375 . It doesn't also remove #[repr(C)],
since it's a bit unclear whether that's necessary.
2016-08-25 15:41:39 +02:00
Andrew Dudney
f43e2e13c7
Converted serde serialization to new style
2016-08-23 12:23:07 -06:00
Andrew Dudney
0f8a96d9b8
Changed over to the approx crate. Currently breaks rotation's doc tests.
2016-08-22 09:21:22 -06:00
Andrew Dudney
3d3b9c96ca
Moved angle types to tuple structs
2016-07-31 20:40:31 -07:00
Andrew Dudney
17d98af64f
Made uses of Rad<S> more generic using Into<Rad<S>>
2016-07-26 17:30:05 -07:00
Brendan Zabarauskas
3e6974baa8
Merge pull request #364 from kvark/arc
...
Quaternion closest arc
2016-07-06 13:34:28 +10:00
Dzmitry Malyshau
55c212bde1
Styling fixes to the quaternion arc code
2016-07-05 21:30:13 -04:00
Dzmitry Malyshau
f555074a44
Quaternion closest arc
2016-07-03 00:23:46 -04:00
Dzmitry Malyshau
ec2ad0061b
Fixed Decomposed::concat
2016-07-03 00:21:02 -04:00
Brendan Zabarauskas
7147180936
Merge pull request #359 from jminer/rotation-fixes
...
Rotation fixes
2016-05-18 00:19:43 +10:00
Romain Vaillant
118ec262fd
Adds ApproxEq for Decomposed
2016-05-16 15:22:37 +02:00
Romain Vaillant
cdbb9294e0
Adds serde support
2016-05-16 14:16:59 +02:00
Romain Vaillant
f3673a1d4c
makes rustc-serialize optional
2016-05-15 14:48:57 +02:00
Jordan Miner
c11371794f
Fix Euler angle to matrix conversion
...
The equations were written with rows horizontally instead of vertically
and some signs were wrong.
2016-05-12 01:28:16 -05:00
Jordan Miner
b56119a42f
Test converting axis angles to quaternions
2016-05-12 01:28:15 -05:00
Jordan Miner
467e87f3d3
Fix Euler angles to quaternion conversion and vise versa
...
Add tests that rotate a vector in all three axes, and tests to check
the axis rotation sequence.
2016-05-12 01:28:15 -05:00
Brendan Zabarauskas
a1d8eaed10
Make Rotation trait depend on One
2016-05-12 08:36:34 +10:00
Brendan Zabarauskas
8518ce78e8
Remove transforma_as_point method
2016-05-12 08:31:56 +10:00
Brendan Zabarauskas
06a58e006b
Remove AffineMatrix3
2016-05-11 23:09:34 +10:00
Mark Hintz
ec3385ceab
Remove unused imports
...
Fixes compile warnings
2016-05-11 13:21:56 +02:00
Brendan Zabarauskas
266f4c1d0d
Fix export warning
2016-05-10 21:55:20 +10:00
Brendan Zabarauskas
65e744c8cd
Remove self inversion methods
2016-05-10 21:55:11 +10:00
Brendan Zabarauskas
a4763647ec
Merge pull request #339 from bjz/num-traits
...
Re-export num-traits crate
2016-05-09 22:31:51 +10:00
Mark Hintz
074cb2c36f
Change the name of methods on the Transform trait to avoid clashes
...
Transform::invert becomes Transform::inverse_transform, and Transform::invert_self becomes Transform::to_inverse. Tests passing for me now
2016-05-01 14:59:38 +02:00
Mark Hintz
0a78173e2b
impl Transform (2 dimensional) for Matrix3
2016-04-28 16:37:36 +02:00
Mark Hintz
a3539483b6
impl Transform (3 dimensional) for Matrix3
2016-04-28 16:37:36 +02:00
Mark Hintz
ab1d3d8622
imple Transform (and Transform3) for Matrix4
...
The change in transform.rs is to disambiguate which invert function is used
2016-04-28 16:37:36 +02:00
Mark Hintz
c32135a5d9
Move the From impls together
2016-04-28 16:37:36 +02:00
Mark Hintz
808a17fc22
implement from_angle{x, y, z} and from_axis_angle for Matrix4
...
All are duplicates of the same functions for Matrix3, with extra parameters added in to make up the full 4x4
2016-04-28 01:03:33 +02:00
Mark Hintz
c8b1d4b498
Minor documentation fix - cotangent and secant were swapped
2016-04-27 17:10:57 +02:00
Brendan Zabarauskas
6b48236cb6
Inherit Zero and One for core structural traits
2016-04-25 15:26:56 +10:00
Brendan Zabarauskas
54adacc2a8
Re-export Zero and One via structure module
2016-04-25 11:43:28 +10:00
Brendan Zabarauskas
e1de5e9330
Merge pull request #343 from bjz/vector1
...
Add Vector1 and Point1 structs
2016-04-25 09:19:31 +10:00
Brendan Zabarauskas
4c2f301561
Add Vector1 and Point1 structs
2016-04-25 08:59:33 +10:00
Brendan Zabarauskas
bb4ebbdd76
Add midpoint and centroid functions
2016-04-24 13:54:29 +10:00
Brendan Zabarauskas
8795b179d7
Add MetricSpace trait for calculating distances
2016-04-23 19:58:34 +10:00
Brendan Zabarauskas
dacb511b78
Add Euler::new function
2016-04-23 17:08:40 +10:00
Brendan Zabarauskas
437e2ec9f9
Document pitch/yaw/roll
2016-04-23 16:56:07 +10:00
Brendan Zabarauskas
0259acb87f
Switch to an Euler angle type for defining rotations
2016-04-23 16:56:07 +10:00
Brendan Zabarauskas
5a8caa47f0
Re-export num-traits crate
2016-04-23 16:17:31 +10:00
Brendan Zabarauskas
86c13ca14f
Switch to using num_traits crate from num
...
Fixes #336
2016-04-23 14:03:35 +10:00
Arvamer
b21ad34b8b
Fix assignment operators for angles
2016-04-20 12:17:42 +02:00
Brendan Zabarauskas
8dd2874b59
Move traits into common module
2016-04-19 20:51:40 +10:00
Brendan Zabarauskas
e9671e6070
Move Quaternion::{slerp, to_euler} out of separate impl block
2016-04-16 14:32:28 +10:00
Brendan Zabarauskas
07301eb4d0
Stabilise assignment operators
...
Assignment operators were stabilised in Rust 1.8.
2016-04-16 10:09:47 +10:00