Sam Hocevar
|
6c8186389f
|
math: Interp class for frame-independent interpolation.
|
pirms 11 gadiem |
Sam Hocevar
|
ff32da97ad
|
test: add missing unit tests for the Atomic template class.
|
pirms 12 gadiem |
Sam Hocevar
|
e14a8d68a2
|
color: slightly tweak the RGB to HSV and HSL conversions for
improved numerical stability on i386.
|
pirms 12 gadiem |
Sam Hocevar
|
57814351b9
|
base: optimise array concatenation, fix string concatenation, and fix
string concatenation unit tests.
|
pirms 12 gadiem |
Sam Hocevar
|
a5cb244d1d
|
test: add unit tests for the String class; they currently fail
because we actually have a bug!
|
pirms 12 gadiem |
Sam Hocevar
|
41b752e635
|
base: tweak the asserts in the String class, add String::Sub() method
for substrings, and the corresponding unit tests.
|
pirms 12 gadiem |
Sam Hocevar
|
3973f80a9d
|
base: fix a nasty double free issue in Array::Remove().
|
pirms 12 gadiem |
Sam Hocevar
|
47cf667a93
|
color: write the RGB to HSL routine and its associated unit tests.
|
pirms 12 gadiem |
Sam Hocevar
|
5715742774
|
color: optimise RGB to HSV conversion routine using my latest findings,
and add a simple unit test function.
|
pirms 12 gadiem |
Benjamin ‘Touky’ Huet
|
c7219ff1dd
|
New year copyright update.
|
pirms 12 gadiem |
Sam Hocevar
|
99b0874652
|
color: simplify CIEDE2000 distance code.
|
pirms 12 gadiem |
Sam Hocevar
|
b12c16448a
|
color: fix a mistake in the CIEDE2000 color-difference formula.
|
pirms 12 gadiem |
Sam Hocevar
|
a5ba03b405
|
color: unit test data for the CIEDE2000 color-difference formula.
|
pirms 12 gadiem |
Sam Hocevar
|
d6634da83f
|
build: fix the WTFPL site URL in all code comments.
|
pirms 12 gadiem |
Sam Hocevar
|
bbc2edcc8e
|
core: we can now set Map elements using simply map[foo] = bar, no need for
a Set() method. Also, new HasKey() method.
|
pirms 12 gadiem |
Sam Hocevar
|
dff7a5b72c
|
core: do not use va_copy since Visual Studio doesn’t know about it.
|
pirms 12 gadiem |
Sam Hocevar
|
949128d325
|
core: implement String::Printf() and start working on the unit tests.
I'm gonna commit this right now though I'm not really sure whether Visual
Studio will agree to build va_copy and others.
|
pirms 12 gadiem |
Sam Hocevar
|
46f7e750c0
|
core: more string concatenation and comparison methods, plus a lot
of unit tests for the String class.
|
pirms 12 gadiem |
Sam Hocevar
|
d4c0c005d6
|
math: refactor real number constant declarations so that they are only
computed on demand with static initialisation.
|
pirms 12 gadiem |
Sam Hocevar
|
f2c269cb1e
|
math: add dot() for quaternions, plus the relevant unit test.
|
pirms 12 gadiem |
Sam Hocevar
|
62744d98bb
|
test: add a unit test to ensure default constructed reals are initialised
to zero.
|
pirms 12 gadiem |
Sam Hocevar
|
caec5ed082
|
build: allow to build the PS3 binaries from Visual Studio if the proper
software is installed.
|
pirms 12 gadiem |
Sam Hocevar
|
8375f3443d
|
build: fix the PS3 port by using our trig.h everywhere instead of stdlib
functions; also remove a lot of idiotic "using namespace std" from the
codebase.
|
pirms 12 gadiem |
Sam Hocevar
|
a71562bd83
|
core: rename f64vec4 to dvec4 etc. for consistency with GLSL.
|
pirms 12 gadiem |
Sam Hocevar
|
a4fb64d6c8
|
test: add a few unit tests for datatype sanity.
|
pirms 12 gadiem |
Sam Hocevar
|
d0dbbde159
|
core: allow to concatenate arrays, and add unit tests for that.
|
pirms 12 gadiem |
Sam Hocevar
|
c276dbb1ff
|
math: allow to write 1.f / q to take a quaternion's inverse.
|
pirms 12 gadiem |
Sam Hocevar
|
82aaaae62c
|
core: the Array class now properly works with non-POD types.
|
pirms 12 gadiem |
Sam Hocevar
|
0315413285
|
core: rename Array::Append() to Array::Push() for brevity and arbitrary
personal taste.
|
pirms 12 gadiem |
Sam Hocevar
|
bbdd59032d
|
test: add matrix determinant and quaternion norm checks in the unit tests.
|
pirms 12 gadiem |
Sam Hocevar
|
ecda7cd569
|
math: replace mat3::rotate(quat) with an explicit constructor, and add
more unit tests for the quaternion to 3×3 matrix conversion.
|
pirms 12 gadiem |
Sam Hocevar
|
9e9c18d37e
|
test: add several unit tests for rotations with matrices and quaternions.
|
pirms 12 gadiem |
Sam Hocevar
|
8325d8889c
|
math: chage quaternion constructor to wxyz order because it matches the
mathematical writing, and add static constructors to create quaternions
from a rotation.
|
pirms 12 gadiem |
Sam Hocevar
|
c9520d2aca
|
test: add unit tests for the Array class.
|
pirms 12 gadiem |
Sam Hocevar
|
eb51928415
|
math: add inversion code for 2×2 and 3×3 matrices, and transposition
code for all matrices.
|
pirms 12 gadiem |
Sam Hocevar
|
0303a8384f
|
win32: fix Visual Studio compilation and link issues.
|
pirms 12 gadiem |
Sam Hocevar
|
8bea4cf189
|
math: ensure real::fabs() is never chosen over std::fabs() for arguments
that are not explicitly real, even with namespace mistakes.
|
pirms 12 gadiem |
Sam Hocevar
|
54f74a1b20
|
win32: some compilation fixes here and there.
|
pirms 12 gadiem |
Sam Hocevar
|
0a52e68f6f
|
math: rename matrix.h to vector.h and simplify some stuff, especially in
the matrix code itself.
|
pirms 13 gadiem |
Sam Hocevar
|
57df2357de
|
math: try to implement the magic getter/setter pattern. BREAKS BUILD.
|
pirms 13 gadiem |
Sam Hocevar
|
d38a79ee3d
|
math: move most vector and matrix member functions to global functions.
|
pirms 13 gadiem |
Sam Hocevar
|
bed5dea0c0
|
math: implement ulp() for reals, which returns the smallest real y > 0 such
that x + y != x, and nextafter() which behaves like the C function.
|
pirms 13 gadiem |
Sam Hocevar
|
366644d43c
|
real: get rid of <<= and >>= operators; we can use ldexp() instead. As a
bonus, multiplication or division by a power of two will be optimised as
a shift of the exponent.
|
pirms 13 gadiem |
Sam Hocevar
|
f56c72c53d
|
core: fix the sign of a negative real number raised to an even power, and
add the corresponding unit test.
|
pirms 13 gadiem |
Sam Hocevar
|
992c198a66
|
core: allow to build a real number using a string literal.
|
pirms 13 gadiem |
Sam Hocevar
|
2d3ee50da3
|
test: do not test for strict doubles equality in quaternion unit test.
|
pirms 13 gadiem |
Sam Hocevar
|
433d05964c
|
core: implement complex numbers and add unit tests for these.
|
pirms 13 gadiem |
Sam Hocevar
|
3dde22ea62
|
test: add missing quaternion unit tests.
|
pirms 13 gadiem |
Sam Hocevar
|
4a16c072f2
|
core: new combinations of integer vectors (unsigned, 8-bit, etc.), dot and
cross product, normalize, etc.
|
pirms 13 gadiem |
Sam Hocevar
|
6767dae741
|
core: disallow casting eg. a vec3 into a vec2. Use the xy() getter instead.
|
pirms 13 gadiem |