Sam Hocevar
79a15eafd8
test: random useless crap.
pirms 13 gadiem
Sam Hocevar
1d0797efa5
test: various improvements to the Remez exchange solver.
pirms 13 gadiem
Sam Hocevar
bfb5de1681
test: more Remez exchange experimentations.
pirms 13 gadiem
Sam Hocevar
3391a4c904
test: more Remez exchange experimentations.
pirms 13 gadiem
Sam Hocevar
2ff9183c8c
test: allow to perform Remez solving on an arbitrary range.
pirms 13 gadiem
Sam Hocevar
57510be2b0
test: some refactoring in the Remez solver to prepare multiple function
solving.
pirms 13 gadiem
Sam Hocevar
7aac9df337
test: add missing <cstdio> include in pi test program.
pirms 13 gadiem
Sam Hocevar
6b80bc9d09
test: use namespace "std" to avoid PS3 build errors.
pirms 13 gadiem
Sam Hocevar
123f903065
test: add support for relative error in the Remez exchange test program.
pirms 13 gadiem
Sam Hocevar
c5c4913bda
core: implement round() and fmod() for real numbers.
pirms 13 gadiem
Sam Hocevar
064856b443
core: implement floor() and ceil() for real numbers.
pirms 13 gadiem
Sam Hocevar
221f469c3f
core: implement asin() and acos() for real numbers and add unit tests for
these functions.
pirms 13 gadiem
Sam Hocevar
bbd75b80eb
core: add real constants for 0, 1, 2 and 10, and reorder static constants
so that their initialisation order ensures they have the proper values. Add
unit tests for these constants.
pirms 13 gadiem
Sam Hocevar
1ffa994f4b
core: add boolean operators on real numbers, add unit tests for that,
and simplify the Remez code accordingly.
pirms 13 gadiem
Sam Hocevar
6d85192ee6
test: minor updates to the Pi program (now almost deprecated) and the
Remez exchange program.
pirms 13 gadiem
Sam Hocevar
4822f02d8d
core: implement shift operators for reals; they're useful for fast
multiplications by integers, especially powers of two.
pirms 13 gadiem
Sam Hocevar
93162ee19b
test: the Remez algorithm is now almost functional.
pirms 13 gadiem
Sam Hocevar
afd2cfd69d
test: more work on the Remez exchange algorithm.
pirms 13 gadiem
Sam Hocevar
b7a1270b9a
test: start working on a Remez exchange algorithm implementation so that
we can create our own high-precision polynomial approximations.
pirms 13 gadiem
Sam Hocevar
ff45d2ac98
test: add a 10-line example program that computes Pi to the 150th digit.
pirms 13 gadiem
Sam Hocevar
058d88232d
core: add rounding to real->double conversion, fix a bug in the addition
code shortcut, fix bugs in the addition and subtraction, another one in
the multiplication code, and add new unit tests for most of these.
pirms 13 gadiem
Sam Hocevar
56511457d2
test: give more explicit names to unit test cases.
pirms 13 gadiem
Sam Hocevar
48bde6fa94
test: add simple unit tests for image loading.
pirms 13 gadiem
Sam Hocevar
fde544911b
core: new benchmark snippet for operations on reals.
pirms 13 gadiem
Sam Hocevar
cdc155c42b
core: allow to cast reals to doubles in addition to floats.
pirms 13 gadiem
Sam Hocevar
325ea94821
core: implement division of reals and change their default precision
to 32 bigits.
pirms 13 gadiem
Sam Hocevar
93479c2876
core: implement real subtraction.
pirms 13 gadiem
Sam Hocevar
a173e49ddc
core: implement comparison operators for reals.
pirms 13 gadiem
Sam Hocevar
48f00deff9
core: fix real unary minus and handle negative numbers in additions.
pirms 13 gadiem
Sam Hocevar
884978c71b
core: handle zero, negative zero and infinite in the real constructor,
and add a test suite check for unary minus.
pirms 13 gadiem
Sam Hocevar
dbb0463f4c
core: start working on the extended floating point addition.
pirms 13 gadiem
Sam Hocevar
202ac6aaf3
core: switch real mantissa to uint16_t instead of uint32_t to ease the
multiplication.
pirms 13 gadiem
Sam Hocevar
5aedae49a3
core: add missing real.cpp unit test.
pirms 13 gadiem
Sam Hocevar
5fc298964b
core: start working on a "real" class for arbitrarily sized floats.
pirms 13 gadiem
Sam Hocevar
cc2bdf0b01
test: fix the benchmark suite compilation on SNC.
pirms 13 gadiem
Sam Hocevar
abbf9ba44c
build: fix a shitload of build errors introduced by the Image refactoring
and the OS X port.
pirms 13 gadiem
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.
pirms 13 gadiem
Sam Hocevar
489389abbe
build: better clean rule for the test directory.
pirms 13 gadiem
Sam Hocevar
160102ba03
build: new lol-build script for easier autobuilds.
pirms 13 gadiem
Sam Hocevar
5081f7034a
test: reorganise test suite and benchmark code.
pirms 13 gadiem
Sam Hocevar
170050501f
test: add unit tests to check whether the build environment behaved as
expected.
pirms 13 gadiem
Sam Hocevar
04c4a959cd
core: add our custom isnan() macro to the core headers.
pirms 13 gadiem
Sam Hocevar
5a5b811200
lolunit: rename a few methods for consistency.
pirms 13 gadiem
Sam Hocevar
75d8811c74
lolunit: rename test runner’s run() method to Run() for consistency.
pirms 13 gadiem
Sam Hocevar
00b8d5c28d
test: improve matrix and vector uni tests.
pirms 13 gadiem
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.
pirms 13 gadiem
Sam Hocevar
b64d051e6a
lolunit: free all the memory we allocated to avoid a minor memory leak,
and slightly tweak the API syntax.
pirms 13 gadiem
Sam Hocevar
5ab9eb3c62
test: get rid of the need for LOLUNIT_SETUP_FIXTURE().
pirms 13 gadiem
Sam Hocevar
579f77bded
test: make LolUnit's output match CppUnit's more closely.
pirms 13 gadiem
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.
pirms 13 gadiem