r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Core] Discuss core issues

Maxim
29-Apr-2007
[7739x2]
strange, I tried printing that path and in 2.7.2  it doesn't seem 
to exist... in what version did you try that?
btw... I assumed anton was confirming that the above path was usefull 
or part of plugin use... in that circumstance, the browser type would 
be usefull to know if the browser is mozzilla or IE based... but 
now... I'm a bit perplex!
btiffin
29-Apr-2007
[7741x2]
Maxim; REBOL/View 2.7.6.4.2  REBOL/Core 2.7.5.4.2 I just noticed 
it.  It's an integer! 0 in both.
Not in 2.5.6.4.2 REBOL/Pro from Linux SDK, built 5-aug-2003
Henrik
29-Apr-2007
[7743]
the async abilities found in certain releases of REBOL don't apply 
to locally stored files, do they?
Gabriele
30-Apr-2007
[7744]
they don't, afaik.
Geomol
2-May-2007
[7745]
random

I was checking out the random function, and it seems to only produce 
random numbers related to the integer datatype. Even if input is 
a decimal, a whole number comes out. So random can produce 2 ** 31 
- 1 different outputs. Is that correct? Would it be an idea to ask 
for 32 bit or 64 bit random numbers in REBOL v. 3? Maybe if input 
was 1.0, it could produce a 32 or 64 bit number between 0.0 and 1.0?
Any ideas?
Oldes
2-May-2007
[7746]
it would be nice... submit it to Rambo or use feedback
Geomol
2-May-2007
[7747]
A little related: It seems, that the largest whole number in REBOL 
is 10 ** 15 - 1 = 999999999999999.0

But using random on that number will only produce output from 1 to 
2 ** 31 - 1 = 2147483647, which is the largest integer. The implementation 
in REBOL is probably related to the ANSI C rand function, which produce 
output from 0 to RAND_MAX, which is at least 32767 (probably cpu 
related).
Gabriele
2-May-2007
[7748x4]
yep, random is 32 only
however, random/secure on a series might produce more than 2^31 combinations 
- in principle the generator should be able to, but if it's used 
or not i don't know.
is 32 only
 = "is 32 bit only"
Ladislav may know more here. also, r3 has 64bit ints, so maybe random 
will use all of them :)
Sunanda
2-May-2007
[7752]
Random also works on dates and times, so that _may_ get a wider range:
   random now.precise
Gabriele
2-May-2007
[7753x3]
with BASE being a string with 64 1s and 64 0s, this is a way to get 
64 random bits:
>> debase/base copy/part random/secure base 64 2
== #{2A244E8E385DEB95}
>> debase/base copy/part random/secure base 64 2
== #{FA7E48B23C8453B2}
>> debase/base copy/part random/secure base 64 2
== #{C4953D9C7AD2E832}
>> debase/base copy/part random/secure base 64 2
== #{D4CC627C5EE1B2DC}
>> debase/base copy/part random/secure base 64 2
== #{4E43B4503F6C76D8}
>> debase/base copy/part random/secure base 64 2
== #{5CC4C2F66F425FBF}
>> debase/base copy/part random/secure base 64 2
== #{77A4BC7F4C67A025}
>> debase/base copy/part random/secure base 64 2
== #{96FAA6879A2FE0E2}
>> debase/base copy/part random/secure base 64 2
== #{1B7D4F3C6DE6047A}

now we need someone to check if this can actually produce 2^64 different 
results ;)
Anton
3-May-2007
[7756x2]
Not today. :) Hmm Geomol, what did you need it for ?
(I can't remember the reason, but I expected random decimals to work 
too.)
Geomol
3-May-2007
[7758]
Anton, for an astronomy exercise at university. Actually it's about 
the distribution of galaxies, but the exercise goes like this:


Suppose that in the Sherwood Forest, the average radius of a tree 
is 1 m and the average number of trees per unit area is 0.005 m^-2. 
If Robin Hood shoots an arrow in a random direction, how far, on 
average, will it travel before it strikes a tree?


I'm making a simulation about this problem and need a good random 
generator to place the trees.
Sunanda
3-May-2007
[7759]
For truly random numbers:
http://www.random.org/
Maxim
3-May-2007
[7760x2]
IIRC, you can ask for their service to return a set of random numbers 
generated by the random.org server.  They have very good analysis 
of their numbers to prove their system is very random.
(it uses analog source sampling, radio noise IIRC)
Sunanda
3-May-2007
[7762]
Lots of background info into random, and some code too:

 http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-display-thread.r?m=rmlDPKJ
Anton
3-May-2007
[7763]
Geomol, well, the answer can't be more than 1km!  (I like questions 
like that, though.)
Geomol
4-May-2007
[7764x2]
Thanks guys! :-)
Anton, based on my simulation, I think the answer is below 100 m. 
The distribution of the trees is a Poisson distribution, the space 
between the trees is an Erlang distribution.
Brock
4-May-2007
[7766x4]
something on the trivial side....  I've been trying to get the below 
command to work in a dynamic fashion,
do [write/append %test.txt "This is text"]
I want the /append to either appear or not based on earlier condition 
checking.  However, the mutliple attempts I've made to either compose 
or reduce the necessary block isn't working.
I've tried many combinations, here are some that get the proper block, 
but it doesn't evaluate properly, indicating invalid path...

do compose [(reform[to-path join 'write ["/" 'append]]) %test.txt 
"This is text"]

do reform [to-path join 'write ["/" 'append]] %test.txt "This is 
text"]

do compose [(reform [to-path join 'write ["/" 'append]]) %test.txt 
"sample text"]
Pekr
4-May-2007
[7770]
hmm, I miss your evaluation of your condition here?
Brock
4-May-2007
[7771]
Any pointers would be great
Henrik
4-May-2007
[7772x2]
brock, notice this:

to-path ['write 'append]
sorry, strip the 's
Pekr
4-May-2007
[7774]
why not simply use:


either condition [write/append %test.txt "This is a text"][write 
%test.txt "This is a text"]
Anton
4-May-2007
[7775]
do pick [write write/append] condition %test.txt "This is text"
Henrik
4-May-2007
[7776x2]
do [to-path [write all [append? 'append]] %test.txt "this is a text"]
if append? is a flag, that is
Pekr
4-May-2007
[7778]
Anton - very elegant!
Anton
4-May-2007
[7779x2]
must reduce first
and even then, if the condition is false:
>> to-path reduce ['write all [false 'append]]
== write/none
Brock
4-May-2007
[7781x2]
checking out the options provided, may take a while to respond... 
thanks for the responses
Anton, that is an interesting solution indeed
Anton
4-May-2007
[7783x3]
do to-path compose [write (any [all [true 'append] ()])] %testible.txt 
"test"
I use the empty paren to generate an unset! value. Compose then dissolves 
a false condition to nothing.
Thankfully a path! with only one word ('write) in it still works 
just like a word! ('write) does.
Brock
4-May-2007
[7786]
Anton, the last options seems to auto-detect if the file is created 
and appends if it created, is that true?
Anton
4-May-2007
[7787]
Correct.
Brock
4-May-2007
[7788]
your first solution is more along the lines of what I need.   I need 
to be able to control whether I write or append through the condition.