Vladimír Vondruš
3fb90cdf5c
Math: remove obsolete Doxygen workarounds.
7 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š
cee530733e
Math: make it possible to opt out of Debug output operators.
...
Undocumented at this point, will be used for magnum-singles export.
7 years ago
Vladimír Vondruš
e7af6bf07b
Math: minor cleanup and code shuffling.
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š
5fc246b908
Math: compile forgotten code snippets.
7 years ago
Vladimír Vondruš
e6b7aa12fa
Updated copyright year.
7 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š
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š
24af174f5e
Math: minor cleanup.
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š
eabe118266
Math: doc++
8 years ago
Alan
3bbb4088a8
Update Range.h
8 years ago
Vladimír Vondruš
bff7ae8d7e
Math: added Range::fromCenter().
8 years ago
Vladimír Vondruš
bb8fbcef9c
Math: doc++
8 years ago
Vladimír Vondruš
64f8a90095
Math: ability to construct a Range from std::pair.
...
Useful to feed the output from Math::minmax() directly to a Range.
8 years ago
Vladimír Vondruš
8a35299636
Math: added Math::Range::contains() with Range as a parameter.
8 years ago
Vladimír Vondruš
6cb57534e6
Math: implemented intersect() and intersects() for Range.
...
One returns the intersection range, the other a boolean.
8 years ago
Vladimír Vondruš
59852ace85
Math: ability to slice Range into lower dimensions.
8 years ago
Vladimír Vondruš
c26075427b
Doxygen. Doxygen IS BROKEN BEYOND REPAIR.
...
I introduced *strong* enum with values, in a subnamespace, that have the
same name as completely unrelated typedefs. Guess what?! It breaks ALL
LINKS TO THOSE TYPEDEFS! **EVERYWHERE!!!**
8 years ago
Vladimír Vondruš
105cef5efd
No need to use fully qualified name for \debugoperator.
8 years ago
Vladimír Vondruš
2136466f0f
Math: doc++, add search aliases for GLSL functions.
8 years ago
Vladimír Vondruš
623fa97970
Updated copyright year.
8 years ago
Vladimír Vondruš
05bb8b419a
Math: updates for the new documentation theme.
8 years ago
Vladimír Vondruš
b16755fc13
Doxygen fixes and workarounds.
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š
620b571766
Math: fix template declaration for Range converter.
10 years ago
Vladimír Vondruš
cfc622c92c
Math: explicitly instantiate commonly used Range debug operators.
...
Might save some executable bloat. Not sure why this wasn't done already.
10 years ago
Vladimír Vondruš
32f357752f
Math: the world is not just about OpenGL.
10 years ago
Vladimír Vondruš
7bebbbb1ec
Math: minor cleanup.
10 years ago
Vladimír Vondruš
40d60f6a3f
Math: make all constructor noexcept and test their behavior.
10 years ago
Vladimír Vondruš
eaeda24399
Don't restrict Double usage on OpenGL ES.
...
Restrict only what's not defined by GL on the ES flavor (double
attributes and uniforms). I love the smell of burning code.
10 years ago
Vladimír Vondruš
5d110ba7b1
Math: added Range::contains().
10 years ago
Vladimír Vondruš
5fe0d3e8fe
Math: doc++
10 years ago
Vladimír Vondruš
da9e86fc77
Math: ability to join two ranges.
...
I had to include Functions.h, there was no other way to do this. I have
to schedule include cleanup soon.
10 years ago
Vladimír Vondruš
23646e6690
Hell, this project is big.
10 years ago
Vladimír Vondruš
6e8c16c960
MSVC 2015 Update 1: fixed nearly all constexpr bugs.
11 years ago
Vladimír Vondruš
670c9d0763
Adapted to Corrade::Utility::Debug changes.
11 years ago
Vladimír Vondruš
0aa16595eb
Use new-style debug operators everywhere.
11 years ago
Vladimír Vondruš
86c8fdef8d
Fix linking of tests on MinGW-w64 GCC 5.1.
...
It worked flawlessly when crosscompiled from Linux, but compiling that
natively causes the linker to loudly complain about undefined references
to ConfigurationValue structs. I think it worked well under 4.9.2 (but
that mess had a slew of other ugly problems, such as complete inability
to produce non-crashing C++11 code under x64). The linker error is
caused only because I tried to reduce binary bloat, so I'm just
disabling that for MinGW and screw that. No problem under MSVC.
11 years ago
Vladimír Vondruš
bfbacaa7c9
MSVC 2015 compatibility: random stuff that's causing compiler crashes.
...
Random indeed. In particular, it's causing crashes for Vector2 and
Vector3, but not for the exact same code in Vector4!
11 years ago
Vladimír Vondruš
000d8f8129
MSVC 2015 compatibility: Math external conversion constexpr issues.
...
Caused by inability to delegate constexpr constructors. Subclasses are
okay, fortunately.
11 years ago
Vladimír Vondruš
d2d0943ffa
MSVC 2015 compatibility: broken multiple definitions of template aliases.
...
Causes the compiler to forget random type declarations. How is that even
possible.
11 years ago
Vladimír Vondruš
371adc63f9
MSVC 2015 compatibility: the issues with {} are eternal.
...
Aargh.
11 years ago
Vladimír Vondruš
c4bf8d6eda
Doxygen workarounds.
...
I LOVE this, do you hear me? Especially at 2:40 AM.
11 years ago
Vladimír Vondruš
1b0da5b2df
Math: ability to construct all types without initializing the contents.
...
Useful for squeezing out last bits of performance, e.g. in this case:
Vector3 a;
a[0] = something++;
a[1] = something++;
a[2] = something++;
In the code all elements are first zeroed out and then overwritten
later, thus it might be good to avoid the zero-initialization:
Vector3 a{Math::NoInit};
a[0] = something++;
a[1] = something++;
a[2] = something++;
This will of course be more useful in far larger data types and arrays
of these.
11 years ago