Hi Steve,

On Wed 09 Jun 2010 06:04, steve tell <[email protected]> writes:

> Does guile (1.8.x, or any version) have the integer logical shift
> operators, like C's << and >> ?

We have ash (arithmetic shift) but not lsh (logical shift). I admit I am
somewhat ignorant regarding when you would prefer lsh over ash. If it is
important (as it probably is) we should add lsh.

> While searching for those, I realized that what I was trying to do was
> represent small sets of booleans as the bits of an integer... and that
> somthing similar could be done in a more scheme-like fashion with
> bitvectors.
>
> But is there any way to copy the contents of bitvector a to another
> bitvector b of the same size, short of iterating over the elements?

There does not seem to be, though perhaps I am overlooking something.
There is array-copy!, but that is not implemented in the most efficient
way for contiguous uniform vectors like bitvectors. Would you like to
submit a patch to add bitvector-copy and/or bitvector-copy! ?

For my eye there's something still not right as far as bitvectors'
implementation. I guess I would prefer something with a bytevector as a
backing store... But that's a topic for another day.

Regards,

Andy
-- 
http://wingolog.org/

Reply via email to