|
Boost : |
Subject: Re: [boost] How to structurate libraries ?
From: Sebastian Redl (sebastian.redl_at_[hidden])
Date: 2009-01-15 11:27:58
Joel Falcou wrote:
>
> * Arch.Types: some low level traits and generation class including
> things like :
> -> make_integer that build an integer type able to hold at most N
> bytes and with a given signedness e.g : make_interger<3,signed>::type
> returns int32_t.
Isn't that the same as Boost.Integer's int_t family?
http://www.boost.org/doc/libs/1_36_0/boost/integer.hpp
> * Arch.SIMD : a SIMD computation library that provides a small scale
> binding to internal representation of a SIMD register on SIMD-enabled
> machine. Using Proto, a small DSEL is provided so one can write code
> like :
>
> vec<float> k = {5,5,5,5},r;
> r = ((2*k)/(3-k)).min();
>
> and have vec generate a proper SSEx or Altivec code. This also require
> some large config code to be added so we cna detect which extension
> can/is being used. Traits like is_simd, cardinal, vector_of, scalar_of
> are provided. Current plan is to see if vec can also act as some
> Fusion container and to see how to properly optimize fused operation
> (have an actual PHD student on this) and make it easily extensible for
> upcoming SIMD extension (including AVX, SSE5 or Cell SPU).
This sounds very interesting. Working with SSE intrinsics is rather a pain.
Sebastian
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk