Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Jul 2003 13:00:32 -0700 (PDT)
From:      "David Brinegar" <jot.3.brinegar@spamgourmet.com>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: bin/54878: incorrect divisor in /usr/bin/jot -r
Message-ID:  <200307312000.h6VK0Wcw007289@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/54878; it has been noted by GNATS.

From: "David Brinegar" <jot.3.brinegar@spamgourmet.com>
To: "David Schultz  - das@freebsd.org" <+jot+brinegar+c45043f3f4.das#freebsd.org@spamgourmet.com>
Cc: FreeBSD-gnats-submit@freebsd.org
Subject: Re: bin/54878: incorrect divisor in /usr/bin/jot -r
Date: Thu, 31 Jul 2003 12:52:36 -0700

 David Schultz wrote:
 > Some people have also invoked jot in ways that anticipate the
 > correct behavior, too.  The manpage author was one of them!  The
 > program appears to be more significantly broken than I originally
 > thought.  Is there a good explanation for the following behavior?
 
 I agree with your sentiment.  I just don't know how much such
 corrections would break existing usage or portability.  Perhaps the
 correction should be under a new flag, say -R, so that the -r flag
 is bug for bug compatible.
 
 Explanation of behavior (not necessarily good):
 
    The default -w format is %.0f, which prints a rounded floating
    point value.  This cannot produce a uniform random distribution
    so is probably not suitable for use with -r, as both endpoints of
    the distribution will only be half as likely as other points.
 
    The -r output goes up to but does not include the specified
    endpoint.  jot -r -w %d n 1 4 will not print a 4.  jot -r n 1 4
    will, as explained above, round [3.5-4.0) to 4 even though 4.0 is
    not generated before rounding.
 
 More explanation at:
 
    http://www.freebsd.org/cgi/query-pr.cgi?pr=docs/54879
 
 -- 
 David Brinegar



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200307312000.h6VK0Wcw007289>