[Bug-apl] Floating-point random number function

2017-06-29 Thread Elias Mårtenson
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 ⍝⍝ Li

Re: [Bug-apl] Floating-point random number function

2017-06-29 Thread Christian Robert
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

Re: [Bug-apl] Floating-point random number function

2017-06-29 Thread Elias Mårtenson
Thanks. I'll stick with this for now then. How would (res+V×0) wrap around, by the way? On 30 June 2017 at 12:17, Christian Robert 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

Re: [Bug-apl] Floating-point random number function

2017-06-29 Thread Christian Robert
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 mailto:christian.rob...@

Re: [Bug-apl] Floating-point random number function

2017-06-29 Thread Elias Mårtenson
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 wrote: > On 2017-06-30 00:19, Elias Mårtenson wrote: > >> Thanks. I'll stick with this for now th

Re: [Bug-apl] Floating-point random number function

2017-06-29 Thread Christian Robert
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.