Sam Hocevar
ba0e467a2e
build: rename liblolcore to liblol-core, etc.
8 anni fa
Sam Hocevar
2f66dcc33f
Switch PEGTL external to latest Git snapshot.
8 anni fa
Sam Hocevar
6a6ecc66e9
Port all parsers to PEGTL 1.3.1.
There might be issues with lolremez but at first sight it seems to work.
8 anni fa
Sam Hocevar
78c33c6fbc
zepto8: new project.
For now, all it can do is read and decompress .p8.png files.
8 anni fa
Sam Hocevar
d84605c105
Remove Xbox 360 support, too much stuff no longer compiles.
9 anni fa
Sam Hocevar
fd25e64d5c
lolunit: explicitly cast lolunit_assert_doubles_equal() arguments to double.
9 anni fa
Sam Hocevar
45b792cc8e
test: refactor some stuff in the unit tests because I like it better that way.
9 anni fa
Sam Hocevar
7166760eaf
math: add a new sqt type for scale/rotation/translation transforms.
9 anni fa
Sam Hocevar
ccf5f53825
misc: various mingw cross-compilation fixes.
Add mingw-std-threads project to external/ for full C++11 thread support, fix
an incorrect Win32 fix I did in PEGTL, work around mingw’s <io.h> declaring a
conflicting eof symbol, and fix a capitalisation error in log.cpp.
9 anni fa
Sam Hocevar
03c17fcae4
base: clean up and refactor containers.
The containers no longer force the user to use the ptrdiff_t type for
size information. For convenience, size() now always returns an int,
and the size_s() method offers a way to handle arrays with more than
2 billion elements. Internally, we still use ptrdiff_t, though.
Since so much code had to be changed, I took the opportunity to get
rid of capitalised accessors for classes that are lowercase.
9 anni fa
Benjamin ‘Touky’ Huet
a8642c05c2
small buildfix in lolunit
9 anni fa
Sam Hocevar
af3ca562b9
lolremez: fix wrong argument parsing and improve error messages.
9 anni fa
Sam Hocevar
24cbf425c2
lolunit: unit tests now display a meaningful report in Visual Studio.
9 anni fa
Sam Hocevar
f791b672ed
misc: lots of compilation fixes for Visual Studio (related to mediocre
support for enable_if and other template metaprogramming techniques),
for Clang (related to static const template class member initialisation)
and for GCC (related to forward declaration of non-int enum classes).
9 anni fa
Sam Hocevar
4e76c6e708
lolremez: shorter code in the expression parser.
10 anni fa
Sam Hocevar
29d65231f3
lolremez: add thread workers for slightly faster convergence.
10 anni fa
Sam Hocevar
288bec4312
lolremez: add more timing information for the linear system solving.
10 anni fa
Sam Hocevar
a07844682e
build: remove dead PS3 code.
10 anni fa
Sam Hocevar
5f953f40ad
lolremez: various tweaks.
10 anni fa
Sam Hocevar
a46354472d
lolremez: add abs() function, implement full high-precision floating
point parsing, add support for unary plus and minus.
10 anni fa
Sam Hocevar
d3a775738d
lolremez: use successive parabolic interpolation for extrema search.
10 anni fa
Sam Hocevar
19727c3ddf
lolremez: tweak code so that it builds on Windows (remove unsupported C++/Unix features).
10 anni fa
Sam Hocevar
afc62a5399
lolremez: useless refactoring.
10 anni fa
Sam Hocevar
0e71596def
lolremez: greatly improve root search times by using simple regula falsi.
10 anni fa
Sam Hocevar
50c2b4b46e
lolremez: allow spaces in arithmetic expressions.
10 anni fa
Sam Hocevar
506b0e21e1
lolremez: implement a mathematical expression evaluator.
10 anni fa
Sam Hocevar
d812101ae5
math: add vec5, vec6, etc. types up to 12 for convenience.
10 anni fa
Sam Hocevar
364014c6e7
lolremez: minor cosmetic changes and comments.
10 anni fa
Sam Hocevar
0522730f12
lolremez: use array2d for the linear system solver.
10 anni fa
Sam Hocevar
da26809df9
lolremez: use the polynomial composition provided by the engine.
10 anni fa
Sam Hocevar
d34f0e2991
lolremez: simplify the Remez solver by using our new polynomial class.
10 anni fa
Sam Hocevar
d373081b80
build: use #pragma once instead of header guards because 1) fuck the dinosaurs,
and 2) fuck the Visual Studio compiler that crashes when confused.
10 anni fa
Sam Hocevar
cd988786b9
build: reorganise includes so that we can use precompiled headers later.
10 anni fa
Sam Hocevar
6b64e2c337
lolunit: switch assert macros to lowercase.
10 anni fa
Sam Hocevar
cadc4d18b0
test: move the unit tests to the engine, and lolunit out of the engine.
10 anni fa
Sam Hocevar
7cf72fd16e
base: add a simple tuple implementation.
10 anni fa
Sam Hocevar
5dc05d7f3e
build: remove empty directories and add proper svn:ignore flags.
10 anni fa
Sam Hocevar
7a28671dee
math: get rid of the base_vec* classes (thanks to relaxed unions), rename
MASK to SWIZZLE in the vector templates, rename matrix<> to mat<> for
consistency, implement transposition for all matrix sizes, make matrix
columns private and only accessible through operator[].
10 anni fa
Sam Hocevar
31738409d9
math: add shortcuts and syntax colouring for mat3x4, mat3x2, etc.
10 anni fa
Sam Hocevar
fe665f85b4
base: strip core.h from its contents and put it in public/private headers.
10 anni fa
Sam Hocevar
398ee1b4d5
base: use lol::array in most places.
10 anni fa
Sam Hocevar
7e9f926c43
base: switch map, hash, array2d and array3d to lowercase, like standard
C++ containers.
10 anni fa
Sam Hocevar
d982b67aaa
image: add methods to save images and a small test program.
10 anni fa
Sam Hocevar
76740f77bc
math: remove some vector constants that were a bit too specific.
10 anni fa
Sam Hocevar
2c2ea82f8f
vimlol: add "UNUSED" and "ASSERT" to our list of keywords.
10 anni fa
Sam Hocevar
8b2439f127
vimlol: highlight our maths constants F_PI, D_PI etc. in vim.
10 anni fa
Benlitz
246af694d8
removed vs2010 solution, migrated all projects to 2012. VsLol stays on 2010 for compatibility and now has its own sln.
11 anni fa
Sam Hocevar
8e732627d2
lolremez: add missing matrix.h implementation.
11 anni fa
Sam Hocevar
d0ebacf545
lolremez: simplify the solver class.
11 anni fa
Sam Hocevar
90706c8d44
lolremez: move some LolRemez matrix functions out of the engine.
11 anni fa