Fractran: Difference between revisions
m
→{{header|Julia}}
Line 2,554:
=={{header|Julia}}==
{{works with|Julia|1.
struct Fractran
input::BigInt
fracs::Vector{Rational{BigInt}}
n::Int
end
function Base.iterate(ft::Fractran, i = ft.input)
Line 2,563 ⟶ 2,570:
end
function eval(ft::Fractran
(Int(log2(i)) for i ∈ ft if ispow2(i))
end
function Base.show(io::IO, ft::Fractran
end
macro code_str(s)
eval(Meta.parse("[" * replace(s, "/" => "//", "
end
primes = Fractran(2,
code"17/91
25)
join(Iterators.take(primes, 30), ' '), "\n")
▲println("First 25 iterations of FRACTRAN program primes:")
▲println("2 ", join(Iterators.take(primes, 25), ' '))
println("\nFirst 25 primes: ", primes)</syntaxhighlight>▼
println("First $(primes.n) primes:")
{{output}}
▲<pre>FRACTRAN interpreter implemented in Julia as an iterable struct
2 15 825 725 1925 2275 425 390 330 290 770 910 170 156 132 116 308 364 68 4 30 225 12375 10875 28875 25375 67375 79625 14875 13650 2550▼
▲First 25 iterations of FRACTRAN program primes:
▲2 15 825 725 1925 2275 425 390 330 290 770 910 170 156 132 116 308 364 68 4 30 225 12375 10875 28875 25375
First 25 primes:
=={{header|Kotlin}}==
|