diff options
Diffstat (limited to 'security/nss/lib/freebl/mpi/doc/div.txt')
-rw-r--r-- | security/nss/lib/freebl/mpi/doc/div.txt | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/security/nss/lib/freebl/mpi/doc/div.txt b/security/nss/lib/freebl/mpi/doc/div.txt deleted file mode 100644 index b1ca744e1..000000000 --- a/security/nss/lib/freebl/mpi/doc/div.txt +++ /dev/null @@ -1,96 +0,0 @@ -Division - -This describes the division algorithm used by the MPI library. - -Input: a, b; a > b -Compute: Q, R; a = Qb + R - -The input numbers are normalized so that the high-order digit of b is -at least half the radix. This guarantees that we have a reasonable -way to guess at the digits of the quotient (this method was taken from -Knuth, vol. 2, with adaptations). - -To normalize, test the high-order digit of b. If it is less than half -the radix, multiply both a and b by d, where: - - radix - 1 - d = ----------- - bmax + 1 - -...where bmax is the high-order digit of b. Otherwise, set d = 1. - -Given normalize values for a and b, let the notation a[n] denote the -nth digit of a. Let #a be the number of significant figures of a (not -including any leading zeroes). - - Let R = 0 - Let p = #a - 1 - - while(p >= 0) - do - R = (R * radix) + a[p] - p = p - 1 - while(R < b and p >= 0) - - if(R < b) - break - - q = (R[#R - 1] * radix) + R[#R - 2] - q = q / b[#b - 1] - - T = b * q - - while(T > L) - q = q - 1 - T = T - b - endwhile - - L = L - T - - Q = (Q * radix) + q - - endwhile - -At this point, Q is the quotient, and R is the normalized remainder. -To denormalize R, compute: - - R = (R / d) - -At this point, you are finished. - ------------------------------------------------------------------- -The contents of this file are subject to the Mozilla Public -License Version 1.1 (the "License"); you may not use this file -except in compliance with the License. You may obtain a copy of -the License at http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS -IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -implied. See the License for the specific language governing -rights and limitations under the License. - -The Original Code is the MPI Arbitrary Precision Integer Arithmetic -library. - -The Initial Developer of the Original Code is -Michael J. Fromberger <sting@linguist.dartmouth.edu> - -Portions created by Michael J. Fromberger are -Copyright (C) 1998, 2000 Michael J. Fromberger. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the -terms of the GNU General Public License Version 2 or later (the -"GPL"), in which case the provisions of the GPL are applicable -instead of those above. If you wish to allow use of your -version of this file only under the terms of the GPL and not to -allow others to use your version of this file under the MPL, -indicate your decision by deleting the provisions above and -replace them with the notice and other provisions required by -the GPL. If you do not delete the provisions above, a recipient -may use your version of this file under either the MPL or the GPL. - -$Id$ - - |