diff options
Diffstat (limited to 'mpi/make-logtab')
-rwxr-xr-x | mpi/make-logtab | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/mpi/make-logtab b/mpi/make-logtab new file mode 100755 index 00000000..bb4eea39 --- /dev/null +++ b/mpi/make-logtab @@ -0,0 +1,31 @@ +#!/usr/bin/env perl + +# +# make-logtab +# +# Generate a table of logarithms of 2 in various bases, for use in +# estimating the output sizes of various bases. +# +# by Michael J. Fromberger <sting@linguist.dartmouth.edu> +# Copyright (C) 1999 Michael J. Fromberger, All Rights Reserved +# +# $Id: make-logtab,v 1.2 2006/07/07 19:35:02 sting Exp $ +# + +$ARRAYNAME = $ENV{'ARRAYNAME'} || "s_logv_2"; +$ARRAYTYPE = $ENV{'ARRAYTYPE'} || "double"; + +printf("const %s %s[] = {\n %0.9f, %0.9f, ", + $ARRAYTYPE, $ARRAYNAME, 0, 0); +$brk = 2; +for($ix = 2; $ix < 64; $ix++) { + printf("%0.9f, ", (log(2)/log($ix))); + $brk = ($brk + 1) & 3; + if(!$brk) { + printf("\t/* %2d %2d %2d %2d */\n ", + $ix - 3, $ix - 2, $ix - 1, $ix); + } +} +printf("%0.9f\n};\n\n", (log(2)/log($ix))); + +exit 0; |