[BACK]Return to bc.library CVS log [TXT][DIR] Up to [local] / src / usr.bin / bc

Diff for /src/usr.bin/bc/bc.library between version 1.3 and 1.4

version 1.3, 2007/02/03 21:15:06 version 1.4, 2012/03/14 07:35:53
Line 45 
Line 45 
         r = ibase          r = ibase
         ibase = A          ibase = A
         t = scale          t = scale
         scale = t + .434*x + 1          scale = 0
           if (x > 0) scale = (0.435*x)/1
           scale = scale + t + length(scale + t) + 1
   
         w = 0          w = 0
         if (x < 0) {          if (x < 0) {
Line 94 
Line 96 
         t = scale          t = scale
   
         f = 1          f = 1
         scale = scale + scale(x) - length(x) + 1          if (x < 1) {
         s = scale                  s = scale(x)
           } else {
                   s = length(x)-scale(x)
           }
           scale = 0
           a = (2.31*s)/1 /* estimated integer part of the answer */
           s = t + length(a) + 2 /* estimated length of the answer */
         while (x > 2) {          while (x > 2) {
                 s = s + (length(x) - scale(x))/2 + 1                  scale = 0
                 if (s > 0) scale = s                  scale = (length(x) + scale(x))/2 + 1
                   if (scale < s) scale = s
                 x = sqrt(x)                  x = sqrt(x)
                 f = f*2                  f = f*2
         }          }
         while (x < .5) {          while (x < .5) {
                 s = s + (length(x) - scale(x))/2 + 1                  scale = 0
                 if (s > 0) scale = s                  scale = scale(x)/2 + 1
                   if (scale < s) scale = s
                 x = sqrt(x)                  x = sqrt(x)
                 f = f*2                  f = f*2
         }          }
   
         scale = t + length(f) - scale(f) + 1          scale = 0
           scale = t + length(f) + length((1.05*(t+length(f))/1)) + 1
         u = (x - 1)/(x + 1)          u = (x - 1)/(x + 1)
   
         scale = scale + 1.1*length(t) - 1.1*scale(t)  
         s = u*u          s = u*u
           scale = t + 2
         b = 2*f          b = 2*f
         c = b          c = b
         d = 1          d = 1

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4