Formula Language Reference
Prev |  | Next

## Formula Language Reference

### Operators

Name | Description | Argument Types | Return 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

Name | Description | Argument Types | Return 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
gradient | Look up a color from the default gradient. | Float | Color
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

Name | Description | Argument Types | Return 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 |

Prev |  | Next
Writing Your Own Functions | Home | Gnofract 4D Internals