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

World: r3wp

[!REBOL3-OLD1]

Geomol
2-Nov-2009
[19388]
Bitset Virtual Length: http://rebol.com/r3/docs/datatypes/bitset.html#section-28

I read it, as if bitsets can be as long as you need, but try it out.


More information about bitsets, including details of changes from 
R2 to R3:
http://www.rebol.net/wiki/Bitsets
kcollins
2-Nov-2009
[19389]
>> make bitset! to-integer power 2 24
** Script error: invalid argument: 16777216
** Where: make
** Near: make bitset! to-integer power 2 24

>> make bitset! to-integer (power 2 24) - 1
== make bitset! #{
00000000000000000000000...

>>
Maxim
3-Nov-2009
[19390]
do you really need a 16MB bitset !! ?
kcollins
3-Nov-2009
[19391]
no, but that seems to be the limit
Pavel
3-Nov-2009
[19392]
Thanks for analysis Kcollins! Maxim the question was if Bitmap may 
be used as searchable bitmap index into dataset (key-value, index-value 
in this case) all this in searching of holly grail what is named 
RIF in Rebol :). The answer is yes if you would use max 16 M of indexes. 
The merit is using somehow compressed format. Oher info in Wikipedia 
bitmap indexes, or Fastbit database (database for very large datasets 
from particle colliders).
Maxim
3-Nov-2009
[19393x2]
neat.
the R3 bitset object is really nice.
Graham
3-Nov-2009
[19395]
Would it just be clutter to add a synonym for 'not  ... eg. 'no ?
Maxim
3-Nov-2009
[19396]
'NO is already used for 'FALSE   as in yes/no.
Graham
3-Nov-2009
[19397]
ok.
Henrik
4-Nov-2009
[19398]
Host builds plan:

http://www.rebol.net/wiki/Host-Builds
Maxim
4-Nov-2009
[19399]
so Carl, seems it was a bit more work than expected to get that host 
code out of your disk  ;-)
(reffering to this http://www.rebol.net/wiki/Host-Builds)
Tomc
5-Nov-2009
[19400x2]
would someone please run his in r3 and let me know the result
mod (power 2 63 - 3) 10
Maxim
5-Nov-2009
[19402x2]
>> mod (power 2 63 - 3) 10
== -4.0
(in A94)
Henrik
5-Nov-2009
[19404]
-4.0 in OSX A94.
Maxim
5-Nov-2009
[19405]
mine was on XP
Sunanda
5-Nov-2009
[19406]
-4.0
.....A94, Windows Vista
Tomc
5-Nov-2009
[19407x5]
hmmm ...should not underflow and underflow should be reported.
it is the same back in r2 on solais & windows
2^48 is as high as I can go on a 32 bit windows intel  before  abundant 
underflows    

and  only  2^ 49 on a  64 bit solaris sparc . Does R3 use the entire 
width of the available processor?
I realize these are decimal aproximations (at least on the 32 bit 
machine) 
but rebols mod function returns decimals
for example mod (PI + 50.0) 10 .  

why would these aproximated large values not come back as their nearest 
decimal aproximations if t
.. if that is the problem
Maxim
5-Nov-2009
[19412]
is this a common IEEE floating point issue?
Tomc
5-Nov-2009
[19413]
I could see that  being the case on a 32 bit machine but not one 
with an exact representation
Maxim
5-Nov-2009
[19414x2]
you should create a curecode ticket and discuss this with Carl.  
AFAIK he is savy about this stuff, so you could help him improve 
this if at all possible  :-)
he takes curecode VERY seriously.  and it will act as a databank 
of info however this turns out, for future reference.
Tomc
5-Nov-2009
[19416]
standard significand for iEEE single precision is 24 bits  so yes 
it is likely related to double precision behavior
Geomol
5-Nov-2009
[19417]
I haven't got time to dig in deeper right now, but remember, there 
are many MOD functions:
MOD, REMAINDER, MODULO, //
Other?
Tomc
5-Nov-2009
[19418x2]
origanally there was just mod  I may have assumed the rest were alias'
modulo is a wrapper  around mod to make the result pretty in some 
cases
Pekr
5-Nov-2009
[19420]
by re-reading some of Max ideas about draw, View, etc., I now think 
that deeper change is needed. Gobs sound so old-school by his propositions 
....
Mchean
5-Nov-2009
[19421]
anyone got a rebol 3 icon for the desktop?
Pekr
5-Nov-2009
[19422]
not yet ...
Mchean
5-Nov-2009
[19423x2]
yeah, it's not a priority, but i moved the shortcut to my desktop
so... :)
Pekr
5-Nov-2009
[19425]
some ideas from hostilefork - http://hostilefork.com/shared/rebol/rebol_rebooted_3d.png
Henrik
5-Nov-2009
[19426]
http://www.rebol.com/consulting.html
amacleod
5-Nov-2009
[19427]
Wher does he find the time?
Maxim
5-Nov-2009
[19428]
maybe its the return of REBOL as a team instead of a one man show? 
  

like its used to be in the golden days of rebol 1.x   

ahh  Bo, was such a cool guy at support   :-D
BrianH
6-Nov-2009
[19429x2]
Maxim, did you notice the link Henrik posted? The days of the one 
man show are over :)
Sorry, you were commenting on the link :)
Yes, it's the return of the team.
Pekr
7-Nov-2009
[19431]
Protect with Path targets - http://www.rebol.net/r3blogs/0292.html
Steeve
7-Nov-2009
[19432x2]
Some understandings.
What Rebol is doing when a serie is growing. ?
We know Rebol expands them, but following what scheme ?

I made some tests and saw really strange things.


Starting with an empty string and adding 32 * 1024 chars, I listed 
when the string is expanded.
>>8 16 48 112 240 512 2048 8192 32768


Meaning, when adding the eigth char, the string is expanded to fit 
15 chars.
It makes sense, because the size of a cell in memory is 16 bytes.

So, in the first cell, only 7 chars can be stored (remember, in R3 
a char takes 2 bytes)
Why 7 chars and not 8 ?
Because a string is terminated with the (null) char.


Another things we can see is that more a serie is large, more the 
reserved cells are numerous when an expansion occurs. 

It's a little frightening because we don't control very well the 
expansion in memory.

Now say, we're starting with a string of 8191 length.
>> 8192 16384 ... 

By, just adding one more char in it, my tests show it will double 
the whole size of the string in memory.
Is that not too much ?
Don't know...
hum, i think i'm wrong somewhere, need more tests....
Geomol
7-Nov-2009
[19434]
I feel, it's a common thing to double sizes of series, when they 
grow. Lua does it too.
Gabriele
8-Nov-2009
[19435x3]
Steeve, it is not true that a char takes 2 bytes. That depends on 
the content of the string.
it is common practice to grow exponentially like REBOL does. it greatly 
limits the nuber of allocations and copies that need to be done.
Of course, there is a limit, after which the series is grown linearly. 
I don't remember what the limit is.