## Formula Language Reference

### Operators

NameDescriptionArgument TypesReturn Type
!= Inequality operator. Compare two values and return true if they are different. Int, Int Bool
Float, Float Bool
Complex, Complex Bool
Bool, Bool Bool
% Modulus operator. Computes the remainder when x is divided by y. Not to be confused with the complex modulus. Int, Int Int
Float, Float Float
&& Logical AND. Bool, Bool Bool
* Multiplication operator. Int, Int Int
Float, Float Float
Complex, Complex Complex
Hyper, Hyper Hyper
Hyper, Float Hyper
Color, Float Color
+ Adds two numbers together. Int, Int Int
Float, Float Float
Complex, Complex Complex
Hyper, Hyper Hyper
Color, Color Color
- Subtracts two numbers Int, Int Int
Float, Float Float
Complex, Complex Complex
Hyper, Hyper Hyper
Color, Color Color
/ Division operator Float, Float Float
Complex, Float Complex
Complex, Complex Complex
Hyper, Float Hyper
Color, Float Color
< Less-than operator. Compare two values and return true if the first is less than the second. Int, Int Bool
Float, Float Bool
Complex, Complex Bool
<= Less-than-or-equal operator. Compare two values and return true if the first is less than or equal to the second. Int, Int Bool
Float, Float Bool
Complex, Complex Bool
== Equality operator. Compare two values and return true if they are the same. Int, Int Bool
Float, Float Bool
Complex, Complex Bool
Bool, Bool Bool
> Greater-than operator. Compare two values and return true if the first is greater than the second. Int, Int Bool
Float, Float Bool
Complex, Complex Bool
>= Greater-than-or-equal operator. Compare two values and return true if the first is greater than or equal to the second. Int, Int Bool
Float, Float Bool
Complex, Complex Bool
^ Exponentiation operator. Computes x to the power y. Float, Float Float
Complex, Float Complex
Complex, Complex Complex
not Logical NOT. Bool Bool
|| Logical OR. Bool, Bool Bool

### Functions

NameDescriptionArgument TypesReturn Type
#rand Each time this is accessed, it returns a new pseudo-random complex number. This is primarily for backwards compatibility with Fractint formulas - use the random() function in new formulas. Complex
#random Each time this is accessed, it returns a new pseudo-random complex number. This is primarily for backwards compatibility with Fractint formulas - use the random() function in new formulas. Complex
@fn1 Predefined function parameter used by Fractint formulas Complex Complex
@fn2 Predefined function parameter used by Fractint formulas Complex Complex
@fn3 Predefined function parameter used by Fractint formulas Complex Complex
@fn4 Predefined function parameter used by Fractint formulas Complex Complex
abs The absolute value of a number. abs(3) = abs(-3) = 3. abs() of a complex number is a complex number consisting of the absolute values of the real and imaginary parts, i.e. abs(a,b) = (abs(a),abs(b)). Int Int
Float Float
Complex Complex
acos Inverse cosine function. Float Float
Complex Complex
Hyper Hyper
acosh Inverse hyperbolic cosine function. Float Float
Complex Complex
Hyper Hyper
alpha The alpha component of a color. Can be assigned to. Color Float
asin Inverse sine function. Float Float
Complex Complex
Hyper Hyper
asinh Inverse hyperbolic sine function. Float Float
Complex Complex
Hyper Hyper
atan Inverse tangent function. Float Float
Complex Complex
Hyper Hyper
atan2 The angle between this complex number and the real line, aka the complex argument. Complex Float
atanh Inverse hyperbolic tangent function. Float Float
Complex Complex
Hyper Hyper
blend Blend two colors together in the ratio given by the 3rd parameter. Color, Color, Float Color
blue The blue component of a color. Can be assigned to. Color Float
bool Construct a boolean. It's not really required (bool x = bool(true) is just the same as bool x = true) but is included for consistency. Bool Bool
cabs The complex modulus of a complex number z. cabs(a,b) is equivalent to sqrt(a*a+b*b). This is also the same as sqrt(|z|) Complex Float
ceil Round up to the next highest number. Float Int
Complex Complex
cmag The squared modulus of a complex or hypercomplex number z. cmag(a,b) is equivalent to a*a+b*b. This is the same as |z|. Complex Float
Hyper Float
color Constructs a new color from floating point red, green, blue and alpha components. Equivalent to rgba. Float, Float, Float, Float Color
complex Construct a complex number from two real parts. complex(a,b) is equivalent to (a,b). Float, Float Complex
compose Composite the second color on top of the first, with opacity given by the 3rd parameter. Color, Color, Float Color
conj The complex conjugate. conj(a,b) is equivalent to (a,-b). Complex Complex
Hyper Hyper
cos trigonometric sine function. Float Float
Complex Complex
Hyper Hyper
cosh Hyperbolic cosine function. Float Float
Complex Complex
Hyper Hyper
cosxx Incorrect version of cosine function. Provided for backwards compatibility with equivalent wrong function in Fractint. Complex Complex
Hyper Hyper
cotan Trigonometric cotangent function. Float Float
Complex Complex
Hyper Hyper
cotanh Hyperbolic cotangent function. Float Float
Complex Complex
Hyper Hyper
exp exp(x) is equivalent to e^x Float Float
Complex Complex
Hyper Hyper
flip Swap the real and imaginary parts of a complex number. flip(a,b) = (b,a). Complex Complex
Hyper Hyper
float Construct a floating-point number. Float Float
floor Round down to the next lowest number. Float Int
Complex Complex
fn1 Predefined function parameter used by Fractint formulas Complex Complex
fn2 Predefined function parameter used by Fractint formulas Complex Complex
fn3 Predefined function parameter used by Fractint formulas Complex Complex
fn4 Predefined function parameter used by Fractint formulas Complex Complex
green The green component of a color. Can be assigned to. Color Float
hsl Create a color from hue, saturation and lightness components. The alpha channel is set to to 1.0 (=100%). Float, Float, Float Color
hsla Create a color from hue, saturation and lightness components and an alpha channel. Float, Float, Float, Float Color
hsv Create a color from hue, saturation and value components. HSV is a similar color model to HSL but has a different valid range for brightness. Float, Float, Float Color
hue The hue of a color. Color Float
hyper Construct a hypercomplex number with a real and 3 imaginary parts. Can be passed either 2 complex numbers or 4 floating-point numbers. hyper(a,b,c,d) is equivalent to the shorthand (a,b,c,d). Float, Float, Float, Float Hyper
Complex, Complex Hyper
hyper_j The 3rd component of a hypercomplex number. Can be assigned to. hyper_j(a,b,c,d) = c. Hyper Float
hyper_jk The 3rd and 4th parts of a hypercomplex number. Can be assigned to. hyper_jk(a,b,c,d) = (c,d). Hyper Complex
hyper_k The 4th component of a hypercomplex number. Can be assigned to. hyper_k(a,b,c,d) = d. Hyper Float
hyper_ri The real and imaginary parts of a hypercomplex number. Can be assigned to. hyper_ri(a,b,c,d) = (a,b). Hyper Complex
ident Do nothing. ident(x) is equivalent to x. This function is useless in normal formulas but comes in useful as a value for a function parameter to a formula. For example, a general formula like z = @fn1(z*z)+c can be set back to a plain Mandelbrot by setting fn1 to ident. Note: ident() is compiled out so there's no speed penalty involved. Int Int
Float Float
Complex Complex
Bool Bool
Hyper Hyper
imag Extract the imaginary part of a complex or hypercomplex number. imag(a,b) = b. imag() is unusual in that it can be assigned to: imag(z) = 7 changes the imag part of z. Complex Float
Hyper Float
imag2 The square of the imaginary part of a complex number. real2(a,b) = b*b. While not a generally useful function, this is provided to ease porting of files from older Gnofract 4D versions. Complex Float
int Construct an integer. To convert a float to an int, use floor, ceil, round or trunc instead. Int Int
log The natural log. Float Float
Complex Complex
Hyper Hyper
lum The luminance (or brightness) of a color. Color Float
manhattan The Manhattan distance between the origin and complex number z. manhattan(a,b) is equivalent to abs(a) + abs(b). Complex Float
manhattanish A variant on Manhattan distance provided for backwards compatibility. manhattanish(a,b) is equivalent to a+b. Complex Float
manhattanish2 A variant on Manhattan distance provided for backwards compatibility. manhattanish2(a,b) is equivalent to (a*a + b*b)^2. Complex Float
max Returns the larger of its two arguments. Float, Float Float
max2 max2(a,b) returns the larger of a*a or b*b. Provided for backwards compatibility. Complex Float
mergemultiply Multiplies colors together. Result is always darker than either input. Color, Color Color
mergenormal Returns second color, ignoring first. Color, Color Color
min Returns the smaller of its two arguments. Float, Float Float
min2 min2(a,b) returns the smaller of a*a or b*b. Provided for backwards compatibility. Complex Float
neg No documentation yet. Int Int
Float Float
Complex Complex
Hyper Hyper
rand Each time this is accessed, it returns a new pseudo-random complex number. This is primarily for backwards compatibility with Fractint formulas - use the random() function in new formulas. Complex
real Extract the real part of a complex or hypercomplex number. real(a,b) = a. real() is unusual in that it can be assigned to: real(z) = 7 changes the real part of z. Complex Float
Hyper Float
real2 The square of the real part of a complex number. real2(a,b) = a*a. While not a generally useful function, this is provided to ease porting of files from older Gnofract 4D versions. Complex Float
recip The reciprocal of a number. recip(x) is equivalent to 1/x. Note that not all hypercomplex numbers have a proper reciprocal. Float Float
Complex Complex
Hyper Hyper
red The red component of a color. Can be assigned to. Color Float
rgb Create a color from three color components. The alpha channel is set to to 1.0 (=100%). Float, Float, Float Color
rgba Create a color from three color components and an alpha channel. Float, Float, Float, Float Color
round Round to the nearest number (0.5 rounds up). Float Int
Complex Complex
sat The saturation of a color. Color Float
sin trigonometric sine function. Float Float
Complex Complex
Hyper Hyper
sinh Hyperbolic sine function. Float Float
Complex Complex
Hyper Hyper
sqr Square the argument. sqr(x) is equivalent to x*x or x^2. Int Int
Float Float
Complex Complex
Hyper Hyper
sqrt The square root. The square root of a negative float number is NaN (ie it is NOT converted to complex). Thus sqrt((-3,0)) != sqrt(-3). Float Float
Complex Complex
Hyper Hyper
tan trigonometric sine function. Float Float
Complex Complex
Hyper Hyper
tanh Hyperbolic tangent function. Float Float
Complex Complex
Hyper Hyper
trunc Round towards zero. Float Int
Complex Complex
zero Returns zero. Int Int
Float Float
Complex Complex

### Symbols

NameDescriptionArgument TypesReturn Type
#center Where the center of the image is located on the complex plane Complex
#color Set this from a coloring function to directly set the color instead of using a gradient Color
#fate The fate of a point can be used to distinguish between different basins of attraction or whatever you like. Set this to a number from 2 to 128 to indicate that a different 'fate' has befallen this point. 0 indicates the point has diverged, 1 that it has been trapped, >1 whatever you like. Can only be usefully updated in the #final section. Int
#index The point in the gradient to use for the color of this point. Float
#inside Set this in the final section of a formula to override whether a point is colored with the inside or outside coloring algorithm. This is mainly useful in conjuction with #fate. Bool
#magn The magnification factor of the image. This is the number of times the image size has doubled, or ln(4.0/size) Float
#maxit No documentation yet. Int
#maxiter No documentation yet. Int
#numiter The number of iterations performed. Int
#pi The constant pi, 3.14159... Float
#pixel The (X,Y) coordinates of the current point. When viewing the Mandelbrot set, this has a different value for each pixel. When viewing the Julia set, it remains constant for each pixel. Complex
#solid Set this to true in a coloring function to use the solid color rather than the color map. Bool
#tolerance 10% of the distance between adjacent pixels. Float
#xypixel The (X,Y) coordinates of the current point. When viewing the Mandelbrot set, this has a different value for each pixel. When viewing the Julia set, it remains constant for each pixel. Complex
#z No documentation yet. Complex
#zwpixel The (Z,W) coordinates of the current point. (See #pixel for the other two coordinates.) When viewing the Mandelbrot set, this remains constant for each pixel on the screen; when viewing the Julia set, it's different for each pixel. Initialize z to some function of this to take advantage of 4D drawing. Complex
@p1 Predefined parameter used by Fractint formulas Complex
@p2 Predefined parameter used by Fractint formulas Complex
@p3 Predefined parameter used by Fractint formulas Complex
@p4 Predefined parameter used by Fractint formulas Complex
@p5 Predefined parameter used by Fractint formulas Complex
@p6 Predefined parameter used by Fractint formulas Complex
maxit No documentation yet. Int
maxiter No documentation yet. Int
p1 Predefined parameter used by Fractint formulas Complex
p2 Predefined parameter used by Fractint formulas Complex
p3 Predefined parameter used by Fractint formulas Complex
p4 Predefined parameter used by Fractint formulas Complex
p5 Predefined parameter used by Fractint formulas Complex
p6 Predefined parameter used by Fractint formulas Complex
pi The constant pi, 3.14159... Float
pixel The (X,Y) coordinates of the current point. When viewing the Mandelbrot set, this has a different value for each pixel. When viewing the Julia set, it remains constant for each pixel. Complex
z No documentation yet. Complex