Sam Hocevar
56511457d2
test: give more explicit names to unit test cases.
13 лет назад
Sam Hocevar
48bde6fa94
test: add simple unit tests for image loading.
13 лет назад
Sam Hocevar
fde544911b
core: new benchmark snippet for operations on reals.
13 лет назад
Sam Hocevar
cdc155c42b
core: allow to cast reals to doubles in addition to floats.
13 лет назад
Sam Hocevar
325ea94821
core: implement division of reals and change their default precision
to 32 bigits.
13 лет назад
Sam Hocevar
93479c2876
core: implement real subtraction.
13 лет назад
Sam Hocevar
a173e49ddc
core: implement comparison operators for reals.
13 лет назад
Sam Hocevar
48f00deff9
core: fix real unary minus and handle negative numbers in additions.
13 лет назад
Sam Hocevar
884978c71b
core: handle zero, negative zero and infinite in the real constructor,
and add a test suite check for unary minus.
13 лет назад
Sam Hocevar
dbb0463f4c
core: start working on the extended floating point addition.
13 лет назад
Sam Hocevar
202ac6aaf3
core: switch real mantissa to uint16_t instead of uint32_t to ease the
multiplication.
13 лет назад
Sam Hocevar
5aedae49a3
core: add missing real.cpp unit test.
13 лет назад
Sam Hocevar
5fc298964b
core: start working on a "real" class for arbitrarily sized floats.
13 лет назад
Sam Hocevar
cc2bdf0b01
test: fix the benchmark suite compilation on SNC.
13 лет назад
Sam Hocevar
abbf9ba44c
build: fix a shitload of build errors introduced by the Image refactoring
and the OS X port.
13 лет назад
Sam Hocevar
2435bd47ed
osx: automake does not support .mm files yet, so rename ios-image.mm back
to ios-image.cpp, but disable it on OS X because UIKit isn't available.
13 лет назад
Sam Hocevar
489389abbe
build: better clean rule for the test directory.
13 лет назад
Sam Hocevar
160102ba03
build: new lol-build script for easier autobuilds.
13 лет назад
Sam Hocevar
5081f7034a
test: reorganise test suite and benchmark code.
13 лет назад
Sam Hocevar
170050501f
test: add unit tests to check whether the build environment behaved as
expected.
13 лет назад
Sam Hocevar
04c4a959cd
core: add our custom isnan() macro to the core headers.
13 лет назад
Sam Hocevar
5a5b811200
lolunit: rename a few methods for consistency.
13 лет назад
Sam Hocevar
75d8811c74
lolunit: rename test runner’s run() method to Run() for consistency.
13 лет назад
Sam Hocevar
00b8d5c28d
test: improve matrix and vector uni tests.
13 лет назад
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.
13 лет назад
Sam Hocevar
b64d051e6a
lolunit: free all the memory we allocated to avoid a minor memory leak,
and slightly tweak the API syntax.
13 лет назад
Sam Hocevar
5ab9eb3c62
test: get rid of the need for LOLUNIT_SETUP_FIXTURE().
13 лет назад
Sam Hocevar
579f77bded
test: make LolUnit's output match CppUnit's more closely.
13 лет назад
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.
13 лет назад
Sam Hocevar
0e622822e7
test: add a few Visual Studio 2010 project files and fix testsuite code
so that it builds properly.
13 лет назад
Sam Hocevar
5454005d81
debug: various improvements to the test programs.
13 лет назад
Sam Hocevar
9eeef663d1
debug: add point sprite examples.
13 лет назад
Sam Hocevar
2489233a44
core: improve tan() accuracy by tweaking higher order Taylor coefficients.
13 лет назад
Sam Hocevar
82d81256b9
core: implement accelerated lol_sincos() and lol_tan().
13 лет назад
Sam Hocevar
49f9c59ff3
core: implement accelerated cos().
13 лет назад
Sam Hocevar
148f6838e9
test: replace lol-bench with lol-bench$(EXEEXT) in the Makefile to allow
"make bench" to work when cross-compiling for Windows.
13 лет назад
Sam Hocevar
6ed53d9868
test: do the trigonometry tests on doubles instead of floats.
13 лет назад
Sam Hocevar
35454b8f94
test: add an empty sandbox program and update .gitignore.
13 лет назад
Sam Hocevar
3402db36c3
optim: better isnan() reimplementation.
13 лет назад
Sam Hocevar
de496b15fe
core: remove one multiplication and one selection from the optimised
version of sinf().
13 лет назад
Sam Hocevar
105485a3aa
test: new test for trigonometric functions.
13 лет назад
Sam Hocevar
7680eca5d8
test: implement a custom isnan()
This version is faster (about 25% on x86_64) and works when extreme
optimisation options such as -ffast-math are used.
13 лет назад
Sam Hocevar
744f4ac98d
test: add benchmark tests for trigonometry functions.
13 лет назад
Sam Hocevar
09ecf1bd8b
contrib: rebuild the Win32 CppUnit under Linux and fix the includes.
Apparently g++ 4.5.2 on native mingw32 inserts references to __Unwind_Resume
when exceptions are supported. This function is not present in the g++ 4.4
cross-compiler found in Debian, leading to linker errors when cross-
compiling. So we use the latter to build CppUnit itself.
Another problem arises with g++ 4.4, which is the incomplete stripping of
exceptions when -fno-exceptions is used. Since ExceptionTestCaseDecorator.h
has such code, we protect it with #ifdef __EXCEPTIONS in the meantime.
13 лет назад
Sam Hocevar
782283a3d0
test: add matrix code to the benchmark program.
13 лет назад
Sam Hocevar
cb001ddbcc
core: tune the half precision code so that the best variants are being
used on the PS3 platform.
13 лет назад
Sam Hocevar
aa6e832fd7
build: clean up .self files and allow to build the benchmark on the PS3.
13 лет назад
Sam Hocevar
e47928e8d1
test: improve the benchmark code to measure a lot more half precision
number conversions.
13 лет назад
Sam Hocevar
0bbd1e43c2
test: add a fallback for isnan() when not defined by the system includes.
13 лет назад
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...).
13 лет назад