P-Adic square roots: Difference between revisions

→‎{{header|Wren}}: Now uses new core library method.
(→‎{{header|Haskell}}: added solution)
(→‎{{header|Wren}}: Now uses new core library method.)
Line 1,589:
{{trans|FreeBASIC}}
{{libheader|Wren-dynamic}}
{{libheader|Wren-math}}
{{libheader|Wren-big}}
<lang ecmascript>import "/dynamic" for Struct
import "/math" for Math
import "/big" for BigInt
 
Line 1,629 ⟶ 1,627:
}
if (P < 2 || K < 1) return 1
P = MathP.min(P, PMAX) // maximum short prime
if (sw != 0) {
System.write("%(a)/%(b) + ") // numerator, denominator
Line 1,657 ⟶ 1,655:
return -1
}
K = Math.min(K + _v, ).min(EMX - 1) - _v // maximum array length
_v = (_v/2).truncate
 
Line 1,751 ⟶ 1,749:
// rational reconstruction
crat(sw) {
var t = Math_v.min(_v, 0)
// weighted digit sum
var s = 0
Line 1,823 ⟶ 1,821:
// print expansion
printf(sw) {
var t = Math_v.min(_v, 0)
for (i in K - 1 + t..t) {
System.write(_d[i + EMX])
9,476

edits