P-Adic numbers, basic: Difference between revisions

→‎{{header|Wren}}: Now uses new core library method.
m (→‎{{header|Haskell}}: minor details)
(→‎{{header|Wren}}: Now uses new core library method.)
Line 2,364:
{{trans|FreeBASIC}}
{{libheader|Wren-dynamic}}
{{libheader|Wren-math}}
<lang ecmascript>import "/dynamic" for Struct
import "/math" for Math
 
// constants
Line 2,404 ⟶ 2,402:
if (a.abs > AMX || b > AMX) return -1
if (P < 2 || K < 1) return 1
P = MathP.min(P, PMAX) // maximum short prime
K = MathK.min(K, EMX-1) // maximum array length
if (sw != 0) {
System.write("%(a)/%(b) + ") // numerator, denominator
Line 2,467 ⟶ 2,465:
// Horner's rule
dsum() {
var t = Math_v.min(_v, 0)
var s = 0
for (i in K - 1 + t..t) {
Line 2,541 ⟶ 2,539:
// print expansion
printf(sw) {
var t = Math_v.min(_v, 0)
for (i in K - 1 + t..t) {
System.write(_d[i + EMX])
Line 2,556 ⟶ 2,554:
var c = 0
var r = Padic.new()
r.v = Math_v.min(_v, b.v)
for (i in r.v..K + r.v) {
c = c + _d[i+EMX] + b.d[i+EMX]
9,477

edits