P-Adic numbers, basic: Difference between revisions

Replaced "sw" as integer by a boolean.
m (Changed a comment.)
(Replaced "sw" as integer by a boolean.)
Line 1,308:
=={{header|Nim}}==
{{trans|Go}}
Translation of Go with some modifications, especially using exceptions when an error occursis encountered.
<lang Nim>import math, strformat
 
Line 1,330:
 
 
proc r2pa(pa: var Padic; q: Ratio; sw: intbool) =
## Convert "q" to p-adic number, set "sw" to print.
 
Line 1,348:
pa.p = min(pa.p, PMax) # Maximum short prime.
pa.k = min(pa.k, Emx - 1) # Maximum array length.
if sw != 0:
if sw: echo &"{a}/{b} + 0({pa.p}^{pa.k})"
 
# Initialize.
Line 1,526:
try:
var a, b = Padic(p: d[2], k: d[3])
r2pa(a, (d[0], d[1]), 1true)
print(a, 0)
r2pa(b, (d[4], d[5]), 1true)
print(b, 0)
echo "+ ="
Anonymous user