[vsipl++] [PATCH] Use IPP for Fir<>
Jules Bergmann
jules at codesourcery.com
Fri Oct 21 19:21:11 UTC 2005
Nathan,
Just need to make the final push here so we can check this off as done.
Can you:
- Encapsulate the use of IPP so that user programs don't see the
ipps.h header. This could go into ipp.hpp/ipp.cpp.
- Have the IPP version defer to the generic version for types
not supported by IPP (such as long-double and possibly int).
- Get the benchmark checked in.
- Fix the assertions to handle unsigned wrap-around when the input
view is size 0.
- Add tracker issue for the copy constructor and NOTHROW.
thanks,
-- Jules
Nathan (Jasper) Myers wrote:
> I have checked in the patch below.
>
> It makes vsip::Fir<> use IPP's FIR support where possible. In practice,
> that means whenever block size and decimation are not relatively prime.
> (IPP produces bad output when they are. The IPP API seems to make it
> impossible, so it amounts to an IPP documentation bug.) Fir<> uses
> the native C++ implementation for such cases. They are probably rare
> in real programs.
>
> The spec says the copy constructor Fir(Fir const&) is supposed to
> be VSIP_NOTHROW, but it seems to me that to implement it safely, it
> needs to do allocation. I declared it VSIP_THROW((std::bad_alloc)).
>
> The no-macro method used here to adapt to IPP's version of overloading
> is similar to that in fft-core.hpp, and seems practical for general
> use.
>
> Nathan Myers
> ncm
More information about the vsipl++
mailing list