Sam Hocevar
75035be227
math: fix epsilon in some double equality unit tests.
před 10 roky
Sam Hocevar
d332ad0f6f
math: add unit tests to check that radians(90) == radians(90.0).
před 10 roky
Sam Hocevar
078751a820
math: all API functions dealing with angles now use radians.
We already have the convenient degrees() and radians() functions to convert
between angle formats. This commit involves a lot of refactoring here and
there and I may have missed some places where conversions were needed. But
hopefully there aren’t may such places.
před 10 roky
Sam Hocevar
45b57cc102
math: rename re() to inverse() in all classes.
The name “re” came from “reciprocal” but since we have “inverse” for
matrices, I thought it would be nice to make everything consistent.
před 10 roky
Sam Hocevar
5a15c90fcc
math: add SQT inverse method.
před 10 roky
Sam Hocevar
d618053d00
math: add composition of SQT transforms and the corresponding unit tests.
před 10 roky
Sam Hocevar
45b792cc8e
test: refactor some stuff in the unit tests because I like it better that way.
před 10 roky
Sam Hocevar
7166760eaf
math: add a new sqt type for scale/rotation/translation transforms.
před 10 roky
Sam Hocevar
861568b146
misc: some cleanup in files, including UTF-8 BOM.
před 10 roky
Sam Hocevar
441a20af99
misc: fix copyright information here and there.
před 10 roky
Sam Hocevar
38733fade7
math: move the matrix-to-quaternion code to a global header.
This lets us use the code for non-float variable types. I also got
rid of the mat4-to-quat code so that users are forced to use the
mat3-to-quat code and possibly discover places where their code is
suboptimal.
před 10 roky
Guillaume Bittoun
efa94fa2e9
polynomial: adding test with bigger solutions
před 10 roky
Guillaume Bittoun
93dc8a70a7
polynomial: 3rd order solving v1.0
před 10 roky
Guillaume Bittoun
a327a68478
polynomial: 3rd order, almost done. Needs accurate tests
před 10 roky
Guillaume Bittoun
1c93dabbad
polynomial: more 3rd order fixes
před 10 roky
Guillaume Bittoun
26ec1481d3
polynomial: bunch of fixes for 3rd order
před 10 roky
Guillaume Bittoun
c55f25f821
drafting polynomial 3rd order solving. To be continued…
před 10 roky
Sam Hocevar
d64b117b8d
build: fix license and copyright information.
před 10 roky
Sam Hocevar
51b4210361
base: reintroduce array::swap.
It merely performs an std::swap() on both array elements, but it’s
apparently convenient to have.
před 10 roky
Sam Hocevar
70edc0d38e
misc: carry on with the lowercase rampage.
Using “Array” instead of “array” is now fully deprecated, and I replaced
the Log::Debug() etc. functions with msg::debug() etc. because log:: was
unavailable due to being a maths function.
Added up-to-date copyright notice and BOM to modified files, just in case.
před 10 roky
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.
před 10 roky
Sam Hocevar
04a5da4652
test: minor unit test refactoring.
před 10 roky
Benjamin ‘Touky’ Huet
825401d997
Brought threads to C++11
Revamped thread communication
Fixed dynamic thread Add/Remove
Added unit-test for threads !!!!
před 10 roky
Guillaume Bittoun
b1e1f23b8f
matrix: using permutation and LU decomposition for determinant and inverse computing
před 10 roky
Guillaume Bittoun
ace6e55975
matrix: adding permutation determinant
před 10 roky
Guillaume Bittoun
ed2e6cd95a
matrix: using vec_t for permutation logic
před 10 roky
Guillaume Bittoun
c30c60671b
matrix: adding permutation matrix computing
před 10 roky
Guillaume Bittoun
7251024de5
map: FIXED !
před 10 roky
Guillaume Bittoun
e697314294
map: more bug fixes (still not fully fixed…)
před 10 roky
Guillaume Bittoun
6fd247b9eb
map: starting bug fix
před 10 roky
Guillaume Bittoun
17d25fa26f
map: test fix
před 10 roky
Guillaume Bittoun
73c3d8d524
map: adding test for random failure with add/remove updates
před 10 roky
Sam Hocevar
d70027cc3e
test: ensure the LU-decomposition checks fail with GCC and -ffast-math.
před 11 roky
Benjamin ‘Touky’ Huet
cdc3328f3a
MemTracker is a new thing, better than the shitty previous thing.
před 11 roky
Guillaume Bittoun
839e8de5d5
woops ! bad test
před 11 roky
Guillaume Bittoun
f4c72644c7
map: adding test for an unidentified bug to fix
před 11 roky
Sam Hocevar
b907e0d03d
base: coding style cleanup in avl_tree implementation.
před 11 roky
Benjamin ‘Touky’ Huet
1d822046ef
added map unit test to check removal correct behaviour.
před 11 roky
Sam Hocevar
d8951b413a
math: disable unstable LU decomposition for matrix inversion.
před 11 roky
Sam Hocevar
3d67ab7f23
test: check for NaN in LU decomposition results.
před 11 roky
Benjamin ‘Touky’ Huet
d4d0225170
Removed all the enum macros, because this was shit and admitting that is the first step to global world domination.
před 11 roky
Sam Hocevar
9011c4a876
test: add more unit tests for matrix inversion.
před 11 roky
Guillaume Bittoun
0e974f9109
matrix: using LU-decomposition for matrix inverse (losing precision unfortunately)
před 11 roky
Guillaume Bittoun
f501d2e9a4
matrix: adding U-inverse function
před 11 roky
Guillaume Bittoun
3cf7df7381
matrix: adding L-matrix inverse
před 11 roky
Guillaume Bittoun
7c907f6f3e
matrix: determinant computing using LU-decomposition
před 11 roky
Guillaume Bittoun
ebd15dbc0e
matrix: LU-decomposition, bug fixes + tests
před 11 roky
Sam Hocevar
3835dc62e0
base: minor variable renaming.
před 11 roky
Sam Hocevar
7330c2c8c2
math: move naive bigint multiplication to a static method and add unit tests.
před 11 roky
Sam Hocevar
d92547bf3e
math: add bitwise operators for bigints, comparison operators, unary
plus and minus, subtraction, and a lot of unit tests.
před 11 roky