josecelano / c-mandelbrot-arbitrary-precision

Proof of concept project about adding arbitrary precision math to Fractal generation software GNofract4D.
6 stars 3 forks source link
arbitrary-precision c c-language mandelbrot mandelbrot-fractal

Build Status

Mandelbrot in C language with arbitrary precision

This is a proof of concept project. The main goal is do some research in order to allow zooming further than limits of double-precision in the Fractal generation software Gnofract 4D. More details about the feature on:

Specific goals for this proof of concept are:

Installation

Install dependencies:

./bin/install_dependencies

Install app from source dir (after installing dependencies):

./bin/install

IMPORTANT!: installation is only tested for this Ubuntu version:

Distributor ID: Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:    18.04
Codename:   bionic

Run

Help:

./mandelbrot --help

You will see the list of options and arguments. And, for example, if you want to generate the full Mandelbrot Set in PPM format with color map "black on white":

./mandelbrot -prfy -- -2.0 -2.0 2.0 2.0 256 256 0 0

It generates a file in output folder with this name: mandelbrot-black-on-white-256x256.ppm

Generate samples:

./bin/samples/generate-all-samples.sh

This command generates one sample file in output folder for each color and ascii map available.

See more command samples in here.

Development

Requirements:

All commands use docker under the hood.

Setup:

./bin/dev-setup

Execute tests:

./bin/test

Compile and run:

./bin/compile && ./bin/dev-run

Documentation