parameters: (self)
return_statement: return e + len(str(10**-e - c)) - 1
docstring: Compute a lower bound for the adjusted exponent of self.ln().
          In other words, compute r such that self.ln() >= 10**r.  Assumes
          that self is finite and positive and that self != 1.
docstring_summary: Compute a lower bound for the adjusted exponent of self.ln().
          In other words, compute r such that self.ln() >= 10**r.  Assumes
          that self is finite and positive and that self != 1.
docstring_tokens: Compute a lower bound for the adjusted exponent of self . ln () . In other words compute r such that self . ln () > = 10 ** r . Assumes that self is finite and positive and that self ! = 1 .
function: def _ln_exp_bound(self):
          """Compute a lower bound for the adjusted exponent of self.ln().
          In other words, compute r such that self.ln() >= 10**r.  Assumes
          that self is finite and positive and that self != 1.
          """
  
          # for 0.1 <= x <= 10 we use the inequalities 1-1/x <= ln(x) <= x-1
          adj = self._exp + len(self._int) - 1
          if adj >= 1:
              # argument >= 10; we use 23/10 = 2.3 as a lower bound for ln(10)
              return len(str(adj*23//10)) - 1
          if adj <= -2:
              # argument <= 0.1
              return len(str((-1-adj)*23//10)) - 1
          op = _WorkRep(self)
          c, e = op.int, op.exp
          if adj == 0:
              # 1 < self < 10
              num = str(c-10**-e)
              den = str(c)
              return len(num) - len(den) - (num < den)
          # adj == -1, 0.1 <= self < 1
          return e + len(str(10**-e - c)) - 1
function_tokens: def _ln_exp_bound ( self ) : # for 0.1 <= x <= 10 we use the inequalities 1-1/x <= ln(x) <= x-1 adj = self . _exp + len ( self . _int ) - 1 if adj >= 1 : # argument >= 10; we use 23/10 = 2.3 as a lower bound for ln(10) return len ( str ( adj * 23 // 10 ) ) - 1 if adj <= - 2 : # argument <= 0.1 return len ( str ( ( - 1 - adj ) * 23 // 10 ) ) - 1 op = _WorkRep ( self ) c , e = op . int , op . exp if adj == 0 : # 1 < self < 10 num = str ( c - 10 ** - e ) den = str ( c ) return len ( num ) - len ( den ) - ( num < den ) # adj == -1, 0.1 <= self < 1 return e + len ( str ( 10 ** - e - c ) ) - 1