3.11 Bailout Test
The bailout test is used to determine if we should stop iterating before
the maximum iteration count is reached. This test compares the value
determined by the test to the "bailout" value set via the <Z> screen.
The default bailout test compares the magnitude or modulus of a complex
variable to some bailout value:
bailout test = |z| = sqrt(x^2 + y^2) >= 2
As a computational speedup, we square both sides of this equation and the
bailout test used by Fractint is:
bailout test = |z|^2 = x^2 + y^2 >= 4
Using a "bailout" other than 4 allows us to change when the bailout will occur.
The following bailout tests have been implemented on the <Z> screen:
mod: x^2 + y^2 >= bailout
real: x^2 >= bailout
imag: y^2 >= bailout
or: x^2 >= bailout or y^2 >= bailout
and: x^2 >= bailout and y^2 >= bailout
manh: (abs(x) + abs(y))^2 >= bailout (based on Manhattan metric)
manr: (x + y)^2 >= bailout
The bailout test feature has not been implemented for all applicable
fractal types. This is due to the speedups used for these types. Some
of these bailout tests show the limitations of the integer math routines
by clipping the spiked ends off of the protrusions.