|
Boost : |
Subject: Re: [boost] Google Summer Of Code
From: Brian Bartman (bbartmanboost_at_[hidden])
Date: 2010-03-30 16:19:05
Alright thanks for the feed back I'll keep that in mind.
On Tue, Mar 30, 2010 at 11:56 AM, vicente.botet <vicente.botet_at_[hidden]>wrote:
> Hi Brian,
> ----- Original Message -----
> From: "Brian Bartman" <bbartmanboost_at_[hidden]>
> To: <boost_at_[hidden]>
> Sent: Tuesday, March 30, 2010 4:55 PM
> Subject: Re: [boost] Google Summer Of Code
>
>
> > I was writing my proposal and going over some of the different ways to
> > suggest implementation for bit masks and utilities, and was wondering if
> it
> > would be alright to propose to do the work in C++0x which I have been
> > working in for the last two years or so.
> >
> > The project would benefit from the following features in C++0x,
> > Varidic templates (a compact tupple)
> > static_assert (for preventing the user from causing a massive error with
> 0
> > width bit fields)
> > constexper s (not part of GCC but its been a couple of months since I
> last
> > updated)
>
> I think that the better is to implement something that can be used on a
> large set of compilers. This includes of course compilers providing C++0x
> support. For the other, you will need to emulate the C++0x features that are
> not available, so you will need to emulate variadic templates. static assert
> is already emmulated either by BOOST_STATEIC_ASSERT or
> BOOST_MPL_STATIC_ASSERT.
>
> You can present a plan that starts with the use of C++0x features if you
> think it is more convenient, but as the project is not too large I consider
> that support for the common C++98 compilers is desirable.
>
> Best,
> Vicente
>
>
> > On Thu, Mar 18, 2010 at 2:56 PM, vicente.botet <vicente.botet_at_[hidden]
> >wrote:
> >
> >>
> >> ----- 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
> >>
> >>
> >>
> >> _______________________________________________
> >> Unsubscribe & other changes:
> >> http://lists.boost.org/mailman/listinfo.cgi/boost
> >>
> > _______________________________________________
> > Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
> >
>
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk