[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-apl] Floating-point random number function
From: |
Louis de Forcrand |
Subject: |
Re: [Bug-apl] Floating-point random number function |
Date: |
Sat, 1 Jul 2017 04:39:44 +0200 |
?0 would be a good extention wouldn't it? I don't have access to an interpreter
but I would guess that it gives a domain error right now.
Cheers,
Louis
> On 1 Jul 2017, at 01:20, Christian Robert <address@hidden> wrote:
>
> You are right !
>
> Xtian.
>
>> On 2017-06-30 16:48, Frederick Pitts wrote:
>> Xtian,
>> Actually the function you present returns the type of the
>> argument, not the prototype, as per
>> Type <=> ↑0ρ⊂R
>> on page 46 of IBM's "APL2 Programming: Language Reference". The
>> prototype is the type of the first element of R, i.e.,
>> Prototype <=> ↑0⍴⊂↑R
>> Regards,
>> Fred
>>> On Fri, 2017-06-30 at 00:33 -0400, Christian Robert wrote:
>>> I don't know, your "(res+V×0)" is probably the way to go for that
>>> purpose, I'm not an expert but I understand what you mean.
>>>
>>> I have an alias defined as:
>>>
>>> proto←{↑0⍴⊂ ⍵}
>>>
>>> that give me the prototype of the argument (use with: 24 QuadCR proto
>>> w). It will probably not help you but good to know.
>>>
>>>
>>> Xtian.
>>>
>>>> On 2017-06-30 00:24, Elias Mårtenson wrote:
>>>> The purpose of it is to preserve the structure of the argument,
>>>> while setting all values to MAXINT.
>>>>
>>>> Is there a better way to achieve this?
>>>>
>>>> Regards,
>>>> Elias
>>>>
>>>> On 30 June 2017 at 12:21, Christian Robert <address@hidden
>>>> l.ca <mailto:address@hidden>> wrote:
>>>>
>>>> On 2017-06-30 00:19, Elias Mårtenson wrote:
>>>>
>>>> Thanks. I'll stick with this for now then.
>>>>
>>>> How would (res+V×0) wrap around, by the way?
>>>>
>>>>
>>>> Bad first reading, (res+V×0) does nothing, it add 0 to "res".
>>>> How is it usefull ?
>>>>
>>>> Xtian.
>>>>
>>>>
>>>>
>>>> On 30 June 2017 at 12:17, Christian Robert <christian.rober
>>>> address@hidden <mailto:address@hidden> <mailto:christian
>>>> address@hidden <mailto:address@hidden>>> wrote:
>>>>
>>>> I think this is the best you can get, about 62 bits of
>>>> randomness.
>>>>
>>>> (64⍴2) ⊤⎕syl[20;2] ⍝ the largest 64 bits
>>>> integer supported by gnu-apl
>>>> 0 1 1 1 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0
>>>> 0 0 0 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 0 0 0
>>>>
>>>> so, it's a bit less than 63 bits, say 62 bits for
>>>> safety is Ok.
>>>>
>>>> Note that (res+V×0) may wrap around.
>>>>
>>>> Xtian.
>>>>
>>>> On 2017-06-29 23:23, Elias Mårtenson wrote:
>>>>
>>>> I had a need to have a function that does the same
>>>> as monadic ?, but with the difference that the resulting numbers
>>>> not be integers, but floating point.
>>>>
>>>> Now, here's my attempt at creating such a
>>>> function, I'd like to know if this is the best way to achieve what
>>>> I need:
>>>>
>>>> ∇ r←*hrRand* V ;res
>>>> ⍝⍝ Like monadic ?, but returns floating point
>>>> numbers
>>>> res ← ⎕SYL[19+⎕IO;1+⎕IO]
>>>> r ← V × res÷⍨ ?res+V×0
>>>> ∇
>>>>
>>>> Example:
>>>>
>>>> * hrRand 3 2 ⍴ 10 100 5 (3 4 (2 2⍴5)) 1000*
>>>> ┏→━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
>>>> ━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
>>>> ↓ 4.138685128 <tel:4.138685128> <tel:4.138685128
>>>> <tel:4.138685128>>
>>>> 54.55782413 ┃
>>>> ┃ 0.4543486424 ┏→━━━━━━━━━━━━━━━━━━━━━━
>>>> ━━━━━━━━━━━━━━━━━━━━━━━━━━┓┃
>>>> ┃ ┃2.024528001
>>>> <tel:2.024528001> <tel:2.024528001 <tel:2.024528001>> 2.772781338
>>>> ┏→━━━━━━━━━━━━━━━━━━━━━━┓┃┃
>>>> ┃ ┃
>>>> ↓3.185551114 <tel:3.185551114> <tel:3.185551114 <tel:3.185551114>>
>>>> 3.13571477 ┃┃┃
>>>> ┃ ┃
>>>> ┃1.204617876 4 <tel:1.204617876%204>
>>>> <tel:204617876%204>.396324338┃┃┃
>>>> ┃ ┃
>>>> ┗━━━━━━━━━━━━━━━━━━━━━━━┛┃┃
>>>> ┃ ┗∊━━━━━━━━━━━━━━━━━━━━━━
>>>> ━━━━━━━━━━━━━━━━━━━━━━━━━━┛┃
>>>> ┃634.0902523
>>>> 9.353801479┃
>>>> ┗∊∊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
>>>> ━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
>>>>
>>>> Regards,
>>>> Elias
>>>>
>>>>
>>>>
- [Bug-apl] Floating-point random number function, Elias Mårtenson, 2017/06/29
- Re: [Bug-apl] Floating-point random number function, Christian Robert, 2017/06/30
- Re: [Bug-apl] Floating-point random number function, Elias Mårtenson, 2017/06/30
- Re: [Bug-apl] Floating-point random number function, Christian Robert, 2017/06/30
- Re: [Bug-apl] Floating-point random number function, Elias Mårtenson, 2017/06/30
- Re: [Bug-apl] Floating-point random number function, Christian Robert, 2017/06/30
- Re: [Bug-apl] Floating-point random number function, Frederick Pitts, 2017/06/30
- Re: [Bug-apl] Floating-point random number function, Christian Robert, 2017/06/30
- Re: [Bug-apl] Floating-point random number function,
Louis de Forcrand <=