Stanislaw Halik
c1578c0d79
Math: workaround MSVC2022 bug with constexpr conversions and C++20
...
Upstream bugreport at https://developercommunity.visualstudio.com/t/MSVC-1933-fails-to-compile-valid-code-u/10185268
4 years ago
Vladimír Vondruš
d474f9d176
Math: return an array reference instead of a pointer from data().
...
This makes it possible to conveniently do things like
Containers::StridedArrayView1D<Float> array = …;
Vector4 vector{NoInit};
Utility::copy(array, vector); // or the other way around
which is especially useful together with the new JSON classes. In some
cases this means the function is no longer constexpr, but those weren't
constexpr because it was useful for anything, they were only because it
was possible. So this breakage shouldn't do any harm I think.
4 years ago
Vladimír Vondruš
9874c44262
Don't rely on __GNUC__ being always 4 on Clang.
...
Certain Clang-based IDEs (CLion) "emulate" a compiler by inheriting all
its defines, which means one gets __clang__ defined but also __GNUC__
set to 11 or whatever, breaking all these assumptions.
4 years ago
Vladimír Vondruš
822fa0d644
Updated copyright year.
4 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š
ed9deff432
Test: adapt to a less shitty CORRADE_COMPARE().
5 years ago
Vladimír Vondruš
3d136503d8
Updated copyright year.
5 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š
36ba5f4333
Math: ensure ZeroInit and IdentityInit constructors are explicit.
...
Like NoInit ones. Not sure what I was doing there.
7 years ago
Vladimír Vondruš
3626562e1d
Adapted to Corrade changes.
...
Mostly missing includes now.
7 years ago
Vladimír Vondruš
f8b9c69b16
Don't use std::tie() on std::pair().
...
It's nice and all, but including the whole <tuple> just for that is not
worth it.
7 years ago
Vladimír Vondruš
64bc7f9c8e
Math: moved configuration value parsers to a dedicated header.
...
There's a lot of string operations and that's nothing good to have
included everywhere. Should speed up the compilation quite a bit.
7 years ago
Vladimír Vondruš
2149f7b869
Wrap all tests in unnamed namespaces.
...
This makes the compiler warn about test cases that aren't ever used,
which is a good thing.
7 years ago
Vladimír Vondruš
e6b7aa12fa
Updated copyright year.
7 years ago
Borislav Stanimirov
f7f2ab8cb5
Math: added StrictWeakOrdering for math types
8 years ago
Vladimír Vondruš
08d51ec116
Math: oh, MSVC 2015 constexpr fun is here again.
8 years ago
Vladimír Vondruš
2c1da5466e
Math: added data() accessors to all remaining types.
8 years ago
Vladimír Vondruš
6c8a2a46b8
Math: implement cubic Bezier <-> cubic Hermite conversion.
8 years ago
Vladimír Vondruš
ae2281dfd7
Math: minor cleanup of the Bezier test.
8 years ago
Vladimír Vondruš
7df90af144
Math: work around MSVC 2017 15.7.2 ICEs.
...
Reported here:
https://developercommunity.visualstudio.com/content/problem/259204/1572-regression-ice-in-constexpr-code-involving-de.html
8 years ago
Vladimír Vondruš
b8fabec474
Math: remove unused variables from tests.
...
Thanks, Clang 6.
8 years ago
Vladimír Vondruš
623fa97970
Updated copyright year.
8 years ago
Vladimír Vondruš
7a16273e5d
Updated copyright year.
9 years ago
Vladimír Vondruš
20b3adbc55
Math: ability to convert Bezier from/to external representation.
10 years ago
Vladimír Vondruš
70ef473710
Math: verify that the NoInit constructors are explicit.
10 years ago
Vladimír Vondruš
e9a2623e02
Math: expect NoInit test failures on GCC 6.1+ with optimizations enabled.
...
It's nothing harmful, just inefficient.
10 years ago
Vladimír Vondruš
1357186fe1
Math: MSVC 2015 is picky about constexpr again.
...
No clue.
10 years ago
Vladimír Vondruš
b59b8d431e
Math: make Bezier::subdivide() return a pair and test it.
10 years ago
Vladimír Vondruš
8f7fa196a8
Math: renamed Bezier::lerp() to Bezier::value(), simplified test cases.
...
It's interpolation, but *not* linear interpolation, so don't confuse
with the naming. The test cases now compare to ground truth instead of
replicating the calculation.
10 years ago
Vladimír Vondruš
aaa0b0945a
Math: ability to convert Bezier underlying type.
10 years ago
Vladimír Vondruš
6f6d69012f
Math: added comparison operators to Bezier, expanded the test.
10 years ago
Vladimír Vondruš
12e19eff37
Math: ability to save/restore Bezier to/from Configuration.
10 years ago
Vladimír Vondruš
719aff99b2
Math: debug operator for Bezier.
10 years ago
Vladimír Vondruš
8bf1f5e5d8
Math: Minor Bézier cleanup and documentation improvements.
...
Removed the points() access function, as it has no real value.
10 years ago
Ashwin Ravichandran
6b7097497f
Math: added Bezier curve
10 years ago