Sam Hocevar
|
123f903065
|
test: add support for relative error in the Remez exchange test program.
|
13 years ago |
Sam Hocevar
|
b7fa88e210
|
real: constrain sin() and cos() on real numbers so that they work properly
with large values. Until now they were evaluating the Taylor series even
for huge values.
|
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
|
d9cb8f2961
|
core: fix an accuracy error in sqrt() for arguments < 1.0.
|
13 years ago |
Sam Hocevar
|
f5019d3930
|
core: implement atan() for real numbers.
|
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
|
8f400b6364
|
core: create global real number variables such as R_E, R_PI, R_LN2 etc.
|
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
|
ab03cdb118
|
core: improve exp() on reals: faster (constant time) and a lot more
accurate.
|
13 years ago |
Sam Hocevar
|
f62946fc7b
|
core: implement log() for real numbers, and start documenting our next
improved implementation of exp(), which relies on log().
|
13 years ago |
Sam Hocevar
|
93162ee19b
|
test: the Remez algorithm is now almost functional.
|
13 years ago |
Sam Hocevar
|
593aa3af70
|
core: implement sin(), cos() and abs() for reals and fix a crash in the
addition and subtraction operators occurring when exponents were too
different.
|
13 years ago |
Sam Hocevar
|
afd2cfd69d
|
test: more work on the Remez exchange algorithm.
|
13 years ago |
Sam Hocevar
|
c0edb49ed6
|
core: add exp() for real numbers and fix the == operator.
|
13 years ago |
Sam Hocevar
|
908b2b3b95
|
real: fix a bug in the real number multiplication when one of the arguments
is zero.
|
13 years ago |
Sam Hocevar
|
02bcc443f6
|
core: add sqrt() for real numbers.
|
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
|
58ee1d5b81
|
core: add operators +=, *= etc. to the real class, and refactor the
print() method so that it displays decimal values.
|
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
|
fbdec834dd
|
image: add a GDI+ loader.
|
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
|
5521b9fd01
|
build: start adding Xbox 360 configuration settings to the VS projects.
|
13 years ago |
Sam Hocevar
|
5aedae49a3
|
core: add missing real.cpp unit test.
|
13 years ago |
Sam Hocevar
|
1d9507baae
|
core: remove spurious dependency between androidapp.cpp and monsterz.
|
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
|
fe0d76cede
|
build: fix PS3 and Android build; it was broken since the ImageData refactor.
|
13 years ago |
Sam Hocevar
|
a59f2efb07
|
build: bring the iOS port up to date by synchronising new source file
names with the project file.
|
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
|
356917292d
|
osx: link with the proper OpenGL libraries on OS X.
|
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
|
11dce0c620
|
ios: rename iOS image loader to .mm.
|
13 years ago |
Sam Hocevar
|
bcea65d273
|
core: remove calls to exit() in image loaders since they can now report
on errors.
|
13 years ago |
Sam Hocevar
|
c61ae1ffa7
|
core: implement dynamic registration of image loaders.
|
13 years ago |
Sam Hocevar
|
73e9bfdd90
|
build: fix GLEW usage to use <glew.h>, not <GL/glew.h>.
|
13 years ago |