| Home | Libraries | People | FAQ | More

## Synopsis

    namespace boost
    {
    namespace math
    {

    template < typename IntegerType >
       class gcd_evaluator;
    template < typename IntegerType >
       class lcm_evaluator;

    template < typename IntegerType >
       IntegerType  gcd( IntegerType const &a, IntegerType const &b );
    template < typename ForwardIterator >
       std::pair<typename std::iterator_traits<I>::value_type, I> gcd_range(I first, I last);
    template < typename IntegerType >
       IntegerType  lcm( IntegerType const &a, IntegerType const &b );

    typedef see-below static_gcd_type;

    template < static_gcd_type Value1, static_gcd_type Value2 >
       struct static_gcd;
    template < static_gcd_type Value1, static_gcd_type Value2 >
       struct static_lcm;

    }
    }