...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
detail/gcd_lcm.hpp provides two generic integer algorithms: greatest common divisor and least common multiple.
namespace details { namespace pool { template <typename Integer> Integer gcd(Integer A, Integer B); template <typename Integer> Integer lcm(Integer A, Integer B); } // namespace pool } // namespace details
Symbol | Meaning |
---|---|
Integer | An integral type |
A, B | Values of type Integer |
Expression | Result Type | Precondition | Notes |
---|---|---|---|
gcd(A, B) | Integer | A > 0 && B > 0 | Returns the greatest common divisor of A and B |
lcm(A, B) | Integer | A > 0 && B > 0 | Returns the least common multiple of A and B |
For faster results, ensure A > B
None.
This header may be replaced by a Boost algorithms library.
Revised 05 December, 2006
Copyright © 2000, 2001 Stephen Cleary (scleary AT jerviswebb DOT com)
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)