zsh-workers
 help / color / mirror / code / Atom feed
From: Clinton Bunch <cdb_zsh@zentaur.org>
To: zsh-workers@zsh.org
Subject: Re: [PATCH 0/1] zsh/random module
Date: Tue, 26 Mar 2024 08:01:13 -0500	[thread overview]
Message-ID: <7a067deb-7e27-4fae-959d-d17f7e5b4f90@zentaur.org> (raw)
In-Reply-To: <e7c5eb5e-2f2f-4ef6-acdf-124490958a66@zentaur.org>

On 3/26/2024 07:47, Clinton Bunch wrote:
> On 3/24/2024 21:34, Bart Schaefer wrote:
>> On Sun, Mar 24, 2024 at 7:11 AM Clinton Bunch <cdb_zsh@zentaur.org> 
>> wrote:
>>> zrand_int takes 0-3 arguments, an exclusive upper bound, a lower bound,
>>> a flag to make the upper bound inclusive.
>> Documentation remarks:
>>
>> +optional.  If none are specified it is equivilent to
>>
>> Typo: "equivalent'
>>
>> +tt(inclusive) is a flag to determine whether the result can ever equal
>> +tt(upper).  By default it can not. If this argument is set to a 
>> non-zero value
>> +then it can.
>>
>> Something about the use of "can" in those sentences strikes me as odd.
>>    a flag that controls whether the result is ever equal to
>>    by default it is not
>>    then it may be
>> ??
>>
>> +possible return values 0-15, in order to use it as an array index 
>> which goes
>> +from 1-16 you need to add one.  Since it can return zero, you don't 
>> want it
>> +to return 16.
>>
>> It took me a few re-readings to figure out that "16" is meant as an
>> example result of $#a from the previous two expressions.  The switch
>> to addressing the reader as in "you need" / "you don't want" threw me
>> off.  Perhaps adding:
>>    For example, if $#a is 16,
>> and then end sentence and start again:
>>    values 0-15.  Thus in order
>> I might also change "Since" to "Because".
>>
> Does this work better:
>
> tt(inclusive) is a flag that controls whether the result is ever equal to
> tt(upper).  By default it is not. If this argument is set to a 
> non-zero value
> then it may be.
>
> This is to facilitate a construct like tt($a[zrand_int($#a)+1]) rather
> than tt($a[zrand_int+LPAR()$#a-1+RPAR()+1]).
> For example, if $#a is 16, you would use tt(zrand_int+LPAR()16RPAR()) 
> which has
> 16 possible return values 0-15, in order to use it as an array index 
> which goes
> from 1-16 you need to add one.  Because the function can return zero, 
> it would
> be an array index range error for it to also potentially return 16 
> ($#a). You
> could, however, use the construct tt(zrand_int+LPAR()16,1,1+RPAR()) 
> instead of
> adding 1 to achieve the same result, but it is more verbose.
>
> Most statistics algorithms seem to also expect 0 to tt(upper)-1, so 
> this was
> deemed the most commonly desired case and chosen as the default.
>
>
Also added a statement that the default values of upper and lower are 
also their limits.

tt(upper) is the upper bound on the resultant number and defaults to
4,294,967,295.

tt(lower) is the lower bound and defaults to 0.

The defaults of these two arguments are also the maximum and minimum to 
which
either can be set.





  reply	other threads:[~2024-03-26 13:03 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-24 14:11 Clinton Bunch
2024-03-25  2:34 ` Bart Schaefer
2024-03-26 12:47   ` Clinton Bunch
2024-03-26 13:01     ` Clinton Bunch [this message]
2024-03-26 18:25     ` Bart Schaefer
2024-04-06  2:41 ` Clinton Bunch
2024-04-06 16:48   ` Clinton Bunch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7a067deb-7e27-4fae-959d-d17f7e5b4f90@zentaur.org \
    --to=cdb_zsh@zentaur.org \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).