security/nss/lib/freebl/mpi/make-logtab

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rwxr-xr-x

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

michael@0 1 #!/usr/bin/perl
michael@0 2
michael@0 3 #
michael@0 4 # make-logtab
michael@0 5 #
michael@0 6 # Generate a table of logarithms of 2 in various bases, for use in
michael@0 7 # estimating the output sizes of various bases.
michael@0 8
michael@0 9 # This Source Code Form is subject to the terms of the Mozilla Public
michael@0 10 # License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 11 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
michael@0 12
michael@0 13 $ARRAYNAME = $ENV{'ARRAYNAME'} || "s_logv_2";
michael@0 14 $ARRAYTYPE = $ENV{'ARRAYTYPE'} || "float";
michael@0 15
michael@0 16 printf("const %s %s[] = {\n %0.9ff, %0.9ff, ",
michael@0 17 $ARRAYTYPE, $ARRAYNAME, 0, 0);
michael@0 18 $brk = 2;
michael@0 19 for($ix = 2; $ix < 64; $ix++) {
michael@0 20 printf("%0.9ff, ", (log(2)/log($ix)));
michael@0 21 $brk = ($brk + 1) & 3;
michael@0 22 if(!$brk) {
michael@0 23 printf(" /* %2d %2d %2d %2d */\n ",
michael@0 24 $ix - 3, $ix - 2, $ix - 1, $ix);
michael@0 25 }
michael@0 26 }
michael@0 27 printf("%0.9ff\n};\n\n", (log(2)/log($ix)));
michael@0 28
michael@0 29 exit 0;

mercurial