INNER CODE UNIT · Python

getTop

herumi/mcl · misc/mul-approx.py:67

  def getTop(self, x):
    """
      return (x0, x1) such that x = x0 * 2**(a-d) + x1 where a = x.bit_length()
    """
    if x < self.p:
      return (0, x)
    a = x.bit_length()
    t = 1<<(a-self.d)
    return divmod(x, t)

  def quot(self, x):
    (x0, x1) = self.getTop(x)
    a = x.bit_length()
    s= 2*self.d -(a - self.l + 1)
    return (x0 * self.p0) >> s

  def check(self, x):
    (x0, x1) = self.getTop(x)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…