Author: pfg Date: Fri Feb 8 16:35:48 2013 New Revision: 1444115 URL: http://svn.apache.org/r1444115 Log: A miscellaneous use of boost.
Sinc(x) is a simple function used in communications. boost happens to use it for quaternion math. The implementation is simple, however it looks fun to re-use the boost function even if just to say we are using quaternion math somewhere ;). The performance difference is not likely to be huge but JIC, set up a specific Boost math policy to limit type promotion with it's corresponding impact. Modified: openoffice/trunk/main/vcl/inc/vcl/bitmap.hxx Modified: openoffice/trunk/main/vcl/inc/vcl/bitmap.hxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/inc/vcl/bitmap.hxx?rev=1444115&r1=1444114&r2=1444115&view=diff ============================================================================== --- openoffice/trunk/main/vcl/inc/vcl/bitmap.hxx (original) +++ openoffice/trunk/main/vcl/inc/vcl/bitmap.hxx Fri Feb 8 16:35:48 2013 @@ -30,6 +30,17 @@ #include <tools/rc.hxx> #include <vcl/region.hxx> +#ifdef WNT +#define _STLP_HAS_NATIVE_FLOAT_ABS +#endif + +#include <boost/math/special_functions/sinc.hpp> + +using namespace boost::math::policies; +typedef policy< + promote_double<false> +> SincPolicy; + // ----------- // - Defines - // ----------- @@ -261,8 +272,7 @@ public: } x *= M_PI; - - return sin(x) / x; + return boost::math::sinc_pi(x, SincPolicy()); } };