mathr / blog / #

Kalles Fraktaler with GMP

BEGIN UPDATE I made a page about this Kalles Fraktaler 2 + GMP project. Fresh binary with bugfixes as of 2017-04-06! END UPDATE

Back at the end of 2014 I wrote some little programs to manipulate the output from Kalles Fraktaler: kf-extras. At that time I had tried to compile the source code on Linux, but failed miserably. More recently I tried again, and was finally successful. I then set about making some improvements, chief among which is using GMP (or optionally MPFR) for the high precision computations, instead of the original homebrew implementation. I used the Boost wrappers for C++. The advantage is a very significant speed boost from those libraries' optimized implementations.

My forked source is available, in the claude-gmp branch:

git clone https://code.mathr.co.uk/kalles-fraktaler-2.git
cd kalles-fraktaler-2
git checkout claude-gmp

There are 64bit Windows binaries available too (which work fine in WINE), cross-compiled from Debian using MINGW (the first one, updated to fix a crasher bug in today's first version, is probably the one you want, unless you're testing for regressions):

2.11.1+gmp.20170330.1 (sig)
2.11.1+gmp.20170330 (sig)
2.11.1+gmp.20170313 (sig)
2.11.1+gmp.20170307 (sig)
2.9.3+gmp.20170307 (sig)

Significant differences from upstream (apart from the GMP support) are:

  • make-based build system for MINGW g++;
  • various C++ fixes to make g++ happy;
  • long double support built-in instead of separate DLL;
  • zoom depth limited only by the system memory needed to store very high precision numbers (GMP has a limit too but it is unlikely to be reached).

Support is available via FractalForums, or send me an email.