зеркало из https://github.com/mozilla/gecko-dev.git
61 строка
2.1 KiB
Perl
Executable File
61 строка
2.1 KiB
Perl
Executable File
#!/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: make-logtab,v 1.3 2000/08/09 22:45:51 nelsonb%netscape.com Exp $
|
|
|
|
$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;
|