Vladimír Vondruš
e9f2101b15
Math: added Distance::pointPoint() and Intersection::pointSphere().
...
Those add nothing of value as they only wrap trivial code, but make the
operations easier to discover, and that's what matters.
5 years ago
Vladimír Vondruš
f9661fe402
Math: add castInto() variants for UnsignedLong/Long.
...
There's now 24 overloads for unsigned types and 24 for signed types,
which is all possible combinations. Not adding an ability to cast
between signed and unsigned as I'm not sure what should be done there.
5 years ago
Vladimír Vondruš
7d82352a13
Math: add an ability to construct a Range1D from Math::Vector<1, T>.
...
A Vector<1, T> is implicitly constructible from T but not vice versa (to
avoid nasty collisions with builtin operators on scalars) so this is
needed.
5 years ago
Vladimír Vondruš
dd3ce93888
Math: MSVC 2015, you ICEd.
5 years ago
Vladimír Vondruš
08a6e7d957
Math: explicit test that all types are trivially copyable.
...
I saw some copy constructors here and there and wasn't sure.
5 years ago
Vladimír Vondruš
7072befbdb
Math: generalize slicing and expanding to arbitrarily-sized matrices.
...
Originally was done only for square matrices, but now I need that for
converting 3x3 -> 3x4 and back (UBO packing, ugh ugh), so let's
generalize.
5 years ago
Vladimír Vondruš
a347a2b3bd
Math: make it possible to create an identity RectangularMatrix as well.
5 years ago
Vladimír Vondruš
ed9deff432
Test: adapt to a less shitty CORRADE_COMPARE().
5 years ago
Vladimír Vondruš
4dace92581
Math: add castInto() overloads for Float and Double.
5 years ago
Vladimír Vondruš
41b59d8176
Math: add [Unsigned]Byte/[Unsigned]Short variants of castInto().
5 years ago
Vladimír Vondruš
3d136503d8
Updated copyright year.
5 years ago
Vladimír Vondruš
d2961f19f4
Test: use new TestSuite API to simplify things.
6 years ago
Vladimír Vondruš
55d7a1e6e0
doc: updated changelog and credits.
6 years ago
Vladimír Vondruš
dbc67a01ce
Math: reorder test to be in the same order as in the header.
6 years ago
Vladimír Vondruš
07ba09c700
Math: minor cleanup.
...
No need to use contractions, inverseRayDirection is okay because nobody
needs to type it anywhere. Also no need for the `ones` vector in the
test, Float/Vector3 works as well.
6 years ago
janos
6a0fdf2194
add ray range interection algorithm
6 years ago
Vladimír Vondruš
686b915bc3
Math: this test wasn't right.
...
Uncovered after the latest Emscripten-related update to
CORRADE_LONG_DOUBLE_SAME_AS_DOUBLE.
6 years ago
Vladimír Vondruš
ef7232e71d
Math: clean up obsolete test workflows.
6 years ago
Vladimír Vondruš
095408791f
Updated changelog and credits.
6 years ago
Squareys
f69f3393ec
Math: Add DualQuaternion/DualComplex::from(rotation, translation)
...
Signed-off-by: Squareys <squareys@googlemail.com>
6 years ago
Vladimír Vondruš
e6322dcfd1
Math: use angle literals in all test code.
...
It was originally done using the Deg() / Rad() constructors in order to
be compatible with GCC 4.6, but fortunately those days are long gone.
Co-authored-by: Squareys <squareys@googlemail.com>
6 years ago
Vladimír Vondruš
83d6509595
Math: adapt to changes to Tweakable internals.
6 years ago
Vladimír Vondruš
9de4717f0e
Math: add popcount().
6 years ago
Vladimír Vondruš
89e3067009
Math: hmm, why this isn't in the FunctionsBenchmark, then?
...
Probably because it predates it.
6 years ago
Vladimír Vondruš
70336a6a98
Math: remove pointless Emscripten restrictions in TypeTraits.
...
Size of long double is now tested in Corrade itself, so no need for any
of this.
6 years ago
Vladimír Vondruš
f225497475
Math: assert valid binomialCoefficient() input instead of returning 0.
6 years ago
Vladimír Vondruš
53a26ad024
Math: use 64-bit literals in a test to be really really sure.
6 years ago
Vladimír Vondruš
f1c713f4c8
Minor cleanup, doc++, updated changelog & credits.
6 years ago
janos
8013afc28c
Math: add binomial coefficient function.
6 years ago
Pablo Escobar
daa6d9125e
Math: add fmod function
6 years ago
Vladimír Vondruš
ca8172311d
Math: FFS, GCC.
6 years ago
Vladimír Vondruš
12577ce07f
Math: verify normal matrix calculation against the ground truth code.
...
It gives the same result, nevertheless something is not right when it
comes to negatively scaled meshes. Postponing the rest of the
investigation to later.
6 years ago
Vladimír Vondruš
1026aee80e
Moved the NoInit tag from Math to the root namespace.
...
The old one is deprecated, and will be removed in a future release.
Unfortunately, to avoid deprecation warnings, all use of NoInit in the
Math library temporarily have to be Magnum::NoInit This will be cleaned
up when the deprecated alias is removed.
6 years ago
Vladimír Vondruš
19e0e96d74
Updated copyright year.
6 years ago
Vladimír Vondruš
5be7fbe1e8
Math: make Range2D and Range3D properly convertible from std::pair.
...
Not sure what was I doing in 64f8a90095 .
6 years ago
Vladimír Vondruš
060d8548c6
Math: benchmark some sqrt variants.
6 years ago
Vladimír Vondruš
e05fda0db4
Math: this got forgotten.
6 years ago
Vladimír Vondruš
573125d0a9
Math: make cross() 10x faster in Debug.
...
And the Vector3 version 5% slower in Release, on GCC at least. FFS,
what was I thinking with the gather() things. Nice in user code,
extremely bad in library code.
6 years ago
Vladimír Vondruš
341a497932
Math: benchmark vector dot() and cross().
...
Have to do some precision improvements, so a baseline is needed. The
debug perf is beyond awful, actually.
6 years ago
Vladimír Vondruš
65a2ced2a7
Make this compile and test cleanly with CORRADE_NO_ASSERT defined.
6 years ago
Vladimír Vondruš
99a5e1d246
Math: test that slerp() is immune against too long quats as well.
6 years ago
Vladimír Vondruš
498f4c59e1
Math: fix angle() returning NaN for close arguments.
6 years ago
Vladimír Vondruš
94cba139ff
Math: improve and clean up angle() tests.
6 years ago
Vladimír Vondruš
f2f66d764f
Math: make TypeTraits::epsilon() consistent with Corrade.
...
The precision stays the same, but the long double variant is now exposed
on Emscripten as well, following a similar change in Corrade.
Additionally, the alien-looking _EQUALITY_PRECISION macros are now
unused and deprecated. For some reason these weren't ever prefixed with
MAGNUM_, and the ability to override those is an extremely rare use case
that would break half of the assumptions everywhere, so better not allow
that at all.
The TypeTraits test is further extended to compare directly the epsilons
between Magnum and Corrade, in addition to verifying that TestSuite and
TypeTraits have the same comparison results.
6 years ago
Vladimír Vondruš
f3566f637f
Math: add integer-to-integer castInto() variants also.
...
Currently one of the types is always 32-bit and preserving signedness,
because that's what I need right now. Other variants might get added
later.
6 years ago
Vladimír Vondruš
881003d90b
Test: adapt tests to change in TestSuite float epsilon precisions.
6 years ago
Vladimír Vondruš
ab0cba2573
Math: minor cleanup.
6 years ago
Vladimír Vondruš
53151f606a
Math: ensure TypeTraits fuzzy compare is consistent with TestSuite.
...
It wasn't until now (TestSuite was wrong), so prevent similar issues
from happening in the future.
6 years ago
Vladimír Vondruš
526254912e
doc: updated credits and changelog.
6 years ago
Squareys
a0e6ac1ed0
Math: Non-const overloads for Frustum::(left|right|top|bottom|near|far|[])
...
Signed-off-by: Squareys <squareys@googlemail.com>
6 years ago