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 <christian.rob...@polymtl.ca> 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.rob...@polymtl.ca >> <mailto:christian.rob...@polymtl.ca>> 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> >> 54.55782413 ┃ >> ┃ 0.4543486424 ┏→━━━━━━━━━━━━━━━━━━━━━━━━━━━ >> ━━━━━━━━━━━━━━━━━━━━━┓┃ >> ┃ ┃2.024528001 <tel:2.024528001> >> 2.772781338 ┏→━━━━━━━━━━━━━━━━━━━━━━┓┃┃ >> ┃ ┃ ↓3.185551114 >> <tel:3.185551114> 3.13571477 ┃┃┃ >> ┃ ┃ ┃1.204617876 4 >> <tel:204617876%204>.396324338┃┃┃ >> ┃ ┃ >> ┗━━━━━━━━━━━━━━━━━━━━━━━┛┃┃ >> ┃ ┗∊━━━━━━━━━━━━━━━━━━━━━━━━━━━ >> ━━━━━━━━━━━━━━━━━━━━━┛┃ >> ┃634.0902523 >> 9.353801479┃ >> ┗∊∊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ >> ━━━━━━━━━━━━━━━━━┛ >> >> Regards, >> Elias >> >> >>