Sam Hocevar
b85c7adfe6
Big header refactor yet again.
Let’s see how it goes with a very flat hierarchy and no .h extension.
6年前
Sam Hocevar
ecc3aee6e1
Various Windows compilation fixes.
6年前
Sam Hocevar
d05eb96665
Improve standalone inclusion support.
6年前
Sam Hocevar
655beda5bd
It’s 2020, use [[nodiscard]] unconditionally.
6年前
Sam Hocevar
2626ce4efe
Make more headers private and remove unnecessary #includes.
6年前
Sam Hocevar
7a309a53d1
Various compilation fixes.
6年前
Sam Hocevar
f579dbc881
Minor header refactoring.
6年前
Sam Hocevar
0ba2833bd4
Make a lot of headers work independently.
6年前
Sam Hocevar
c45a494ad5
base: re-add the threading and getopt classes.
6年前
Sam Hocevar
8d5891b88a
math: clean up the polynomial.h header.
6年前
Sam Hocevar
155ae65a4e
Start working on the header-only part of the framework.
This implies creating a trimmed down branch that contains almost
nothing. It will then be usable by projects that do not need the
complex build system, and by the engine itself as a submodule from
the same repository.
6年前
Sam Hocevar
1db2c5ca0f
Allow ! and bool operators on polynomials.
This allows us to manipulate polynomials of polynomials. Not sure why yet,
but it could be useful to implement 2-variable polynomials.
8年前
Sam Hocevar
4e313aa810
Fix unused variable warnings in the polynomial code.
8年前
Sam Hocevar
fe99aca67d
Use [[nodiscard]] in a lot of places.
This will let us detect problems with unused return values. For instance,
if you don’t remember that normalize(q) returns a pointer and expect it
to modify the object, you’ll get this warning:
warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result]
quat q(1,2,3,4); normalize(q);
^~~~~~~~~ ~
8年前
Sam Hocevar
3db14cd669
win64: various VS 2015 build fixes.
9年前
Sam Hocevar
155dc4af14
Work around an apparent Visual Studio compiler bug.
10年前
Guillaume Bittoun
3f6cd5b120
polynomial: accuracy improvement on double root in order 3
10年前
Guillaume Bittoun
51d8ed6458
polynomial: Improving tests for double/triple roots in order 3
10年前
Sam Hocevar
74d2ce93fe
polynomial: compute u_norm and v_norm directly and use cbrt() instead of pow(x,1/3).
11年前
Sam Hocevar
5d0eec893e
math: some more simplifications.
11年前
Sam Hocevar
ddf9354b67
math: simplify some computations in the degree-3 root finder.
11年前
Sam Hocevar
e0698e9600
math: do not use floats in the polynomial root finding.
11年前
Guillaume Bittoun
aa2ec71ae4
polynomial: 3rd order fixes
11年前
Guillaume Bittoun
93dc8a70a7
polynomial: 3rd order solving v1.0
11年前
Guillaume Bittoun
a327a68478
polynomial: 3rd order, almost done. Needs accurate tests
11年前
Guillaume Bittoun
1c93dabbad
polynomial: more 3rd order fixes
11年前
Guillaume Bittoun
26ec1481d3
polynomial: bunch of fixes for 3rd order
11年前
Guillaume Bittoun
c55f25f821
drafting polynomial 3rd order solving. To be continued…
11年前
Sam Hocevar
03c17fcae4
base: clean up and refactor containers.
The containers no longer force the user to use the ptrdiff_t type for
size information. For convenience, size() now always returns an int,
and the size_s() method offers a way to handle arrays with more than
2 billion elements. Internally, we still use ptrdiff_t, though.
Since so much code had to be changed, I took the opportunity to get
rid of capitalised accessors for classes that are lowercase.
11年前
Sam Hocevar
bb438b6252
math: fix a coding error in the polynomial division.
11年前
Sam Hocevar
369ce3f511
math: polynomial division.
11年前
Sam Hocevar
ce9daf6899
math: allow to divide polynomials by scalars.
11年前
Sam Hocevar
1eb5f9f361
math: add a roots() method to find polynomial roots for degrees 1 and 2.
11年前
Sam Hocevar
3916a44c58
math: add derive() method to polynomial and allow to call eval() with
polynomials as arguments so as to compose them together.
11年前
Sam Hocevar
0668d0d5a6
math: add a factory for Chebyshev polynomials.
11年前
Sam Hocevar
baebd131fc
math: add a simple polynomial template class.
11年前