diff options
Diffstat (limited to 'src/pkg/big/arith.go')
-rw-r--r-- | src/pkg/big/arith.go | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/src/pkg/big/arith.go b/src/pkg/big/arith.go index b9aeea968..0a02a4ef5 100644 --- a/src/pkg/big/arith.go +++ b/src/pkg/big/arith.go @@ -27,7 +27,6 @@ const ( _M2 = _B2 - 1 // half digit mask ) - // ---------------------------------------------------------------------------- // Elementary operations on words // @@ -43,7 +42,6 @@ func addWW_g(x, y, c Word) (z1, z0 Word) { return } - // z1<<_W + z0 = x-y-c, with c == 0 or 1 func subWW_g(x, y, c Word) (z1, z0 Word) { yc := y + c @@ -54,7 +52,6 @@ func subWW_g(x, y, c Word) (z1, z0 Word) { return } - // z1<<_W + z0 = x*y // Adapted from Warren, Hacker's Delight, p. 132. func mulWW_g(x, y Word) (z1, z0 Word) { @@ -72,7 +69,6 @@ func mulWW_g(x, y Word) (z1, z0 Word) { return } - // z1<<_W + z0 = x*y + c func mulAddWWW_g(x, y, c Word) (z1, z0 Word) { z1, zz0 := mulWW(x, y) @@ -82,7 +78,6 @@ func mulAddWWW_g(x, y, c Word) (z1, z0 Word) { return } - // Length of x in bits. func bitLen(x Word) (n int) { for ; x >= 0x100; x >>= 8 { @@ -94,7 +89,6 @@ func bitLen(x Word) (n int) { return } - // log2 computes the integer binary logarithm of x. // The result is the integer n for which 2^n <= x < 2^(n+1). // If x == 0, the result is -1. @@ -102,13 +96,11 @@ func log2(x Word) int { return bitLen(x) - 1 } - // Number of leading zeros in x. func leadingZeros(x Word) uint { return uint(_W - bitLen(x)) } - // q = (u1<<_W + u0 - r)/y // Adapted from Warren, Hacker's Delight, p. 152. func divWW_g(u1, u0, v Word) (q, r Word) { @@ -153,7 +145,6 @@ again2: return q1*_B2 + q0, (un21*_B2 + un0 - q0*v) >> s } - func addVV_g(z, x, y []Word) (c Word) { for i := range z { c, z[i] = addWW_g(x[i], y[i], c) @@ -161,7 +152,6 @@ func addVV_g(z, x, y []Word) (c Word) { return } - func subVV_g(z, x, y []Word) (c Word) { for i := range z { c, z[i] = subWW_g(x[i], y[i], c) @@ -169,7 +159,6 @@ func subVV_g(z, x, y []Word) (c Word) { return } - func addVW_g(z, x []Word, y Word) (c Word) { c = y for i := range z { @@ -178,7 +167,6 @@ func addVW_g(z, x []Word, y Word) (c Word) { return } - func subVW_g(z, x []Word, y Word) (c Word) { c = y for i := range z { @@ -187,7 +175,6 @@ func subVW_g(z, x []Word, y Word) (c Word) { return } - func shlVU_g(z, x []Word, s uint) (c Word) { if n := len(z); n > 0 { ŝ := _W - s @@ -203,7 +190,6 @@ func shlVU_g(z, x []Word, s uint) (c Word) { return } - func shrVU_g(z, x []Word, s uint) (c Word) { if n := len(z); n > 0 { ŝ := _W - s @@ -219,7 +205,6 @@ func shrVU_g(z, x []Word, s uint) (c Word) { return } - func mulAddVWW_g(z, x []Word, y, r Word) (c Word) { c = r for i := range z { @@ -228,7 +213,6 @@ func mulAddVWW_g(z, x []Word, y, r Word) (c Word) { return } - func addMulVVW_g(z, x []Word, y Word) (c Word) { for i := range z { z1, z0 := mulAddWWW_g(x[i], y, z[i]) @@ -238,7 +222,6 @@ func addMulVVW_g(z, x []Word, y Word) (c Word) { return } - func divWVW_g(z []Word, xn Word, x []Word, y Word) (r Word) { r = xn for i := len(z) - 1; i >= 0; i-- { |