Sam Hocevar
301bc29d3c
build: add a Win64 cross-build script and upgrade glew to 1.7.0.
il y a 13 ans
Sam Hocevar
ba10e59e45
ios: fix iOS build by adding missing files to XCode project.
il y a 13 ans
Sam Hocevar
5081f7034a
test: reorganise test suite and benchmark code.
il y a 13 ans
Sam Hocevar
170050501f
test: add unit tests to check whether the build environment behaved as
expected.
il y a 13 ans
Sam Hocevar
04c4a959cd
core: add our custom isnan() macro to the core headers.
il y a 13 ans
Sam Hocevar
7b7d4fe003
build: stop defining ANDROID_NDK and check for __ANDROID__ instead.
According to David Turner, “it should be the only thing that NDK users
should be testing again.”
il y a 13 ans
Sam Hocevar
69648f381f
build: add LolUnit to the build rules.
il y a 13 ans
Sam Hocevar
5a5b811200
lolunit: rename a few methods for consistency.
il y a 13 ans
Sam Hocevar
2e314ddc2f
lolunit: protect against multiple registration of the same fixture type.
il y a 13 ans
Sam Hocevar
8341fd4fef
build: disable RTTI, we don’t need it and won’t use it.
il y a 13 ans
Sam Hocevar
75d8811c74
lolunit: rename test runner’s run() method to Run() for consistency.
il y a 13 ans
Sam Hocevar
8fba1a07d7
lolunit: add some comments to document the framework internals.
il y a 13 ans
Sam Hocevar
00b8d5c28d
test: improve matrix and vector uni tests.
il y a 13 ans
Sam Hocevar
bcc62b548a
lolunit: add several helper macros for various comparison checks.
il y a 13 ans
Sam Hocevar
70fdf1cadb
core: add std::ostream operators for vector and matrix classes.
il y a 13 ans
Sam Hocevar
c38732ad97
lolunit: tweak output formatting so that it more closely matches CppUnit.
il y a 13 ans
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.
il y a 13 ans
Sam Hocevar
e34856fb74
core: handle denormal halfs properly on the PS3; it's denormal floats that
we do not care about.
il y a 13 ans
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.
il y a 13 ans
Sam Hocevar
4d99340dfe
lolunit: fix an uninitialised member in TestCase.
il y a 13 ans
Sam Hocevar
916d608144
core: define FP_USE on exotic architectures.
il y a 13 ans
Sam Hocevar
b64d051e6a
lolunit: free all the memory we allocated to avoid a minor memory leak,
and slightly tweak the API syntax.
il y a 13 ans
Sam Hocevar
5bd1a0f887
build: add -j6 to our build scripts' "make" invocations.
il y a 13 ans
Sam Hocevar
1569f1620a
core: mediocre workaround for mingw32 who ignores our FP_USE macro.
il y a 13 ans
Sam Hocevar
5ab9eb3c62
test: get rid of the need for LOLUNIT_SETUP_FIXTURE().
il y a 13 ans
Sam Hocevar
579f77bded
test: make LolUnit's output match CppUnit's more closely.
il y a 13 ans
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.
il y a 13 ans
Sam Hocevar
0e622822e7
test: add a few Visual Studio 2010 project files and fix testsuite code
so that it builds properly.
il y a 13 ans
Sam Hocevar
14a3e1f739
core: fix a bug on the PS3 version of lol_sin().
il y a 13 ans
Sam Hocevar
e9296e7994
core: implement the FP_USE() macro on x86, amd64 and powerpc.
il y a 13 ans
Sam Hocevar
b3e2429b9e
core: avoid returning to memory when giving GCC floating point hints.
il y a 13 ans
Sam Hocevar
5454005d81
debug: various improvements to the test programs.
il y a 13 ans
Sam Hocevar
e006714236
build: new Visual Studio build files, for the engine core and the debug
quad application.
il y a 13 ans
Sam Hocevar
320e70d8c4
core: a few compilation fixes for non-GCC compilers.
il y a 13 ans
Sam Hocevar
b5cb0dffa6
debug: fix PS3 and Android compilation.
il y a 13 ans
Sam Hocevar
9eeef663d1
debug: add point sprite examples.
il y a 13 ans
Sam Hocevar
5feadd8b6a
core: fix PS3 compilation; the lol_fdiv implementation was missing.
il y a 13 ans
Sam Hocevar
bf164def53
core: fix an accuracy error in the cos() part of lol_sincos().
il y a 13 ans
Sam Hocevar
2489233a44
core: improve tan() accuracy by tweaking higher order Taylor coefficients.
il y a 13 ans
Sam Hocevar
82d81256b9
core: implement accelerated lol_sincos() and lol_tan().
il y a 13 ans
Sam Hocevar
5be195a8b0
core: slightly reorganise Taylor series in sin() and cos().
il y a 13 ans
Sam Hocevar
49f9c59ff3
core: implement accelerated cos().
il y a 13 ans
Sam Hocevar
a65c472ffd
core: add a code shortcut for sin() on platforms that have cheap branches.
il y a 13 ans
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.
il y a 13 ans
Sam Hocevar
6ed53d9868
test: do the trigonometry tests on doubles instead of floats.
il y a 13 ans
Sam Hocevar
35454b8f94
test: add an empty sandbox program and update .gitignore.
il y a 13 ans
Sam Hocevar
3402db36c3
optim: better isnan() reimplementation.
il y a 13 ans
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.
il y a 13 ans
Sam Hocevar
de496b15fe
core: remove one multiplication and one selection from the optimised
version of sinf().
il y a 13 ans
Sam Hocevar
105485a3aa
test: new test for trigonometric functions.
il y a 13 ans