Sam Hocevar
|
4a16c072f2
|
core: new combinations of integer vectors (unsigned, 8-bit, etc.), dot and
cross product, normalize, etc.
|
13 years ago |
Sam Hocevar
|
8deb365040
|
core: write a generic application class.
|
13 years ago |
Sam Hocevar
|
6767dae741
|
core: disallow casting eg. a vec3 into a vec2. Use the xy() getter instead.
|
13 years ago |
Sam Hocevar
|
94160c461c
|
test: minor fixes to the test suite: disable optimisation tests in debug
mode, and do not call "new" when we’re not sure "delete" can be called.
|
13 years ago |
Sam Hocevar
|
7af192f529
|
test: minor Remez algorithm tests.
|
13 years ago |
Sam Hocevar
|
4041166c56
|
core: improve sin() and exp() performance by replacing divisions with
multiplications where appropriate.
|
13 years ago |
Sam Hocevar
|
2235e9c180
|
core: implement real methods cbrt(), log2(), exp2(), and copysign().
|
13 years ago |
Sam Hocevar
|
5d9167bda0
|
core: fix an accuracy error in real::re() and real::sqrt() introduced in
the 16-to-32-bit refactoring.
|
13 years ago |
Sam Hocevar
|
79a15eafd8
|
test: random useless crap.
|
13 years ago |
Sam Hocevar
|
1d0797efa5
|
test: various improvements to the Remez exchange solver.
|
13 years ago |
Sam Hocevar
|
bfb5de1681
|
test: more Remez exchange experimentations.
|
13 years ago |
Sam Hocevar
|
3391a4c904
|
test: more Remez exchange experimentations.
|
13 years ago |
Sam Hocevar
|
2ff9183c8c
|
test: allow to perform Remez solving on an arbitrary range.
|
13 years ago |
Sam Hocevar
|
57510be2b0
|
test: some refactoring in the Remez solver to prepare multiple function
solving.
|
13 years ago |
Sam Hocevar
|
7aac9df337
|
test: add missing <cstdio> include in pi test program.
|
13 years ago |
Sam Hocevar
|
6b80bc9d09
|
test: use namespace "std" to avoid PS3 build errors.
|
13 years ago |
Sam Hocevar
|
123f903065
|
test: add support for relative error in the Remez exchange test program.
|
13 years ago |
Sam Hocevar
|
c5c4913bda
|
core: implement round() and fmod() for real numbers.
|
13 years ago |
Sam Hocevar
|
064856b443
|
core: implement floor() and ceil() for real numbers.
|
13 years ago |
Sam Hocevar
|
221f469c3f
|
core: implement asin() and acos() for real numbers and add unit tests for
these functions.
|
13 years ago |
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.
|
13 years ago |
Sam Hocevar
|
1ffa994f4b
|
core: add boolean operators on real numbers, add unit tests for that,
and simplify the Remez code accordingly.
|
13 years ago |
Sam Hocevar
|
6d85192ee6
|
test: minor updates to the Pi program (now almost deprecated) and the
Remez exchange program.
|
13 years ago |
Sam Hocevar
|
4822f02d8d
|
core: implement shift operators for reals; they're useful for fast
multiplications by integers, especially powers of two.
|
13 years ago |
Sam Hocevar
|
93162ee19b
|
test: the Remez algorithm is now almost functional.
|
13 years ago |
Sam Hocevar
|
afd2cfd69d
|
test: more work on the Remez exchange algorithm.
|
13 years ago |
Sam Hocevar
|
b7a1270b9a
|
test: start working on a Remez exchange algorithm implementation so that
we can create our own high-precision polynomial approximations.
|
13 years ago |
Sam Hocevar
|
ff45d2ac98
|
test: add a 10-line example program that computes Pi to the 150th digit.
|
13 years ago |
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.
|
13 years ago |
Sam Hocevar
|
56511457d2
|
test: give more explicit names to unit test cases.
|
13 years ago |
Sam Hocevar
|
48bde6fa94
|
test: add simple unit tests for image loading.
|
13 years ago |
Sam Hocevar
|
fde544911b
|
core: new benchmark snippet for operations on reals.
|
13 years ago |
Sam Hocevar
|
cdc155c42b
|
core: allow to cast reals to doubles in addition to floats.
|
13 years ago |
Sam Hocevar
|
325ea94821
|
core: implement division of reals and change their default precision
to 32 bigits.
|
13 years ago |
Sam Hocevar
|
93479c2876
|
core: implement real subtraction.
|
13 years ago |
Sam Hocevar
|
a173e49ddc
|
core: implement comparison operators for reals.
|
13 years ago |
Sam Hocevar
|
48f00deff9
|
core: fix real unary minus and handle negative numbers in additions.
|
13 years ago |
Sam Hocevar
|
884978c71b
|
core: handle zero, negative zero and infinite in the real constructor,
and add a test suite check for unary minus.
|
13 years ago |
Sam Hocevar
|
dbb0463f4c
|
core: start working on the extended floating point addition.
|
13 years ago |
Sam Hocevar
|
202ac6aaf3
|
core: switch real mantissa to uint16_t instead of uint32_t to ease the
multiplication.
|
13 years ago |
Sam Hocevar
|
5aedae49a3
|
core: add missing real.cpp unit test.
|
13 years ago |
Sam Hocevar
|
5fc298964b
|
core: start working on a "real" class for arbitrarily sized floats.
|
13 years ago |
Sam Hocevar
|
cc2bdf0b01
|
test: fix the benchmark suite compilation on SNC.
|
13 years ago |
Sam Hocevar
|
abbf9ba44c
|
build: fix a shitload of build errors introduced by the Image refactoring
and the OS X port.
|
13 years ago |
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 years ago |
Sam Hocevar
|
489389abbe
|
build: better clean rule for the test directory.
|
13 years ago |
Sam Hocevar
|
160102ba03
|
build: new lol-build script for easier autobuilds.
|
13 years ago |
Sam Hocevar
|
5081f7034a
|
test: reorganise test suite and benchmark code.
|
13 years ago |
Sam Hocevar
|
170050501f
|
test: add unit tests to check whether the build environment behaved as
expected.
|
13 years ago |
Sam Hocevar
|
04c4a959cd
|
core: add our custom isnan() macro to the core headers.
|
13 years ago |