git: 9d17b61b2fd2 - main - ministat: Clean up usage message, manual page, and chameleon

From: Mateusz Piotrowski <0mp_at_FreeBSD.org>
Date: Thu, 13 Nov 2025 10:28:57 UTC
The branch main has been updated by 0mp:

URL: https://cgit.FreeBSD.org/src/commit/?id=9d17b61b2fd254b418f3dd6b7a64afbc861a57f8

commit 9d17b61b2fd254b418f3dd6b7a64afbc861a57f8
Author:     Mateusz Piotrowski <0mp@FreeBSD.org>
AuthorDate: 2025-11-12 15:06:06 +0000
Commit:     Mateusz Piotrowski <0mp@FreeBSD.org>
CommitDate: 2025-11-13 10:27:23 +0000

    ministat: Clean up usage message, manual page, and chameleon
    
    In the manual page:
    - Fix synopsis and use better argument names
    - Improve description of flags.
    - In EXAMPLES, list the contents of iguana and chameleon files.
    - Use Rs to reference The Cartoon Guide to Statistics
    - Fix misc indentation and style issues
    - Tag SPDX
    
    MFC after:      1 week
    Reviewed by:    bcr, ziaee
    Differential Revision:  https://reviews.freebsd.org/D53710
---
 usr.bin/ministat/chameleon  |   2 +-
 usr.bin/ministat/ministat.1 | 146 +++++++++++++++++++++++++++++---------------
 usr.bin/ministat/ministat.c |   2 +-
 3 files changed, 98 insertions(+), 52 deletions(-)

diff --git a/usr.bin/ministat/chameleon b/usr.bin/ministat/chameleon
index ed1bfdbc4773..dfb1923c000f 100644
--- a/usr.bin/ministat/chameleon
+++ b/usr.bin/ministat/chameleon
@@ -1,5 +1,5 @@
 150
 400
-720	
+720
 500
 930
diff --git a/usr.bin/ministat/ministat.1 b/usr.bin/ministat/ministat.1
index cef7caa7b9d9..437fd66a1ddc 100644
--- a/usr.bin/ministat/ministat.1
+++ b/usr.bin/ministat/ministat.1
@@ -1,6 +1,7 @@
 .\"
-.\" Copyright (c) 2007 Poul-Henning Kamp
-.\" All rights reserved.
+.\" Copyright (c) 2007 Poul-Henning Kamp. All rights reserved.
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
 .\"
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd November 10, 2012
+.Dd November 13, 2025
 .Dt MINISTAT 1
 .Os
 .Sh NAME
@@ -33,9 +34,9 @@
 .Nm
 .Op Fl Anqs
 .Op Fl C Ar column
-.Op Fl c Ar confidence_level
-.Op Fl d Ar delimiter
-.Op Fl w Op width
+.Op Fl c Ar confidence
+.Op Fl d Ar delimiters
+.Op Fl w Ar width
 .Op Ar
 .Sh DESCRIPTION
 The
@@ -44,10 +45,26 @@ command calculates fundamental statistical properties of numeric data
 in the specified files or, if no file is specified, standard input.
 .Pp
 The options are as follows:
-.Bl -tag -width Fl
+.Bl -tag -width "-c confidence"
 .It Fl A
 Just report the statistics of the input and relative comparisons,
 suppress the ASCII-art plot.
+.It Fl C Ar column
+Specify which column of data to use.
+By default the first column in the input file(s) is used.
+.It Fl c Ar confidence
+Specify desired confidence level for Student's T analysis.
+Possible percent values are
+.Cm 80 , 90 , 95 , 98 , 99 ,
+and
+.Cm 99.5 .
+.It Fl d Ar delimiters
+Specify the column delimiter characters, default is
+.Ql \ \et
+.Pq i.e., a space and a tab .
+See
+.Xr strtok 3
+for details.
 .It Fl n
 Just report the raw statistics of the input, suppress the ASCII-art plot
 and the relative comparisons.
@@ -58,75 +75,104 @@ alongside
 .It Fl s
 Print the average/median/stddev bars on separate lines in the ASCII-art
 plot, to avoid overlap.
-.It Fl C Ar column
-Specify which column of data to use.
-By default the first column in the input file(s) are used.
-.It Fl c Ar confidence_level
-Specify desired confidence level for Student's T analysis.
-Possible values are 80, 90, 95, 98, 99 and 99.5 %
-.It Fl d Ar delimiter
-Specifies the column delimiter characters, default is SPACE and TAB.
-See
-.Xr strtok 3
-for details.
 .It Fl w Ar width
-Width of ASCII-art plot in characters.
+Set the width of the ASCII-art plot in characters.
 The default is the terminal width, or 74 if standard output is not a
 terminal.
 .El
 .Pp
+.Nm
+accepts up to seven input files.
+.Pp
+Each dataset must contain at least three values.
+.Sh EXIT STATUS
+.Ex -std
+.Sh EXAMPLES
+Let's consider two input files.
+The first one will be
+.Dq iguana :
+.Bd -literal -offset indent
+50
+200
+150
+400
+750
+400
+150
+.Ed
+.Pp
+The second one will be
+.Dq chameleon :
+.Bd -literal -offset indent
+150
+400
+720
+500
+930
+.Ed
+.Pp
 A sample output could look like this:
 .Bd -literal -offset indent
-  $ ministat -s -w 60 iguana chameleon
-  x iguana
-  + chameleon
-  +------------------------------------------------------------+
-  |x      *  x            *      +              + x           +|
-  | |________M______A_______________|                          |
-  |             |________________M__A___________________|      |
-  +------------------------------------------------------------+
-      N        Min        Max     Median        Avg       Stddev
-  x   7         50        750        200        300    238.04761
-  +   5        150        930        500        540    299.08193
-  No difference proven at 95.0% confidence
+$ ministat -s -w 60 iguana chameleon
+x iguana
++ chameleon
++------------------------------------------------------------+
+|x      *  x            *      +              + x           +|
+| |________M______A_______________|                          |
+|             |________________M__A___________________|      |
++------------------------------------------------------------+
+    N        Min        Max     Median        Avg       Stddev
+x   7         50        750        200        300    238.04761
++   5        150        930        500        540    299.08193
+No difference proven at 95.0% confidence
 .Ed
 .Pp
 If
 .Nm
 tells you, as in the example above, that there is no difference
-proven at 95% confidence, the two data sets you gave it are for
+proven at 95% confidence, the two datasets you gave it are for
 all statistical purposes identical.
 .Pp
 You have the option of lowering your standards by specifying a
 lower confidence level:
 .Bd -literal -offset indent
-  $ ministat -s -w 60 -c 80 iguana chameleon
-  x iguana
-  + chameleon
-  +------------------------------------------------------------+
-  |x      *  x            *      +              + x           +|
-  | |________M______A_______________|                          |
-  |             |________________M__A___________________|      |
-  +------------------------------------------------------------+
-      N        Min        Max     Median        Avg       Stddev
-  x   7         50        750        200        300    238.04761
-  +   5        150        930        500        540    299.08193
-  Difference at 80.0% confidence
-        240 +/- 212.215
-        80% +/- 70.7384%
-        (Student's t, pooled s = 264.159)
+$ ministat -s -w 60 -c 80 iguana chameleon
+x iguana
++ chameleon
++------------------------------------------------------------+
+|x      *  x            *      +              + x           +|
+| |________M______A_______________|                          |
+|             |________________M__A___________________|      |
++------------------------------------------------------------+
+    N        Min        Max     Median        Avg       Stddev
+x   7         50        750        200        300    238.04761
++   5        150        930        500        540    299.08193
+Difference at 80.0% confidence
+      240 +/- 212.215
+      80% +/- 70.7384%
+      (Student's t, pooled s = 264.159)
 .Ed
 .Pp
 But a lower standard does not make your data any better, and the
 example is only included here to show the format of the output when
 a statistical difference is proven according to Student's T method.
 .Sh SEE ALSO
-Any mathematics text on basic statistics, for instances Larry Gonicks
-excellent "Cartoon Guide to Statistics" which supplied the above example.
+Any mathematics text on basic statistics, for instance the following book,
+which supplied the above example:
+.Rs
+.%A Larry Gonick
+.%A Woollcott Smith
+.%B The Cartoon Guide to Statistics
+.%D 1993
+.%I HarperPerennial
+.%O ISBN 0-06-273102-5
+.Re
 .Sh HISTORY
 The
 .Nm
-command was written by Poul-Henning Kamp out of frustration
+command was written by
+.An Poul-Henning Kamp
+out of frustration
 over all the bogus benchmark claims made by people with no
 understanding of the importance of uncertainty and statistics.
 .Pp
diff --git a/usr.bin/ministat/ministat.c b/usr.bin/ministat/ministat.c
index 6967841a339f..7d3232370121 100644
--- a/usr.bin/ministat/ministat.c
+++ b/usr.bin/ministat/ministat.c
@@ -530,7 +530,7 @@ usage(char const *whine)
 
 	fprintf(stderr, "%s\n", whine);
 	fprintf(stderr,
-	    "Usage: ministat [-C column] [-c confidence] [-d delimiter(s)] [-Anqs] [-w width] [file [file ...]]\n");
+	    "Usage: ministat [-Anqs] [-C column] [-c confidence] [-d delimiter(s)] [-w width] [file ...]]\n");
 	fprintf(stderr, "\tconfidence = {");
 	for (i = 0; i < NCONF; i++) {
 		fprintf(stderr, "%s%g%%",