Compatibility
Ultra Fractal 4 accepts almost all formulas written for Ultra Fractal 3 and 2. There are some minor
differences since Ultra Fractal 2:
G
There are a three new
keywords
: color, heading, and endheading. Variables with these
names will have to be renamed. Parameters with these names should not be renamed to
avoid breaking backwards compatibility. Instead, add a @ character to the parameter name
in the parameter block that describes it, so the compiler will recognize it as a parameter, not
as a keyword. For example, "param color" should be changed to "param @color".
G
Some formulas might not run well with double precision (Ultra Fractal 2 always uses
extended precision). In this case, either correct the formula, or adjust the Additional
Precision value in the Formula tab of the
Layer Properties
tool window so extended
precision is used. You can verify this in the
Statistics
tool window. Also see
Arbitrary
precision
.
G
Functions that can return complex values with float arguments are treated differently. If the
return value is assigned to a complex variable, the float argument is converted to complex
and the complex version of the function is called instead of the float version. This fixes a
number of bugs like:
complex
c = sqrt(
1
)
; should be (0, 1)
Unfortunately, sometimes it breaks backwards compatibility because Ultra Fractal 2 would
assign an invalid value to c in this case. To work around this, use:
float
f = sqrt(
1
)
complex
c = f
The formula compiler is largely compatible with Fractint s parser and most Fractint formulas can be
used without modification. There are a few exceptions, however:
G
Writing to parameters is not recommended, since Ultra Fractal can perform special
optimizations when parameters are read only. Formulas writing to parameters will be
accepted, though.
G
Writing to
predefined symbols
that are read only, such as
#pixel
, is not allowed. Formulas
writing to these predefined symbols will not be accepted.
G
Formulas using the predefined symbol LastSqr will not be accepted. The usage of LastSqr
serves no purpose; it is intended as a speed up but it only makes formulas run slower (even
in Fractint). Furthermore it makes formulas very hard to write and to understand.
G
Formulas using the function cosxx will not be accepted either. This function results from an
early version of Fractint which contained a bug in the cos function. The cosxx function allows
you to reproduce this bug in later versions of Fractint. If you still want to use the cosxx
function, you can write
conj
(
cos
(a)) instead of cosxx(a).
G
In Fractint, functions with invalid arguments often return other values than in Ultra Fractal.
For example. log(0) returns 0 in Fractint, but it returns infinity in Ultra Fractal. This can
cause problems. In general, if a Fractint formula gives a blank screen instead of a fractal,
you should check the formula for this kind of errors (log(0), division by zero, recip(0), etc).
G
Fractint iterates fractal formulas not the number of times given by the maximum iterations
value, but one time less. Ultra Fractal does iterate fractal formulas the number of times
given by the maximum iterations value. The Fractint PAR import feature in Ultra Fractal
takes this into account and subtracts one from the maximum iterations value used by
298
footer
Our partners:
PHP: Hypertext Preprocessor Cheap Web Hosting
JSP Web Hosting
Ontario Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Java Hosting
Cheapest Hosting
Visionwebhosting.net Business web hosting division of Vision Web Hosting Inc.. All rights reserved