diff options
Diffstat (limited to 'security/nss/lib/freebl/mpi/make-logtab')
-rwxr-xr-x | security/nss/lib/freebl/mpi/make-logtab | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/security/nss/lib/freebl/mpi/make-logtab b/security/nss/lib/freebl/mpi/make-logtab new file mode 100755 index 000000000..0ed950c70 --- /dev/null +++ b/security/nss/lib/freebl/mpi/make-logtab @@ -0,0 +1,60 @@ +#!/usr/linguist/bin/perl + +# +# make-logtab +# +# Generate a table of logarithms of 2 in various bases, for use in +# estimating the output sizes of various bases. +# +## 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$ + +$ARRAYNAME = $ENV{'ARRAYNAME'} || "s_logv_2"; +$ARRAYTYPE = $ENV{'ARRAYTYPE'} || "float"; + +printf("const %s %s[] = {\n %0.9ff, %0.9ff, ", + $ARRAYTYPE, $ARRAYNAME, 0, 0); +$brk = 2; +for($ix = 2; $ix < 64; $ix++) { + printf("%0.9ff, ", (log(2)/log($ix))); + $brk = ($brk + 1) & 3; + if(!$brk) { + printf(" /* %2d %2d %2d %2d */\n ", + $ix - 3, $ix - 2, $ix - 1, $ix); + } +} +printf("%0.9ff\n};\n\n", (log(2)/log($ix))); + +exit 0; |