Boost logo

Geometry :

Subject: [ggl] Hello + some newbie questions
From: Mateusz Loskot (mateusz)
Date: 2009-05-05 18:14:00

Mateusz Loskot wrote:
> Barend Gehrels wrote:
>> The constants HALFPI etc should be replaced by / forwarded to
>> boost::math::constants::pi<T> / 2.0 etc (this should also be done
>> for our own ggl::math)
> Do you propose to keep constants like
> static double const pi = ...
> but to change their values to boost::math:: stuff?
> Or remove out own constants and use boost::math::* directly in all
> ggl:: code?

I have applied (r685, r686) use of boost::math::constants for PI and for
Also, I const-qualified intermediate results in functions, to be sure
compilers will always optimize these values.

I think the ggl::math::hav function could be template for easy
interchangeable use with float and double types:

template <typename T>
inline T hav(T const& theta)
    using boost::math::constants::half;
    T const sn = std::sin(half<T>() * theta);
    return sn * sn;

Same ggl::math::sqrt.

What you think?

Best regards,

Mateusz Loskot,
Charter Member of OSGeo,

Geometry list run by mateusz at