Egor Larionov
985db6b604
Initial implementation of swizzle operators using a build script that generates
...
a macro, which is included in macros.rs and subsequently used to implement
swizzle operators in vectors and points
2017-09-30 01:38:03 -07:00
Dzmitry Malyshau
d72fc08826
Mint flavour
2017-06-06 18:07:38 -04:00
Dzmitry Malyshau
087336d0c0
Refinded simd feature
2017-06-06 16:44:13 -04: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
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
Brendan Zabarauskas
4c2f301561
Add Vector1 and Point1 structs
2016-04-25 08:59:33 +10:00
Brendan Zabarauskas
07301eb4d0
Stabilise assignment operators
...
Assignment operators were stabilised in Rust 1.8.
2016-04-16 10:09:47 +10:00
Cameron Hart
338c494735
Make macro usage more like existing style
2016-01-02 00:09:11 +11:00
Cameron Hart
7426d8d807
Support for scalar on the lhs of arithmetic operators
2016-01-01 18:05:32 +11:00
Brendan Zabarauskas
59d5e6f53a
Implement most assignment operators
2015-12-22 22:34:34 +11:00
Brendan Zabarauskas
8c05db962a
Implement by-ref negations for matrices
2015-12-22 00:43:15 +11:00
Brendan Zabarauskas
577eafa654
Standardise macro use for code generation
...
This moves lots of the common code generation patterns into a macros module. In doing so, the code can be greatly reduced in size.
2015-12-12 22:17:03 +11:00
Brendan Zabarauskas
3673c4db6d
Overhaul library, rename to cgmath
...
Moved the old source code temporarily to src-old. This will be removed once the functionality has been transferred over into the new system.
The new design is based on algebraic principles. Thanks goes to sebcrozet and his nalgebra library for providing the inspiration for the algebraic traits: https://github.com/sebcrozet/nalgebra
2013-08-26 15:08:25 +10:00
Brendan Zabarauskas
e9cc75f06d
Add rotation module
2013-07-15 12:03:21 +10:00
Brendan Zabarauskas
3656068f5c
Add impl_approx! macro
2013-07-12 11:22:14 +10:00
Brendan Zabarauskas
11e1623dad
Rename macros file
2013-06-16 17:32:48 +10:00
Brendan Zabarauskas
a4c7332e2b
Move Dimensional trait and dimensional macros into separate files
2013-06-16 15:34:59 +10:00
Brendan Zabarauskas
f20eca5cc5
Use macros and higher-order functions to reduce code repetition
2013-06-16 15:21:32 +10:00