Sam Hocevar
04c4a959cd
core: add our custom isnan() macro to the core headers.
il y a 13 ans
Sam Hocevar
5a5b811200
lolunit: rename a few methods for consistency.
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
00b8d5c28d
test: improve matrix and vector uni tests.
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
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
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
5454005d81
debug: various improvements to the test programs.
il y a 13 ans
Sam Hocevar
9eeef663d1
debug: add point sprite examples.
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
49f9c59ff3
core: implement accelerated cos().
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
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
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.
il y a 13 ans
Sam Hocevar
744f4ac98d
test: add benchmark tests for trigonometry functions.
il y a 13 ans
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.
il y a 13 ans
Sam Hocevar
782283a3d0
test: add matrix code to the benchmark program.
il y a 13 ans
Sam Hocevar
cb001ddbcc
core: tune the half precision code so that the best variants are being
used on the PS3 platform.
il y a 13 ans
Sam Hocevar
aa6e832fd7
build: clean up .self files and allow to build the benchmark on the PS3.
il y a 13 ans
Sam Hocevar
e47928e8d1
test: improve the benchmark code to measure a lot more half precision
number conversions.
il y a 13 ans
Sam Hocevar
0bbd1e43c2
test: add a fallback for isnan() when not defined by the system includes.
il y a 13 ans
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...).
il y a 13 ans
Sam Hocevar
2d85e76ec8
core: minor refactoring in the float / half conversions to accomodate
for future array versions.
il y a 13 ans
Sam Hocevar
8b71ddb30c
core: implement new half / float operations and the associated tests.
il y a 13 ans
Sam Hocevar
92e3387f7c
test: augment the half precision numbers testsuite.
il y a 13 ans
Sam Hocevar
4379388b52
test: add first test routines for the half class.
il y a 13 ans
Sam Hocevar
b111f7e3d8
core: move platform-specific code to specific directories.
il y a 13 ans
Sam Hocevar
6bbe943492
core: rename vec2i to ivec2 etc. to better match GLSL.
il y a 13 ans
Sam Hocevar
0328a6dfa3
test: add a unit test for the recent vector promotion problem.
il y a 13 ans
Sam Hocevar
30e697f7bd
test: start writing really minimalist GL rendering tests.
il y a 13 ans
Sam Hocevar
8eeeca422f
test: add a debug quad test application.
il y a 13 ans
Sam Hocevar
3213d5b7a5
core: add the unary minus operator to vectors.
il y a 13 ans
Sam Hocevar
7329692663
math: implement vector comparisons and add minimal unit tests for this
feature.
il y a 13 ans
Sam Hocevar
8848cf53db
Put everything in the "lol" namespace. Better late than never.
il y a 14 ans
Sam Hocevar
6405ef32ea
Get rid of float3, float4, int3 etc. in favour of GLSL types.
il y a 14 ans
Sam Hocevar
4b484d5bc8
Make the float4x4 constructor fill only the matrix's diagonal. Thus
the float4x4::identity() method is no longer necessary.
il y a 14 ans
Sam Hocevar
7015943141
Add matrix determinant and inverse methods.
il y a 14 ans
Sam Hocevar
da73635c64
Add an optional cppunit dependency for unit tests.
il y a 14 ans