sfXoaS - modified XaoS fractal zoomer

segfaultlabs.com » Projects » sfXaoS

About sfXaoS

sfXaoS became base code for offical XaoS 3.3 release


sfXaoS code has been also used in One Laptop per Child (OLPC) project, and it is available in OLPC's laptops. OLPC association is developing a low-cost laptops available for children all around the world


sfXaoS is our extended version of XaoS fractal zoom. Its based on XaoS source code in version 3.2.3. Extension to sfXaoS was made by adding our SFFE formula evaluator to official version. This gives us possibility to explore our own fractals

sfXaoS uses our own formula evaluator library called SFFE. For complex number math this library uses our asm implementation of complex number functions. But it can also use GSL complex math routines.

Current release is 1.2.1, main sfXaoS features

Compilation

Precompile steps:
Compile steps:

Release 1.2.1 tested (compiled with 100% success) with : Release 1.2 tested (compiled with 100% success) with : Release 1.1 tested (compiled with 100% success) with : Release 1.0.0 tested (compiled with 100% success) with :

Running

To run sfXaoS with your own formula check the examples below :

Available functions


Complex number functions available in user formulas are listed below:
basic operations
+,-,*,/
basic trigonometry
sin,cos,tan,cot asin,acos,atan,acot sinh,cosh,tanh,coth
Exponential and logarithmic functions
exp,log,log2,log10,
logN(base,z) - logarithm of base N (where N is integer)
logCN(base,z) - logarithm of base CN ( where CN is complex )

power functions
powi(z,int) - power with integer exponent (fastest)
powd(z,double) - power with real exponent
powdc(z,z) - power with complex exponent
pow - same as powd
sqr - square

square functions
sqrt - square root of complex number
rtni(z,n,i) - i-th solution for n-th order root

other functions
inv - inverse
abs - absolute values
re - real part
im - imaginary part
rand(max) - return random number in range [0,max)

Complex numbers are expected in format { Real; Imag }, inside brackets only numbers are valid.
eg. {3;2} defines complex number 3*2i

By default functions accept one parameter, if not list of parameters has been written.

In ASM build functions with specified type of parameter (eg. powi) can be faster than their altenatives.
For example :

powi(z;2)+c

is much faster than

powd(z;2)+c

Download

As sfXaoS became base code for offical XaoS 3.3 release, its sources can be obtained from XaoS sourceforge page

sfXaoS is also available in our public svn

svn co http://svn.segfaultlabs.com/sfXaoS


sfXaoS code history

TODO