Julia set: Difference between revisions

m
→‎{{header|Raku}}: concurrency is a bigger win than caching
m (→‎{{header|Raku}}: concurrency is a bigger win than caching)
Line 2,546:
 
sub julia ( $png ) {
^$w .race.map: -> $x {
for ^$h -> $y {
my $z = Complex.new(($x - $w / 2) / $w * 3, ($y - $h / 2) / $h * 2);
Line 2,557:
}
}
 
sub hsv2rgb ( $h, $s, $v ){
statemy %cache$c = $v * $s;
my $x = $c * (1 - abs( (($h*6) % 2) - 1 ) );
%cache{"$h|$s|$v"} //= do {
my $cm = $v *- $sc;
[(do given $h {
my $x = $c * (1 - abs( (($h*6) % 2) - 1 ) );
mywhen $m = $v0..^1/6 -{ $c;, $x, 0 }
[(dowhen given1/6..^1/3 { $hx, {$c, 0 }
when 01/3..^1/62 { 0, $c, $x, 0 }
when 1/62..^12/3 { 0, $x, $c, 0 }
when 12/3..^15/26 { $x, 0, $c, $x }
when 15/26..^2/31 { $c, 0, $x, $c }
} ).map: ((*+$m) * 255).Int]
when 2/3..^5/6 { $x, 0, $c }
when 5/6..1 { $c, 0, $x }
} ).map: ((*+$m) * 255).Int]
}
}</lang>
 
10,333

edits