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

World: r3wp

[!REBOL3-OLD1]

Pekr
2-Nov-2009
[19383x2]
otoh bitset probably does not have seriea-like "current position", 
so it might be questionable, what single remove bitset should do 
....
I never programmed in assembler, so I am not quite strong with all 
those binary things. Could someone explain to me, how are bitsets 
done in low level? E.g.:

>> bits: make bitset! 1
== make bitset! #{00}

>> find bits 1
== none

>> append bits 1
== make bitset! #{40}

>> find bits 1
== true


What does the binary #{40} = integer 64 mean? How is this value constructed?
Geomol
2-Nov-2009
[19385]
You created a bitset of just one byte. When you append 1 to the bitset, 
you set the bit representing position 1 in the bitset, so you get 
#{40}, which is equal to binary: 2#{01000000}
Position 0 in the bitset is the first bit. Example:

>> bits: append make bitset! 1 0
== make bitset! #{80}

which is equal to binary: 2#{10000000}

Note that bitsets have changed in R3!
Pekr
2-Nov-2009
[19386]
Precision delta time measurements - http://www.rebol.net/r3blogs/0289.html
Pavel
2-Nov-2009
[19387]
Have Bitset! some limit?  May it be used as bitmap index for some 
larger set?
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
[19432]
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...