зеркало из https://github.com/mozilla/gecko-dev.git
71 строка
2.1 KiB
Perl
Executable File
71 строка
2.1 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
|
|
#
|
|
# Treat each line as a sequence of comma and/or space delimited
|
|
# floating point numbers, and compute basic statistics on them.
|
|
# These are written to standard output
|
|
#
|
|
## 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: stats,v 1.1 2000/07/14 00:44:26 nelsonb%netscape.com Exp $
|
|
#
|
|
|
|
$min = 1.7976931348623157E+308;
|
|
$max = 2.2250738585072014E-308;
|
|
$sum = $num = 0;
|
|
|
|
while(<>) {
|
|
chomp;
|
|
|
|
@nums = split(/[\s,]+/, $_);
|
|
next if($#nums < 0);
|
|
|
|
$num += scalar @nums;
|
|
foreach (@nums) {
|
|
$min = $_ if($_ < $min);
|
|
$max = $_ if($_ > $max);
|
|
$sum += $_;
|
|
}
|
|
}
|
|
|
|
if($num) {
|
|
$avg = $sum / $num;
|
|
} else {
|
|
$min = $max = 0;
|
|
}
|
|
|
|
printf "%d\tmin=%.2f, avg=%.2f, max=%.2f, sum=%.2f\n",
|
|
$num, $min, $avg, $max, $sum;
|
|
|
|
# end
|