Gaussian primes: Difference between revisions

→‎{{header|Raku}}: minor style tweaks
m (more precise terms)
(→‎{{header|Raku}}: minor style tweaks)
Line 160:
<lang perl6>use List::Divvy;
 
my @next = { :x(1)1x, :y(1)1y, :2n },;
 
sub next-interval (Int $int) {
Line 167:
}
 
my @gaussian = lazy gather {
my $interval = 1;
loop {
Line 182:
say "Gaussian primes with a norm less than 100 sorted by norm:";
say @gaussian.&before(*.<n> > 10²).map( {
my (\i, \j) = .<x>, .<y>;
flat ((i,j),(-i,j),(-i,-j),(i,-j),(j,i),(-j,i),(-j,-i),(j,-i)).map: {
.[0] ?? .[1] ?? (sprintf "%d%s%di", .[0], (.[1] >= 0 ?? '+' !! ''), .[1]) !! .[0] !! "{.[1]}i"
Line 192:
 
my @points = unique flat @gaussian.&before(*.<n> > 150²).map: {
my (\i, \j) = .<x>, .<y>;
do for (i,j),(-i,j),(-i,-j),(i,-j),(j,i),(-j,i),(-j,-i),(j,-i) {
:use['xlink:href'=>'#point', 'transform'=>"translate({500 + 3 *× .[0]},{500 + 3 *× .[1]})"]
}
}
Line 202:
:width<1000>, :height<1000>,
:rect[:width<100%>, :height<100%>, :style<fill:black;>],
:defs[:g[:id<point>, :circle[ :cx(0)0cx, :cy(0)0cy, :r("2")2r, :fill('gold') ]]],
|@points
],
10,333

edits