Vladimír Vondruš
3e3eb21181
Math: correct order for test implementations.
8 years ago
Vladimír Vondruš
f5b90cefba
Math: whoops, forgot about StrictWeakOrdering for Frustum.
...
Just a stretched version of the test for Matrix4. Hope that's okay.
8 years ago
Vladimír Vondruš
cf8db303dc
Updated credits and changelog.
8 years ago
Vladimír Vondruš
8dc62b5a49
Math: deduplicate test code.
8 years ago
Vladimír Vondruš
7738fcc011
Math: use CORRADE_COMPARE() to compare non-boolean values.
...
Gives better error diagnostics.
8 years ago
Vladimír Vondruš
6f132fa735
Math: doc formatting.
8 years ago
Vladimír Vondruš
f5e30bb5d3
Math: minor coding style cleanup.
8 years ago
Borislav Stanimirov
f7f2ab8cb5
Math: added StrictWeakOrdering for math types
8 years ago
Vladimír Vondruš
a55c60bb19
Math: publicly mention what TypeTraits::equals() is based on.
8 years ago
Vladimír Vondruš
8be57d1a21
Math: I should have tested this.
...
Did I ever check the CIs?
8 years ago
Vladimír Vondruš
c98a936b41
Animation: added a collection of easing functions.
...
This was tremendous fun to make.
8 years ago
Vladimír Vondruš
d7d8e49de2
Math: make all literals usable with Utility::Tweakable.
8 years ago
Vladimír Vondruš
6d7558672d
Math: MSVC 2015 constexpr fun!
8 years ago
Vladimír Vondruš
0226ab26c4
Math: make one-dimensional range just from scalar types.
...
Since Range1D is now used all over Animation, the vector made it very
annoying to use. That's fixed now. This is a backwards-incompatible
change, but I don't expect the 1D range to be used much, mainly because
it was so shitty to use. Generic code that needs a vector can always
cast to it, like this:
Math::Vector<dimensions, T>{range.min()}
Test for the constructor from pair is no longer accepting pairs of 1D
vectors. I have no idea what I meant by that test case (it's testing the
same thing twice), so I removed one of these.
8 years ago
Vladimír Vondruš
d6017ad8cc
Math: fixed enable_if for one-dimensional Range-from-pair constructor.
...
This shouldn't have worked like this. Apparently it works even after
this. Huh.
8 years ago
Vladimír Vondruš
ff57f95e99
Math: minor cleanup.
8 years ago
Vladimír Vondruš
597223e993
Math: test a bit more.
8 years ago
Vladimír Vondruš
ebedbce2f2
Math: vector overloads for isInf() and isNan().
8 years ago
Vladimír Vondruš
edff639204
Math: functions were not inline by mistake.
...
It's inline for all others of similar size, so why not this.
8 years ago
Vladimír Vondruš
5792d7f06a
Math: fun with printing NaNs :(
8 years ago
Vladimír Vondruš
24af174f5e
Math: minor cleanup.
8 years ago
Vladimír Vondruš
0cf65741ae
Math: helpfully print the offending values in all assertions.
8 years ago
Vladimír Vondruš
2fd8bae26d
Math: added Range::scaledFromCenter().
8 years ago
Vladimír Vondruš
0f33107efc
Math: no need to de-inline such tiny functions.
8 years ago
Vladimír Vondruš
e3e61d8865
Math: ability to multiply/divide a Complex with a Vector2.
8 years ago
Vladimír Vondruš
1a253af761
Math: added Constants::sqrtHalf().
8 years ago
Vladimír Vondruš
9f7512bf2b
Math: improve Constants docs, show useful identities.
8 years ago
Vladimír Vondruš
66a313bc0d
Math: doc++
8 years ago
Vladimír Vondruš
08d51ec116
Math: oh, MSVC 2015 constexpr fun is here again.
8 years ago
Vladimír Vondruš
8d5454b8ff
Math: ability to slice or expand square matrices.
8 years ago
Vladimír Vondruš
2c1da5466e
Math: added data() accessors to all remaining types.
8 years ago
Vladimír Vondruš
18f9118995
Math: fix Intersection::lineSegmentLineSegment() math docs.
...
I spent 30 minutes looking at the equations totally lost, not realizing
that the bold s and the non-bold s are the same thing. Ugh.
8 years ago
Vladimír Vondruš
eabe118266
Math: doc++
8 years ago
Vladimír Vondruš
7a0bf3018f
Math: new min(), max() and minmax() overloads taking plain C arrays.
8 years ago
Vladimír Vondruš
28a19f5add
Math: adapt to m.css Doxygen theme updates.
...
In particular, there's now warning about ignored documented friend
declarations. I don't have them documented, that's just Doxygen being
shitty.
8 years ago
Vladimír Vondruš
4a9e63ebdd
Math: doc++
...
I re-posted the tweet in a failed attempt to gain more attention. Yes, I
know I should post that on Connect, but that didn't really made the bug
fixed last time anyway.
8 years ago
Vladimír Vondruš
6725f6ed2f
Math: doc++
8 years ago
Vladimír Vondruš
b44166b238
Math: work around a MSVC 2017 15.8 ICE.
...
Four hours of my life, gone. Minimal repro case here:
https://twitter.com/czmosra/status/1038610648568147968
8 years ago
Vladimír Vondruš
523c16779d
Math: added missing CubicHermite [s]lerp[ShortestPath]() overloads.
8 years ago
Vladimír Vondruš
dfcd33ffe8
Math: properly test also (s)lerpShortestPath() assertions.
...
And boom, there was a bug.
8 years ago
Vladimír Vondruš
d5e6012824
Math: simplify CubicHermite test.
...
Not sure why I brainfarted so bad here.
8 years ago
Vladimír Vondruš
2975a1ba2d
Doc++
...
Removed redundant equations and linking just to the relevant docs
instead, these would be hard to maintain otherwise.
8 years ago
Vladimír Vondruš
4b7dab10e1
Math: improve docs of Matrix4::perspectiveProjection().
8 years ago
Alan
3bbb4088a8
Update Range.h
8 years ago
Vladimír Vondruš
13a6ba8a23
Math: benchmark quaternion interpolation methods.
8 years ago
Vladimír Vondruš
eadf8986f6
Math: fuzzy compare for division-by-zero in quaternion s(c)lerp.
...
Also remove a totally unneeded conversion.
8 years ago
Vladimír Vondruš
780e5258cc
Math: consistently use arccos() in math equations.
8 years ago
Vladimír Vondruš
ec34009025
Math: document the usual notation for complex/dual/quat numbers.
8 years ago
Vladimír Vondruš
1f507d81d4
Math: make docs of slerp() for Complex consistent with Quaternion.
8 years ago
Vladimír Vondruš
737104f2c7
Math: added "shortest path" alternatives to lerp(), slerp() and sclerp().
...
Before neither of the lerp(), slerp() had the shortest path check, while
sclerp() had it. Now, to be consistent, none of them has it and there
are lerpShortestPath(), slerpShortestPath() and sclerpShortestPath()
functions that have the shortest path check.
This is different from other engines, where there's usually only the
shortest path interpolation by default and either an optional
"non-shortest-path" interpolation or no alternative at all. I like to
give the users a choice, so there's both versions and the
non-shortest-path version is the default, because -- at least in case of
lerp() -- this results in a quite significant perf difference (15%
faster), so why not have it. Preprocess your data instead ;)
8 years ago