janos
8013afc28c
Math: add binomial coefficient function.
6 years ago
Vladimír Vondruš
90283408cc
Math: doc++
6 years ago
Vladimír Vondruš
cd48c59cab
Remove remaining APIs deprecated in 2018.10.
6 years ago
Vladimír Vondruš
e6a8c99d89
Math: don't include Utility fwdecls when not needed.
6 years ago
Vladimír Vondruš
cb4f6183dc
Doc++, changelog, credits and version marker updates.
6 years ago
Pablo Escobar
daa6d9125e
Math: add fmod function
6 years ago
Vladimír Vondruš
5222cf3478
doc: change all "latest" additions/deprecations to 2020.06.
6 years ago
Vladimír Vondruš
a5722f175a
Doc++
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š
a7956de7ba
Math: avoid std::is_pod.
...
GCC 10 complains that it's deprecated.
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š
cda8c8fd09
Math: MSVC 2017 apparently dies on this.
...
But only in the vcpkg package and only with 19.16.27034 (not 27035), so
probably some combination of /permissive- and a compiler bug is to
blame.
The template keyword was unnecessary in any case, it probably got copied
from elsewhere by accident.
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š
c114ca3fb9
Doc++
6 years ago
Vladimír Vondruš
22118c754d
Math: attempt to deconfuse orthogonalization/orthonormalization a bit.
6 years ago
Vladimír Vondruš
fc3382ec36
Math: make dot() twice as fast in Debug.
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š
d3f2235759
Adapted to Corrade changes.
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š
b2b8d11d2f
Math: fix indent.
6 years ago
Vladimír Vondruš
498f4c59e1
Math: fix angle() returning NaN for close arguments.
6 years ago
Vladimír Vondruš
6a6f144e82
Math: wait, no, this function isn't used on two places anymore.
6 years ago
Vladimír Vondruš
1c46bdb959
Math: move clamp() definition from Functions.h to Vector.h.
...
Need it for angle().
6 years ago
Vladimír Vondruš
94cba139ff
Math: improve and clean up angle() tests.
6 years ago
Vladimír Vondruš
a22d6678a5
Math: I'm extremely stupid lately.
...
This got unnoticed since ... November? Argh.
6 years ago
Vladimír Vondruš
be337787b2
Math: explicitly include <type_traits> in TypeTraits.h.
...
We need it there, but somehow it was not being explicitly (transitively)
pulled in by any header.
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š
081dd8981f
Doxygen, FFS.
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š
f74fd5cb08
Add typedefs for half-float and 8-/16-bit packed matrices.
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
Vladimír Vondruš
d2513cac3c
Math: make Color default alpha values work with Half.
...
There's some fugliness needed for the MSVC 2017 crash workaround but
otherwise all good.
6 years ago
Vladimír Vondruš
c8afe0f732
Math: make Vector::pad() default argument work with Half.
...
Got lucky enough that the default zero-initialization constructor does
exactly what I need. Otherwise ugh I don't know what I would do.
6 years ago
Vladimír Vondruš
50e21015eb
Math: make it possible to construct Half from a double.
...
A lot of generic code uses T(1.0) and right now that caused an ambiguity
between the Float and UnsignedShort constructors.
6 years ago
Vladimír Vondruš
10dd468eca
Math: minimal support for Half in TypeTraits.
6 years ago
Vladimír Vondruš
3734568cdf
Math: switch to our type traits in Color internals.
...
In preparation for having the Half type usable in Color.
6 years ago
Vladimír Vondruš
f5a5e10c50
Math: batch table-based half-float packing/unpacking.
...
It's a lot of code, but it still seems to be the fastest option of all
we have. This was the original idea when implementing half-float support
in 2016 but then I shelved it in favor of a simpler (but slower) code,
keeping the table only for the benchmark, calculated at runtime. But now
we need a batch version of this, so this comes handy.
6 years ago
Vladimír Vondruš
69e370c4c7
GCC 4.8, happy to see you're still around, causing problems.
6 years ago
Vladimír Vondruš
88fabb1ef6
Math: reduce header dependencies a bit.
6 years ago
Vladimír Vondruš
daf471381e
Math: add batch integer packing/unpacking and casting functions.
...
To be used for conversion of the upcoming mesh attribute types.
6 years ago