Roots of unity: Difference between revisions

Rename Perl 6 -> Raku, alphabetize, minor clean-up
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
Line 141:
i := A_Index-1, t .= cos(a*i) ((s:=sin(a*i))<0 ? " - i*" . -s : " + i*" . s) "`n"
Msgbox % t</lang>
 
=={{header|AWK}}==
<lang AWK>
Line 1,277 ⟶ 1,278:
10 1.000 0.809+0.588i 0.309+0.951i -0.309+0.951i -0.809+0.588i -1.000+0.000i -0.809-0.588i -0.309-0.951i 0.309-0.951i 0.809-0.588i
</pre>
 
=={{header|Perl 6}}==
Perl 6 has a built-in function <tt>cis</tt> which returns a unitary complex number given its phase. Perl 6 also defines the <tt>tau = 2*pi</tt> constant. Thus the k-th n-root of unity can simply be written <tt>cis(k*τ/n)</tt>.
 
<lang perl6>constant n = 10;
for ^n -> \k {
say cis(k*τ/n);
}</lang>
 
{{out}}
<pre>1+0i
0.809016994374947+0.587785252292473i
0.309016994374947+0.951056516295154i
-0.309016994374947+0.951056516295154i
-0.809016994374947+0.587785252292473i
-1+1.22464679914735e-16i
-0.809016994374948-0.587785252292473i
-0.309016994374948-0.951056516295154i
0.309016994374947-0.951056516295154i
0.809016994374947-0.587785252292473i</pre>
 
=={{header|Phix}}==
Line 1,320 ⟶ 1,301:
10: 1.000 0.000i, 0.809 0.588i, 0.309 0.951i, -0.309 0.951i, -0.809 0.588i, -1.000 0.000i, -0.809 -0.588i, -0.309 -0.951i, 0.309 -0.951i, 0.809 -0.588i
</pre>
 
=={{header|PicoLisp}}==
{{trans|C}}
<lang PicoLisp>(load "@lib/math.l")
 
(for N (range 2 10)
(let Angle 0.0
(prin N ": ")
(for I N
(let Ipart (sin Angle)
(prin
(round (cos Angle) 4)
(if (lt0 Ipart) "-" "+")
"j"
(round (abs Ipart) 4)
" " ) )
(inc 'Angle (*/ 2 pi N)) )
(prinl) ) )</lang>
 
=={{header|PL/I}}==
Line 1,344 ⟶ 1,343:
0.30901712-0.95105648I
0.80901724-0.58778494I </lang>
 
=={{header|PicoLisp}}==
{{trans|C}}
<lang PicoLisp>(load "@lib/math.l")
 
(for N (range 2 10)
(let Angle 0.0
(prin N ": ")
(for I N
(let Ipart (sin Angle)
(prin
(round (cos Angle) 4)
(if (lt0 Ipart) "-" "+")
"j"
(round (abs Ipart) 4)
" " ) )
(inc 'Angle (*/ 2 pi N)) )
(prinl) ) )</lang>
 
=={{header|Prolog}}==
Line 1,500 ⟶ 1,481:
-0.4999999999999998+0.8660254037844388i
-0.5000000000000004-0.8660254037844384i</pre>
 
=={{header|Raku}}==
(formerly Perl 6)
Perl 6 has a built-in function <tt>cis</tt> which returns a unitary complex number given its phase. Perl 6 also defines the <tt>tau = 2*pi</tt> constant. Thus the k-th n-root of unity can simply be written <tt>cis(k*τ/n)</tt>.
 
<lang perl6>constant n = 10;
for ^n -> \k {
say cis(k*τ/n);
}</lang>
 
{{out}}
<pre>1+0i
0.809016994374947+0.587785252292473i
0.309016994374947+0.951056516295154i
-0.309016994374947+0.951056516295154i
-0.809016994374947+0.587785252292473i
-1+1.22464679914735e-16i
-0.809016994374948-0.587785252292473i
-0.309016994374948-0.951056516295154i
0.309016994374947-0.951056516295154i
0.809016994374947-0.587785252292473i</pre>
 
=={{header|REXX}}==
Line 1,732 ⟶ 1,734:
4: 1.00000 0.00000i, 0.00000 1.00000i, -1.00000 0.00000i, 0.00000 -1.00000i
5: 1.00000 0.00000i, 0.30902 0.95106i, -0.80902 0.58779i, -0.80902 -0.58779i, 0.30902 -0.95106i</pre>
 
 
=={{header|Rust}}==
Line 1,765 ⟶ 1,766:
-0.5000000000000004-0.8660254037844385i
</pre>
 
=={{header|Scheme}}==
<lang scheme>(define pi (* 4 (atan 1)))
 
(do ((n 2 (+ n 1)))
((> n 10))
(display n)
(do ((k 0 (+ k 1)))
((>= k n))
(display " ")
(display (make-polar 1 (* 2 pi (/ k n)))))
(newline))</lang>
 
=={{header|Seed7}}==
Line 1,794 ⟶ 1,807:
9: 1.0000+0.0000i 0.7660+0.6428i 0.1736+0.9848i -0.5000+0.8660i -0.9397+0.3420i -0.9397-0.3420i -0.5000-0.8660i 0.1736-0.9848i 0.7660-0.6428i
10: 1.0000+0.0000i 0.8090+0.5878i 0.3090+0.9511i -0.3090+0.9511i -0.8090+0.5878i -1.0000+0.0000i -0.8090-0.5878i -0.3090-0.9511i 0.3090-0.9511i 0.8090-0.5878i</lang>
 
=={{header|Scheme}}==
<lang scheme>(define pi (* 4 (atan 1)))
 
(do ((n 2 (+ n 1)))
((> n 10))
(display n)
(do ((k 0 (+ k 1)))
((>= k n))
(display " ")
(display (make-polar 1 (* 2 pi (/ k n)))))
(newline))</lang>
 
=={{header|Sidef}}==
Line 1,989 ⟶ 1,990:
Root 7: 0.17364817766693-0.984807753012208i
Root 8: 0.766044443118978-0.64278760968654i</pre>
 
=={{header|zkl}}==
{{trans|C}}
10,327

edits