Sam Hocevar
b660d52e61
build: update build files and add external git submodule.
8 lat temu
Sam Hocevar
ba0e467a2e
build: rename liblolcore to liblol-core, etc.
8 lat temu
Sam Hocevar
2f66dcc33f
Switch PEGTL external to latest Git snapshot.
8 lat temu
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 lat temu
Sam Hocevar
78c33c6fbc
zepto8: new project.
For now, all it can do is read and decompress .p8.png files.
8 lat temu
Sam Hocevar
d84605c105
Remove Xbox 360 support, too much stuff no longer compiles.
9 lat temu
Sam Hocevar
fd25e64d5c
lolunit: explicitly cast lolunit_assert_doubles_equal() arguments to double.
9 lat temu
Sam Hocevar
45b792cc8e
test: refactor some stuff in the unit tests because I like it better that way.
9 lat temu
Sam Hocevar
7166760eaf
math: add a new sqt type for scale/rotation/translation transforms.
9 lat temu
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 lat temu
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 lat temu
Benjamin ‘Touky’ Huet
a8642c05c2
small buildfix in lolunit
9 lat temu
Sam Hocevar
af3ca562b9
lolremez: fix wrong argument parsing and improve error messages.
9 lat temu
Sam Hocevar
24cbf425c2
lolunit: unit tests now display a meaningful report in Visual Studio.
9 lat temu
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 lat temu
Sam Hocevar
4e76c6e708
lolremez: shorter code in the expression parser.
10 lat temu
Sam Hocevar
29d65231f3
lolremez: add thread workers for slightly faster convergence.
10 lat temu
Sam Hocevar
288bec4312
lolremez: add more timing information for the linear system solving.
10 lat temu
Sam Hocevar
a07844682e
build: remove dead PS3 code.
10 lat temu
Sam Hocevar
5f953f40ad
lolremez: various tweaks.
10 lat temu
Sam Hocevar
a46354472d
lolremez: add abs() function, implement full high-precision floating
point parsing, add support for unary plus and minus.
10 lat temu
Sam Hocevar
d3a775738d
lolremez: use successive parabolic interpolation for extrema search.
10 lat temu
Sam Hocevar
19727c3ddf
lolremez: tweak code so that it builds on Windows (remove unsupported C++/Unix features).
10 lat temu
Sam Hocevar
afc62a5399
lolremez: useless refactoring.
10 lat temu
Sam Hocevar
0e71596def
lolremez: greatly improve root search times by using simple regula falsi.
10 lat temu
Sam Hocevar
50c2b4b46e
lolremez: allow spaces in arithmetic expressions.
10 lat temu
Sam Hocevar
506b0e21e1
lolremez: implement a mathematical expression evaluator.
10 lat temu
Sam Hocevar
d812101ae5
math: add vec5, vec6, etc. types up to 12 for convenience.
10 lat temu
Sam Hocevar
364014c6e7
lolremez: minor cosmetic changes and comments.
10 lat temu
Sam Hocevar
0522730f12
lolremez: use array2d for the linear system solver.
10 lat temu
Sam Hocevar
da26809df9
lolremez: use the polynomial composition provided by the engine.
10 lat temu
Sam Hocevar
d34f0e2991
lolremez: simplify the Remez solver by using our new polynomial class.
10 lat temu
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 lat temu
Sam Hocevar
cd988786b9
build: reorganise includes so that we can use precompiled headers later.
10 lat temu
Sam Hocevar
6b64e2c337
lolunit: switch assert macros to lowercase.
10 lat temu
Sam Hocevar
cadc4d18b0
test: move the unit tests to the engine, and lolunit out of the engine.
10 lat temu
Sam Hocevar
7cf72fd16e
base: add a simple tuple implementation.
10 lat temu
Sam Hocevar
5dc05d7f3e
build: remove empty directories and add proper svn:ignore flags.
10 lat temu
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 lat temu
Sam Hocevar
31738409d9
math: add shortcuts and syntax colouring for mat3x4, mat3x2, etc.
10 lat temu
Sam Hocevar
fe665f85b4
base: strip core.h from its contents and put it in public/private headers.
10 lat temu
Sam Hocevar
398ee1b4d5
base: use lol::array in most places.
10 lat temu
Sam Hocevar
7e9f926c43
base: switch map, hash, array2d and array3d to lowercase, like standard
C++ containers.
10 lat temu
Sam Hocevar
d982b67aaa
image: add methods to save images and a small test program.
10 lat temu
Sam Hocevar
76740f77bc
math: remove some vector constants that were a bit too specific.
10 lat temu
Sam Hocevar
2c2ea82f8f
vimlol: add "UNUSED" and "ASSERT" to our list of keywords.
10 lat temu
Sam Hocevar
8b2439f127
vimlol: highlight our maths constants F_PI, D_PI etc. in vim.
10 lat temu
Benlitz
246af694d8
removed vs2010 solution, migrated all projects to 2012. VsLol stays on 2010 for compatibility and now has its own sln.
11 lat temu
Sam Hocevar
8e732627d2
lolremez: add missing matrix.h implementation.
11 lat temu
Sam Hocevar
d0ebacf545
lolremez: simplify the solver class.
11 lat temu