security/nss/lib/freebl/mpi/make-logtab
author Ryan VanderMeulen <ryanvm@gmail.com>
Wed, 01 May 2013 16:05:10 -0400
changeset 130538 05275490b9c18457c4459057a117afd6d6c9226d
parent 130535 0314d200873a8962e8556a656bbf9e4b26e23cfc
child 130699 c6f5c1bbcf761369c0d51f85ba1bb110f2f40fd8
permissions -rwxr-xr-x
Backed out changeset 0314d200873a (bug 858231) for Windows build bustage. CLOSED TREE

#!/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/.

# $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;