Bulat Ziganshin wrote:
Hello Andrew,
Sunday, May 18, 2008, 3:42:23 PM, you wrote:
Isn't there some function kicking around somewhere for acessing arrays
without the bounds check? Similarly, I'm sure I remember the Data.Bits
bounds check being mentioned before, and somebody saying they had [or
were going to?] make an unsafe variant available. I've looked around the
library documentation and I'm not seeing anything... any hints?
unsafeRead/Write
Found in Data.Array.Base, apparently. (I managed to find an example in
the Gtk2hs "fastdraw" demo.)
Oddly, this seems to make virtually no performance difference. I find
this highly surprising. But then, I perform 16 write to the array, and
64 reads from the ByteString, so maybe that's where I should be worrying
about bounds checks...
(I# a) <<# (I# b) = (I# (a `iShiftL#` b))
(I# a) >># (I# b) = (I# (a `uncheckedIShiftRL#` b))
Does it make a difference if I want Word32 instead of Int?
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe