Sam Hocevar
5a5b811200
lolunit: rename a few methods for consistency.
14 лет назад
Sam Hocevar
2e314ddc2f
lolunit: protect against multiple registration of the same fixture type.
14 лет назад
Sam Hocevar
75d8811c74
lolunit: rename test runner’s run() method to Run() for consistency.
14 лет назад
Sam Hocevar
8fba1a07d7
lolunit: add some comments to document the framework internals.
14 лет назад
Sam Hocevar
bcc62b548a
lolunit: add several helper macros for various comparison checks.
14 лет назад
Sam Hocevar
70fdf1cadb
core: add std::ostream operators for vector and matrix classes.
14 лет назад
Sam Hocevar
c38732ad97
lolunit: tweak output formatting so that it more closely matches CppUnit.
14 лет назад
Sam Hocevar
2290b7b930
lolunit: add a LOLUNIT_SET_CONTEXT / LOLUNIT_UNSET_CONTEXT macro pair.
This is useful when doing several asserts in one loop, for instance: there
isn't always a way to deduce the loop index from the assert failure, so
these macros allow the user to give more context information.
14 лет назад
Sam Hocevar
e34856fb74
core: handle denormal halfs properly on the PS3; it's denormal floats that
we do not care about.
14 лет назад
Sam Hocevar
62b5838fc1
lolunit: reverse the expected/actual logic.
CPPUNIT_ASSERT_EQUAL(a, b) “expects” the value “a” and fails if “b” is
different. The logic seems backwards to me, but matching CppUnit’s
output is important so I’m doing the same in LolUnit.
14 лет назад
Sam Hocevar
4d99340dfe
lolunit: fix an uninitialised member in TestCase.
14 лет назад
Sam Hocevar
916d608144
core: define FP_USE on exotic architectures.
14 лет назад
Sam Hocevar
b64d051e6a
lolunit: free all the memory we allocated to avoid a minor memory leak,
and slightly tweak the API syntax.
14 лет назад
Sam Hocevar
1569f1620a
core: mediocre workaround for mingw32 who ignores our FP_USE macro.
14 лет назад
Sam Hocevar
5ab9eb3c62
test: get rid of the need for LOLUNIT_SETUP_FIXTURE().
14 лет назад
Sam Hocevar
579f77bded
test: make LolUnit's output match CppUnit's more closely.
14 лет назад
Sam Hocevar
a374127e80
test: replace CppUnit with our LolUnit test suite.
CppUnit is really too large for our needs, would require to be precompiled
for many platforms, in all combinations of debug and release modes, with
additional variants for libstdc++ versions. We replace it with our own
lightweight implementation, LolUnit. Good riddance.
14 лет назад
Sam Hocevar
14a3e1f739
core: fix a bug on the PS3 version of lol_sin().
14 лет назад
Sam Hocevar
e9296e7994
core: implement the FP_USE() macro on x86, amd64 and powerpc.
14 лет назад
Sam Hocevar
b3e2429b9e
core: avoid returning to memory when giving GCC floating point hints.
14 лет назад
Sam Hocevar
5454005d81
debug: various improvements to the test programs.
14 лет назад
Sam Hocevar
320e70d8c4
core: a few compilation fixes for non-GCC compilers.
14 лет назад
Sam Hocevar
b5cb0dffa6
debug: fix PS3 and Android compilation.
14 лет назад
Sam Hocevar
9eeef663d1
debug: add point sprite examples.
14 лет назад
Sam Hocevar
5feadd8b6a
core: fix PS3 compilation; the lol_fdiv implementation was missing.
14 лет назад
Sam Hocevar
bf164def53
core: fix an accuracy error in the cos() part of lol_sincos().
14 лет назад
Sam Hocevar
2489233a44
core: improve tan() accuracy by tweaking higher order Taylor coefficients.
14 лет назад
Sam Hocevar
82d81256b9
core: implement accelerated lol_sincos() and lol_tan().
14 лет назад
Sam Hocevar
5be195a8b0
core: slightly reorganise Taylor series in sin() and cos().
14 лет назад
Sam Hocevar
49f9c59ff3
core: implement accelerated cos().
14 лет назад
Sam Hocevar
a65c472ffd
core: add a code shortcut for sin() on platforms that have cheap branches.
14 лет назад
Sam Hocevar
824551e4af
optim: split the Taylor series calculation into two separate values.
This is at the cost of one additional multiply, but performance increases
by more than 11%, because the PS3 pipeline is a lot happier now.
14 лет назад
Sam Hocevar
de496b15fe
core: remove one multiplication and one selection from the optimised
version of sinf().
14 лет назад
Sam Hocevar
42b22f1163
core: minor optimisation in the x86 version of lol_sin()
Instead of dividing by 2 and rounding with magic number 2^52, we round with
magic number 2^53, which gives us the parity with at least one mul less.
14 лет назад
Sam Hocevar
1b33a7fcb7
core: start implementing optimised trigonometry functions for PS3 and x86.
14 лет назад
Sam Hocevar
d2b523bb01
core: use <altivec.h> with ppu-gcc, <ppu_altivec_internals.h> with SNC.
14 лет назад
Sam Hocevar
4b9bd58747
core: reactivate half denormals for the PS3.
We know we will not have denormal floats on the PS3, but we should still
create denormal halves in case the other end (maybe the GPU?) knows how
to handle them.
14 лет назад
Sam Hocevar
cb001ddbcc
core: tune the half precision code so that the best variants are being
used on the PS3 platform.
14 лет назад
Sam Hocevar
e47928e8d1
test: improve the benchmark code to measure a lot more half precision
number conversions.
14 лет назад
Sam Hocevar
205fc5fc22
core: rename half::isnan() etc. to half::is_nan() because "isnan" can be
a C macro on some systems (Android NDK, PS3...).
14 лет назад
Sam Hocevar
4fea7a091d
core: implement array versions of the float / half conversion routines.
14 лет назад
Sam Hocevar
2d85e76ec8
core: minor refactoring in the float / half conversions to accomodate
for future array versions.
14 лет назад
Sam Hocevar
8b71ddb30c
core: implement new half / float operations and the associated tests.
14 лет назад
Sam Hocevar
c3b23d1f4d
core: add a half to float conversion routine and utility floating point
functions such as isnan(), isinf() etc.
14 лет назад
Sam Hocevar
96007d26c4
core: start working on the "half" type.
14 лет назад
Sam Hocevar
2b9d64f7a8
core: more vec?i -> ?veci renames.
14 лет назад
Sam Hocevar
b111f7e3d8
core: move platform-specific code to specific directories.
14 лет назад
Sam Hocevar
6b1985d95f
android: keep a pointer on the global Java VM instead of the current
environment, so back-to-jvm techniques can work from any thread.
14 лет назад
Sam Hocevar
6bbe943492
core: rename vec2i to ivec2 etc. to better match GLSL.
14 лет назад
Sam Hocevar
f79a3c52b5
core: add a Sprite class to try to factor some common logic currently
found in the game. Will be greatly improved later.
14 лет назад