Minkowski question-mark function: Difference between revisions

Content added Content deleted
m (more idiomatic)
Line 294: Line 294:
contfrac = [0]
contfrac = [0]
curr, coun, i = 0, 1, 0
curr, coun, i = 0, 1, 0
while true
while i < maxiter
x *= 2
x *= 2
if curr == 0
if curr == 0
Line 301: Line 301:
else
else
i += 1
i += 1
append!(contfrac, fill(0, i - length(contfrac) + 1))
push!(contfrac, 0)
contfrac[i] = coun
contfrac[i] = coun
coun = 1
coun = 1
Line 313: Line 313:
else
else
i += 1
i += 1
append!(contfrac, fill(0, i - length(contfrac) + 1))
push!(contfrac, 0)
contfrac[i] = coun
contfrac[i] = coun
coun = 1
coun = 1
Line 323: Line 323:
break
break
end
end
i == maxiter && break
end
end
ret = 1.0 / contfrac[i + 1]
ret = 1.0 / contfrac[i + 1]