utahplt / FloatTrackerExamples

Examples for the FloatTracker.jl repository
MIT License
1 stars 1 forks source link

Fatou.jl #1

Open bennn opened 1 year ago

bennn commented 1 year ago

https://github.com/chakravala/Fatou.jl

ashton314 commented 1 year ago

Tried running Fatou with FloatTracker. Adding support for complex numbers works well, but Fatou explicitly checks for something of type Complex{Float64}, which we cannot handle. Problematic code is in Fatou.jl:327:

323 function orbit(K::Define{FT,QT,CT,M,N,P,D,im},z0::Complex{Float64}) where {FT,QT,CT,M,N,P,D}
324     M ? (z = K.seed) : (z = P ? plane(z0) : z0)
325     zn = 0x0000
326     while (N ? (K.Q(z,z0)::Float64>K.ϵ)::Bool : (K.Q(z,z0)::Float64<K.ϵ))::Bool && K.N>zn
327         z = K.F(z,z0)::Complex{Float64}
328         zn+=0x0001
329     end; #end
330     # return the normalized argument of z or iteration count
331     return (zn::UInt16,(D ? disk(z) : z)::Complex{Float64})
332 end

I'm going to give up on this for now. It could be an interesting library to fuzz, but we'd have to work out how to make it past this block.