Fractals/mandelbrot-symbolics

Libraries by Claude Heiland-Allen
 * exrtact various tools to manipulate EXR images compare with OpenExr
 * kf-extras programs for manipulating output from Kalles Fraktaler 2
 * mandelbrot-numerics - numerical algorithms related to the Mandelbrot set
 * mandelbrot-graphics - CPU-based visualisation of the Mandelbrot set
 * mandelbrot-text - 	parsing and pretty printing related to the Mandelbrot set
 * Dictionary

=Install= "you need to "make install" mandelbrot-symbolics lib before trying anything with mandelbrot-numerics"

Dependencies

 * pkg-config
 * math
 * gmp
 * mpfr
 * mpc
 * pari
 * ghci : sudo apt-get install haskell-platform

pkg-config --version

gcc -shared -ggdb -std=c99 -Wall -Wextra -pedantic -fPIC -O3 -pipe -ggdb -MMD -I../include -c  -lpari -lmpc -lmpfr -lgmp -lm

clone
git clone https://code.mathr.co.uk/mandelbrot-symbolics.git

next
To install library to local prefix ~/opt/lib ~/opt/bin and so on:

then to run do:

export LD_LIBRARY_PATH=${HOME}/opt/lib

check :

echo $LD_LIBRARY_PATH

result :

/home/a/opt/lib

or

export PATH=${HOME}/opt/bin:${PATH}

check :

echo $PATH

then the programs can be run like

m-binangle-from-rational 1/2

no manual path specification necessary

To set it permanently change file .profile

sudo gedit ~/.profile

git
From console opened in the mandelbrot-numerics directory :

git pull

If you made some local changes you can undu them :

git checkout -f

then

git pull

Now install again

=How to use=

binaries

 * m-binangle-to-rational
 * m-binangle-from-rational
 * m-tipsy
 * m-conjugate

m-binangle-from-rational
from console :

m-binangle-from-rational 1/2

result .1(0)

m-binangle-from-rational 7/96 .00010(01)

m-binangle-from-rational 33877456965431938318210482471113262183356704085033125021829876006886584214655562/237142198758023568227473377297792835283496928595231875152809132048206089502588927 .(001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001010)

m-binangle-to-rational
from console ./m-binangle-to-rational ".(001)"

result :

1/7

Note that the input format isn't checked, so bad input can give bad output !

Examples :

./m-binangle-to-rational

gives nothing:
 * no output
 * no errors

./m-binangle-to-rational 0.(001001001001001001001001001001001001001001001001001001001001001001001001010)

gives bash error :

bash: błąd składni przy nieoczekiwanym znaczniku `('

./m-binangle-to-rational "0.(001001001001001001001001001001001001001001001001001001001001001001001001010)"

gives floating point error

Błąd w obliczeniach zmiennoprzecinkowych

./m-binangle-to-rational ".(001001001001001001001001001001001001001001001001001001001001001001001001010)"

Result:

5396990266136737387082/37778931862957161709567

./m-binangle-to-rational ".(001001001001001001001001001001001001001001001001001001001001001001001010001)" 5396990266136737387089/37778931862957161709567

Bugs :
 * "bug in the parsing of binary angles, it doesn't check for valid input, and bad input can give garbage values. "

=www=
 * http://mathr.co.uk/blog/2016-03-14_mandelbrot_symbolics_in_the_browser.html

=Code=
 * original repository
 * fork repo