Sam Hocevar
d5c665e27e
Fix a bug in the real * int op that prevented an optimisation.
пре 7 година
Sam Hocevar
74f174b6d7
Implement real::is_zero and a few others for code clarity.
пре 7 година
Sam Hocevar
c7c34312fe
Handle real::DEFAULT_BIGIT_COUNT changes a bit better.
Most operators do not yet handle reals of different sizes, but
this change fixes the most glaring bugs.
пре 7 година
Sam Hocevar
359c6fc4c4
Make the real number size a global variable (yuck).
пре 7 година
Sam Hocevar
a57b9f859a
Merge branch 'real_refactor'
пре 7 година
Sam Hocevar
c7fa8939f5
Fix a few build issues when features are disabled.
пре 7 година
Sam Hocevar
74fc7c1f58
Fix real construction from long doubles.
It was hard to avoid some of the compiler optimisations caused by our
intermediate conversion to double, so we hide them behind the actual
real object. Also, this commit fixes a potential exponent overflow.
пре 7 година
Sam Hocevar
8ffc3ccae2
Fix issues in real::sqrt() and other methods.
Now that the exponent is no longer biased, it is a signed number, and we
need to account for that when dividing it and expecting rounding rules to
behave in a certain way.
пре 7 година
Sam Hocevar
1c27691ef9
Temporary fix for real::sqrt() which I broke recently.
пре 7 година
Sam Hocevar
dd140fd9e1
Refactor real numbers so that they can have a dynamic size.
Some checks are failing, I probably messed up several functions.
пре 7 година
Sam Hocevar
783fdbab98
Implement Franke’s function and Matlab’s peaks for reals.
пре 7 година
Sam Hocevar
5bd042ce01
Implement split() for std::string.
This is the beginning of the removal of lol::String which is not really
useful once all its tiny utility functions are implemented for std::string.
пре 7 година
Sam Hocevar
0239617197
Various compilation and warning fixes.
пре 7 година
Sam Hocevar
845d3878ff
Fix compilation of sprite sample.
пре 7 година
Sam Hocevar
1db2c5ca0f
Allow ! and bool operators on polynomials.
This allows us to manipulate polynomials of polynomials. Not sure why yet,
but it could be useful to implement 2-variable polynomials.
пре 7 година
Sam Hocevar
44e39867b1
Fix approximately 80 billion compilation warnings.
пре 7 година
Sam Hocevar
03b00d6f24
Mingw64 compilation fixes.
пре 7 година
Sam Hocevar
ff0ff83d98
Update EXTRA_DIST in several makefiles.
пре 7 година
Sam Hocevar
29b41d9c08
Fix typo in nodiscard attribute feature detection.
пре 7 година
Sam Hocevar
a94e477f7f
Parse build.config in configure.ac.
This gives us a reasonably cross-platform way to to build options. Works
well with LolRemez, where we no longer depend on GUI libraries.
пре 7 година
Sam Hocevar
2c671158a1
If SDL is disabled on Windows, build a console application.
пре 7 година
Sam Hocevar
7e17bd8a8d
Exclude SDL source files from .vcxproj if enable_sdl is "no".
пре 7 година
Sam Hocevar
c6daf5be39
Refactor the msbuild feature selection mechanism.
Rename config-build.xml to build.config, move it to the root directory,
and add MSBuild flags for SDL, FFmpeg (unused yet) and OpenGL.
пре 7 година
Sam Hocevar
3e26164dc9
Add --enable-png configure flag.
пре 7 година
Sam Hocevar
5b21579db4
Add --disable-opengl flag.
This flag disables GL, GLES, but also Glew and EGL libraries.
пре 7 година
Sam Hocevar
fcd72f408f
Allow master projects to disable features.
When built as a subproject, we need the master to decide what features
to activate or not. This could lead to reduced dependences.
This patch also allows to build without imlib2.
пре 7 година
Sam Hocevar
4e313aa810
Fix unused variable warnings in the polynomial code.
пре 7 година
Sam Hocevar
7be150b0e4
Allow to build without SDL or ffmpeg.
Linux-only for now. This will be necessary for projects that do not
actually use the rendering engine, such as LolRemez.
пре 7 година
Sam Hocevar
2df8762d47
Migrate to Visual Studio 2017.
пре 7 година
Sam Hocevar
fe99aca67d
Use [[nodiscard]] in a lot of places.
This will let us detect problems with unused return values. For instance,
if you don’t remember that normalize(q) returns a pointer and expect it
to modify the object, you’ll get this warning:
warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result]
quat q(1,2,3,4); normalize(q);
^~~~~~~~~ ~
пре 7 година
Sam Hocevar
9981cf4ce9
Make some AVL tree code less verbose.
пре 7 година
Sam Hocevar
c86f703dcf
Some Windows compilation fixes + support for [[nodiscard]].
пре 7 година
Sam Hocevar
b9effc8977
Fix erratic indentation and file encoding.
пре 7 година
Sam Hocevar
9bdb67a51a
Fix source file encoding.
пре 7 година
Sam Hocevar
aca1660e1e
Disable debug messages by default and downgrade a few messages.
From now on, msg::debug will not display anything, unless this is a debug
build, or the LOL_DEBUG environment variable is set.
пре 7 година
Sam Hocevar
1733d0ffd8
math: tweak the real number printing routine.
By adding a bias we ensure that 1.999… will be displayed as 2.0 as long as we
do not ask for too many digits, and that rounding is reasonable for most values.
Note that our need for proper rounding is not as high as for IEEE floats since
we have an insane amount of digits at our disposal.
Also we now get rid of trailing zeroes when printing reals.
пре 7 година
Sam Hocevar
17db5be5c8
math: remove some hardcoded stuff from the real numbers implementation.
пре 7 година
Sam Hocevar
df7454b36a
math: add real::R_MIN and real::R_MAX and get rid of real::ulp().
пре 7 година
Sam Hocevar
60ee86f908
ufiodsfiodsifods
пре 7 година
Sam Hocevar
f9058a384d
3rdparty: upgrade PEGTL to its latest version (2.1.4 or something).
пре 7 година
Sam Hocevar
7e69ef4cfa
build: fix bluenoise.cpp compilation.
пре 7 година
Sam Hocevar
5d62baaaae
math: parse hexadecimal reals as per C standard, 6.4.4.2.
пре 7 година
Sam Hocevar
7b9d98109b
math: use exponentiation by squaring for real::pow().
пре 7 година
Sam Hocevar
2e696e7b32
build: fix compilation on MSYS2 when glew is not available. Fixes #8 .
пре 7 година
Sam Hocevar
8f3f1736d8
build: fix multiple definition of EXTRA_DIST.
пре 7 година
Sam Hocevar
ee622b762f
build: add several missing distributed files for Windows versions.
пре 7 година
Sam Hocevar
26e60e45fc
getopt: fix an assert triggered in the Windows runtime.
пре 7 година
Sam Hocevar
7b2f3bdcfb
samples: add blue noise generation demo.
пре 7 година
Sam Hocevar
e38a7e7c22
tools: remove lolremez.
It will now be available at https://github.com/samhocevar/lolremez
пре 7 година
Sam Hocevar
c6374c7e07
movie: replace the old Movie class with a GIF encoder.
пре 7 година