Jump to content

Mandelbrot set: Difference between revisions

→‎{{header|Raku}}: cache palette, use hyper statement prefix and use higher size and iterations defaults
(→‎{{header|Raku}}: redo first version)
(→‎{{header|Raku}}: cache palette, use hyper statement prefix and use higher size and iterations defaults)
Line 11,410:
Converted to a .png file for display here.
 
[[File:mandelbrot-raku-1.2.png|300px|thumb|right]]
<syntaxhighlight lang="raku" line>use Color;
 
constant MAX_ITERATIONS = 1001000;
my $width = my $height = +(@*ARGS[0] // 400800);
 
sub cut(Range $r, UInt $n where $n > 1 --> Seq) {
Line 11,435:
say "255";
await my @half-screen = hyper for @im.reverse X+ @re {
{ start { mandelbrot(0i, $_) } }
(@im.reverse X+ @re).map:
}
{ start { mandelbrot(0i, $_) } }
;
 
for @half-screen.rotor(@im.elems)>>.result {
put .map(* *{ (255 div* sqrt($_/(MAX_ITERATIONS + 1))).Int })
.map(-> $i { Color.new(hsv => ($i, $i, $i)).rgb });
(state %){$i} //= Color.new(hsv => ($i, $i, $i)).rgb
});
}</syntaxhighlight>
 
1,934

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.