Hello sympy group, I'm looking for a python function, perhaps named isqrt(), that can find the truncated square root of an integer quickly.
>From http://code.activestate.com/recipes/577821-integer-square-root-function/ I've been using one based on Newton's root method: def isqrt(x): if x < 0: raise ValueError('square root not defined for negative numbers') n = int(x) if n == 0: return 0 a, b = divmod(n.bit_length(), 2) x = 2**(a+b) while True: y = (x + n//x)//2 if y >= x: return x x = y Does sympy have a faster one somewhere? Thanks. -- You received this message because you are subscribed to the Google Groups "sympy" group. To view this discussion on the web visit https://groups.google.com/d/msg/sympy/-/AxNUBIJea20J. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
