cgal/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FractionTraits--CommonFactor.h

60 lines
1.3 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/// \addtogroup PkgAlgebraicFoundations Algebraic Foundations
/// @{
/// \addtogroup PkgAlgebraicFoundationsConcepts Concepts
/// @{
///
/// `AdaptableBinaryFunction`, finds great common factor of denominators.
/// This can be considered as a relaxed version of `AlgebraicStructureTraits::Gcd`,
/// this is needed because it is not guaranteed that `FractionTraits::Denominator_type` is a model of
/// `UniqueFactorizationDomain`.
/// \refines ::AdaptableBinaryFunction
/// \sa `Fraction`
/// \sa `FractionTraits`
/// \sa `FractionTraits::Decompose`
/// \sa `FractionTraits::Compose`
/// \sa `AlgebraicStructureTraits::Gcd`
class FractionTraits::CommonFactor {
public:
/// \name Types
/// @{
/*!
*/
typedef FractionTraits::Denominator_type result_type;
/// @}
/// \name Types
/// @{
/*!
*/
typedef FractionTraits::Denominator_type first_argument_type;
/// @}
/// \name Types
/// @{
/*!
*/
typedef FractionTraits::Denominator_type second_argument_type;
/// @}
/// \name Operations
/// @{
/*!
return a great common factor of \f$d1\f$ and \f$d2\f$. Note: <TT>operator()(0,0) = 0</TT>
*/
result_type operator()(first_argument_type d1, second_argument_type d2);
/// @}
}; /* concept FractionTraits::CommonFactor */
/// @}
/// @}