diff options
Diffstat (limited to 'security/nss/lib/freebl/mpi/make-logtab')
-rwxr-xr-x | security/nss/lib/freebl/mpi/make-logtab | 29 |
1 files changed, 29 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..fadba1c86 --- /dev/null +++ b/security/nss/lib/freebl/mpi/make-logtab @@ -0,0 +1,29 @@ +#!/usr/bin/perl + +# +# make-logtab +# +# Generate a table of logarithms of 2 in various bases, for use in +# estimating the output sizes of various bases. + +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +$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; |