oldz function
| Input type | Output type | 
| int | complex | 
Note: This function is provided for backwards compatibility and should no longer be used. You can declare an array[#maxiter + 1] to store the values of #z, and process them in the final section of the coloring algorithm. This is more efficient and more flexible. See Function oldz is deprecated.
This function returns the z value belonging to the specified iteration. This function can only be used in the final section of a coloring algorithm. If it is used, the value of #z is stored after each iteration in the fractal formula, so it can be retrieved by the coloring algorithm afterwards. This allows the coloring algorithm to process the values of z in arbitrary order. The argument of the function is the iteration in which the desired z value was produced.
This piece of code shows how the z value is stored:
execute init section of fractal formula oldz[0] = #z int iter = 0 repeat execute loop section of fractal formula iter = iter + 1 bool b = the expression in the bailout section of the fractal formula oldz[iter] = #z until (b == false) || (iter == #maxiter) #numiter = iter
The oldz function will only return valid z values if the argument is in the range 0..#numiter. Otherwise, (0,0) is returned. Here is an example of a coloring algorithm using oldz:
  oldzexample {  final:    int iter = 1    ; initialize variables    while iter <= #numiter      the_z = oldz(iter)      ; do something with the value of the_z      iter = iter + 1    endwhile    ; color the pixel  }    
This is equivalent to:
  loopexample {  init:    ; initialize variables  loop:    ; do something with the value of #z  final:    ; color the pixel  }    
Here, you could better use the normal loop section instead of the oldz function, but some coloring algorithms need to process the values of z in non-linear order. In that case, you must use the oldz function, or an array.