This coloring UCL file is supposed to detect period of an orbit, and assign color index accordingly. Testing on plain mandelbrot set gives a noisy result (can't attach image here I guess, any color map, linear 0.1; values are in 0-20 range). I can see nothing wrong with the code and I have turned of guessing, normal periodicity checking, messed with tolerance, max iters, even tried extra decimals.
Error looks like something is not initialized or allocated.
Anyone have a clue?
Debug print shows reasonable values for zoomed out M-set, but not at the right locations.
Test1 {
init:
int it = 0
complex last_z = 0
int k ;count period
int kmax
bool notDone = true
float val = 0
loop:
if(notDone)
it = it + 1
if(it==1)
last_z = #z
k = 0
kmax = 3;
else
k = k + 1
if(|#z-last_z| <= @tol)
notDone = false
val = k
else
if(k == kmax)
last_z = #z
k = 0
kmax = round(kmax*@perboost)
if(kmax > @permax)
kmax = @permax
endif
endif
endif
endif
endif
final:
$define DEBUG
print(val)
#index = val
default:
title = "Test1"
int param permax
caption = "Max period"
default = 100
endparam
float param perboost
caption = "Perdiod increase factor"
default = 2
endparam
float param tol
caption = "Tolerance"
default = 1e-100
endparam
}
This coloring UCL file is supposed to detect period of an orbit, and assign color index accordingly. Testing on plain mandelbrot set gives a noisy result (can't attach image here I guess, any color map, linear 0.1; values are in 0-20 range). I can see nothing wrong with the code and I have turned of guessing, normal periodicity checking, messed with tolerance, max iters, even tried extra decimals.
Error looks like something is not initialized or allocated.
Anyone have a clue?
Debug print shows reasonable values for zoomed out M-set, but not at the right locations.
````
Test1 {
init:
int it = 0
complex last_z = 0
int k ;count period
int kmax
bool notDone = true
float val = 0
loop:
if(notDone)
it = it + 1
if(it==1)
last_z = #z
k = 0
kmax = 3;
else
k = k + 1
if(|#z-last_z| <= @tol)
notDone = false
val = k
else
if(k == kmax)
last_z = #z
k = 0
kmax = round(kmax*@perboost)
if(kmax > @permax)
kmax = @permax
endif
endif
endif
endif
endif
final:
$define DEBUG
print(val)
#index = val
default:
title = "Test1"
int param permax
caption = "Max period"
default = 100
endparam
float param perboost
caption = "Perdiod increase factor"
default = 2
endparam
float param tol
caption = "Tolerance"
default = 1e-100
endparam
}
````