[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.2 and 1.3

version 1.2, 2007/01/29 11:02:53 version 1.3, 2007/02/03 21:15:06
Line 40 
Line 40 
   
 scale = 20  scale = 20
 define e(x) {  define e(x) {
         auto a, b, c, d, e, g, t, w, y          auto a, b, c, d, e, g, t, w, y, r
   
           r = ibase
           ibase = A
         t = scale          t = scale
         scale = t + .434*x + 1          scale = t + .434*x + 1
   
Line 72 
Line 74 
                                 g = g*g                                  g = g*g
                         }                          }
                         scale = t                          scale = t
                         if (w == 1) return(1/g)                          ibase = r
                         return(g/1)                          if (w == 1) return (1/g)
                           return (g/1)
                 }                  }
                 e = g                  e = g
         }          }
 }  }
   
 define l(x) {  define l(x) {
         auto a, b, c, d, e, f, g, u, s, t          auto a, b, c, d, e, f, g, u, s, t, r
         if (x <= 0) return (1 - 10^scale)          r = ibase
           ibase = A
           if (x <= 0) {
                   a = (1 - 10^scale)
                   ibase = r
                   return (a)
           }
         t = scale          t = scale
   
         f = 1          f = 1
Line 116 
Line 125 
                 g = c/d                  g = c/d
                 if (g == e) {                  if (g == e) {
                         scale = t                          scale = t
                           ibase = r
                         return (u*c/d)                          return (u*c/d)
                 }                  }
                 e = g                  e = g
Line 123 
Line 133 
 }  }
   
 define s(x) {  define s(x) {
         auto a, b, c, s, t, y, p, n, i          auto a, b, c, s, t, y, p, n, i, r
           r = ibase
           ibase = A
         t = scale          t = scale
         y = x/.7853          y = x/.7853
         s = t + length(y) - scale(y)          s = t + length(y) - scale(y)
Line 148 
Line 160 
                 c = a/b                  c = a/b
                 if (c == 0) {                  if (c == 0) {
                         scale = t                          scale = t
                           ibase = r
                         return (s/1)                          return (s/1)
                 }                  }
                 s = s + c                  s = s + c
Line 155 
Line 168 
 }  }
   
 define c(x) {  define c(x) {
         auto t          auto t, r
           r = ibase
           ibase = A
         t = scale          t = scale
         scale = scale + 1          scale = scale + 1
         x = s(x + 2*a(1))          x = s(x + 2*a(1))
         scale = t          scale = t
           ibase = r
         return (x/1)          return (x/1)
 }  }
   
 define a(x) {  define a(x) {
         auto a, b, c, d, e, f, g, s, t          auto a, b, c, d, e, f, g, s, t, r
         if (x == 0) return(0)          if (x == 0) return(0)
   
           r = ibase
           ibase = A
         if (x == 1) {          if (x == 1) {
                 if (scale < 52) {                  if (scale < 52) {
                         return(.7853981633974483096156608458198757210492923498437764/1)                           a = .7853981633974483096156608458198757210492923498437764/1
                            ibase = r
                            return (a)
                 }                  }
         }          }
         t = scale          t = scale
Line 194 
Line 215 
                 d = d*a                  d = d*a
                 g = c/d                  g = c/d
                 if (g == e) {                  if (g == e) {
                           ibase = r
                         scale = t                          scale = t
                         return (x*c/d)                          return (x*c/d)
                 }                  }
Line 202 
Line 224 
 }  }
   
 define j(n,x) {  define j(n,x) {
         auto a,b,c,d,e,g,i,s,k,t          auto a, b, c, d, e, g, i, s, k, t, r
   
           r = ibase
           ibase = A
         t = scale          t = scale
         k = 1.36*x + 1.16*t - n          k = 1.36*x + 1.16*t - n
         k = length(k) - scale(k)          k = length(k) - scale(k)
Line 229 
Line 253 
                 c = c*i*(n + i)                  c = c*i*(n + i)
                 g = b/c                  g = b/c
                 if (g == e) {                  if (g == e) {
                           ibase = r
                         scale = t                          scale = t
                         return (g/1)                          return (g/1)
                 }                  }

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