summaryrefslogtreecommitdiff
path: root/security/nss/lib/freebl/mpi/stats
blob: dd63ca0db7cd5f45eddb30a9856d7e96a1e78b98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/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$
#

$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