Subject: Re: [boost] Google Summer Of Code
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2010-03-18 17:56:55


----- Original Message -----
From: "Andrew Sutton" <andrew.n.sutton_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Thursday, March 18, 2010 8:26 PM
Subject: Re: [boost] Google Summer Of Code

>
>> > Hello my name is Brian Bartman and I am an undergraduate at Kent State
>> > University Majoring in computer science.
>>
>>
> I don't know if you are interested in improving Boost.Bitfield. I had two
>> features I wanted to add since long time but I had not time lastly finish
>> them. You can find information related to Boost.Bitfield in
>> https://svn.boost.org/trac/boost/wiki/LibrariesUnderConstruction#Boost.Bitfield
>> .
>>
>
> Hi Vicente.
>
> I think these would be great components of a "bit-based" proposal. I think
> I'd like to see a compact or compressed vector to replace the 1- and 2-bit
> color maps in Boost (and generalize the concept),

Could you point me to the library is using this kind of maps? An example?

> and a compact tuple, which
> (I think) is basically what you described for the RGB structure.

Yes I suppose we talk of the same thing.

> I think the
> pointer_plus_bits may make the project a bit extensive for the summer, but
> definitely something to think about as an extension.

Maybe :(
 
> On my part, I'd like to see compact_vector, compact_tuple and tools for bit
> and bitmask manipulation, with the pointer space reuse being an optional
> component.
>
> Would you be willing to mentor?

Who has posted the idea for Bits & Ints? is you?
"Bits & Ints

Boost could use a utility library that brings together and extends a number of existing data structrues and utilities for working with binary data. This library might include:

  a.. Multidimensional bitfields or dynamic_bitfields.
  b.. Compressed value array and vector (like vector<bool> but also for multi-bit values)
  c.. Programming utilities for bit and bitmask manipulation
This may also cover a number of integral special functions, including:

  a.. Functions for getting carry bits from addition and the high-half of an integer multiply
  b.. Sign extension from a length of m bits to a length of n
  c.. Rounding right-shifts (correctly rounded integer divide by powers of 2)
  d.. Saturating arithmetic operations
  e.. Multi-word shifts (used for things like inserting in the middle of a vector<bool>)
  f.. Bit reversal
  g.. Two-word divide by one-word value (there is often a special instruction for that)
  h.. Bit-interleaved arithmetic operations (used for Morton order/cache-oblivious traversals of matrices and similar things)
  i.. Everything from chapter 5 of https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF7785256996007558C6
"

In order to mentor this program I will need to understand what is behind each line.

Be free to contact me off line, and we will discuss of this subject.

Best,
Vicente