Vladimír Vondruš
23cf84cdae
Math: what? there's no such thing.
8 years ago
Vladimír Vondruš
05bb8b419a
Math: updates for the new documentation theme.
8 years ago
Criss
98f920527e
Math: get rid of needless GenerateReverseSequence utility.
9 years ago
Vladimír Vondruš
f470b4369c
Math/Algorithms: update XFAIL for WebAssembly.
9 years ago
Vladimír Vondruš
2145ae9b96
Dropped NaCl support.
9 years ago
Vladimír Vondruš
b16755fc13
Doxygen fixes and workarounds.
9 years ago
Vladimír Vondruš
8757883bea
Math: don't expect long double (de)normalization to work on MSVC.
...
Ever. Because MSVC treats long double the same way as double.
9 years ago
sigman
04c7ffdf1b
Math/Algorithms: MSVC 2017 needs operator==() as well.
9 years ago
Vladimír Vondruš
c6d77161a4
Math/Algorithms: deprecated std::iterator still needed in MSVC 2017.
9 years ago
Vladimír Vondruš
fb9dee2677
Math: MSVC 2017 gets confused by default parameters in constexpr funcs.
9 years ago
Krzysztof Szenk
f1f34df6a0
Math: fixed bit setting bug in BoolVector::set
9 years ago
Krzysztof Szenk
4f746ce729
Added a test case for BoolVector::set
...
Also thought, that it'd be nice to cover bit setting from 1 to 0.
9 years ago
Vladimír Vondruš
df47c73290
Math: "fixed" SvdTest on recent Emscripten versions.
...
The algorithm is broken on doubles in different ways in different
versions and optimization levels. Hopefully things will get more stable
later.
9 years ago
Michael Dietschi
b12fe77910
Fix a possible OOB access when reading vector/matrix from configuration.
9 years ago
Vladimír Vondruš
06a7677fbe
Math: test underflow/overflow when parsing vector/matrix from Configuration.
...
Fails as overflow is not handled.
9 years ago
Vladimír Vondruš
12fa6961c8
Use CMake folders also for OBJECT libraries, executables and tests.
9 years ago
Vladimír Vondruš
46e118879f
Test: use Containers::arrayView() and arrayCast() to simplify code.
9 years ago
Vladimír Vondruš
7a16273e5d
Updated copyright year.
9 years ago
Vladimír Vondruš
ae9095de16
Remove most of the "MSVC 2015 can't handle {} here" workarounds.
9 years ago
Vladimír Vondruš
025ef780b2
Workaround for that one damn Doxygen bug.
9 years ago
Vladimír Vondruš
aa69bbcc19
Math: ability to create matrices with one value for all components.
...
In order to do that with the previous API, one had to write an
abomination like
auto a = Matrix4x4::fromVector(Math::Vector<16, Float>{0.5f});
Ugh.
9 years ago
Vladimír Vondruš
6e10b2e205
Math: doc++
...
The TODOs were removed and put into GitHub projects to be a bit more
visible to random strangers.
9 years ago
Vladimír Vondruš
61e511dbc4
Math: component-wise comparison for RectangularMatrix.
...
Required for TestSuite::Compare::Around.
9 years ago
Vladimír Vondruš
0aad8f756e
Math: utility function for conversion between CIE xyY and CIE XYZ.
9 years ago
Vladimír Vondruš
eeac7e2868
Math: minmax() for a pointer range.
...
Thanks @Squareys for unblocking my brain!
9 years ago
Vladimír Vondruš
9204156485
Math: constexpr issues with MSVC 2015.
9 years ago
Vladimír Vondruš
353d7ff59d
Math: implemented minmax() for arbitrary vectors.
9 years ago
Vladimír Vondruš
4cf9459110
Math: return default-constructed value for min()/max() on empty range.
9 years ago
Vladimír Vondruš
bfa259fb18
Math: min() and max() for pointer ranges.
...
The test is for the initializer list version, so it covers these as
well.
9 years ago
Vladimír Vondruš
9e796b76c8
Math: added clamp(Vector, Vector, Vector), {min,max}(Vector, T)
...
In order to provide consistent API with GLSL. Pretty annoying omission.
9 years ago
Vladimír Vondruš
59f69d2a4f
Math: assert that the (un)packed vector type has the same size.
9 years ago
Vladimír Vondruš
8637cbdc31
Math: Color4::{xyz,rgb}() should return Color3, not Vector3.
9 years ago
Vladimír Vondruš
e0672f4867
Math: link to the Tau manifesto.
9 years ago
Vladimír Vondruš
bb69a88922
Math: fix double->float conversion warnings on MSVC.
9 years ago
Vladimír Vondruš
a960a3d8cd
Math: initialize BoolVector to silence compiler warnings.
9 years ago
Vladimír Vondruš
9de8fb9a67
Math: expect minor sRGB monotonicity test failure on Emscripten -O3 build.
...
The debug output isn't even able to print the difference as it is
differing *very* little.
9 years ago
Vladimír Vondruš
5a0be1dfee
Math: document the test repeats to avoid confusion.
9 years ago
Vladimír Vondruš
1f2af862dc
Doc++
9 years ago
Vladimír Vondruš
bdb6daec82
Math: new Half literal class.
9 years ago
Vladimír Vondruš
16ef1ae0b6
Math: functions for half-float (un)packing.
...
Most of the code is in the actual test where I'm comparing and
benchmarking three different implementations (a
naive/straightforward/ground-truth one, the chosen one and a fast though
cache-spilling table-based one) to ensure the behavior is consistent
across all of them and that the performance is within reasonable bounds.
The Corrade::TestSuite benchmarking stuff needs serious improvements,
though.
9 years ago
Vladimír Vondruš
c8cc1dc88e
Math: expect failure in SVD test only on non-optimized Emscripten builds.
...
Emscripten 1.37.1 with -O3 doesn't fail there.
9 years ago
Vladimír Vondruš
9ebc1068cb
Math: missing include after updates in Corrade::TestSuite.
9 years ago
Vladimír Vondruš
502d59c2a8
Math: ability to specify number of integer bits for {un,}pack().
...
This also allowed me to get rid of the <limits> header.
9 years ago
Vladimír Vondruš
996c707cbc
Math: reduced code duplication in vector packing functions.
...
This should also improve debug performance as there is less code to
inline.
9 years ago
Vladimír Vondruš
54c7b8d775
Math: document why unpacking is done this way.
9 years ago
Vladimír Vondruš
e5fe46949e
Math: got rid of <limits> dependency in Constants.h.
...
The tests still pass, so why not.
9 years ago
Vladimír Vondruš
6944818cc6
Math: improved packing test with in-range values to verify rounding.
9 years ago
Vladimír Vondruš
dd2058cee3
Math: renamed {de,}normalize() to {,un}pack() in a new Packing.h header.
...
To be more consistent with GLSL naming. Also, the original naming was
quite misleading, as normalize() is used in GLSL for something
completely different.
If building with deprecated APIs, the Functions.h header includes the
new Packing.h header and the {de,}normalize() functions are defined as
deprecated aliases to the new functions. This will be removed at some
point in the future.
9 years ago
Vladimír Vondruš
543782d78b
Math: added Algorithms::kahanSum().
...
The test is running pretty slow on debug builds, though (sorry). I see
no way how to make it faster while still exposing the issues with
std::accumulate().
9 years ago
Vladimír Vondruš
ce050888fd
Math: function to convert RGB to XYZ color space.
...
Building blocks for supporting other colorspaces such as L*a*b. I was
not happy with matrices from Wikipedia because they don't round-trip
perfectly so I have slightly different / more precise versions that do
round-trip.
10 years ago