Jump to content

P-Adic square roots: Difference between revisions

tidied blowsy array bound check
(Added Wren)
(tidied blowsy array bound check)
Line 104:
'max. short prime
p = min(p, Pmax)
'max. array length
k = min(k, emx - 1)
 
if sw then
Line 135 ⟶ 133:
return -1
end if
 
v shr= 1
'max. array length
k = min(k + v, emx - 1)
k -= v: v shr= 1
 
if abs(a) > amx or b > amx then return -1
Line 193 ⟶ 194:
 
pk = 4
for i = v + 2 to k - 1 + v
pk shl= 1
'2-power overflow
Line 211 ⟶ 212:
 
pk = 1
for i = v + 1 to k - 1 + v
pk *= p
evalf(x)
Line 219 ⟶ 220:
next i
end if
k = i - v
 
if sw then print "lift:";x;" mod";p;"^";str(k)
Line 234 ⟶ 235:
'weighted digit sum
s = 0: pk = 1
for i = t to k - 1 + tv
p1 = pk: pk *= p
 
Line 458 ⟶ 459:
 
497/10496 + O(2^18)
lift: 35513392989 mod 2^18
sqrt +/-
... 0 1 0 1 1 0 1 0 1 1 0 0 1 1. 1 1 0 1
Line 478 ⟶ 479:
 
3141/5926 + O(3^17)
lift: 340696646453687 mod 3^17
sqrt +/-
... 0 0 2 0 1 0 2 0 0 2 1 1 0 2 2 1 0
Line 508 ⟶ 509:
 
86/25 + O(5^8)
lift: 48615695531 mod 5^8
sqrt +/-
... 1 1 0 2 4 1 1. 1
Line 538 ⟶ 539:
 
-2645/28518 + O(7^9)
lift: 28120416939082527 mod 7^9
sqrt +/-
... 6 5 3 1 2 4 1 4. 1
Cookies help us deliver our services. By using our services, you agree to our use of cookies.