Boost logo

Boost Users :

Subject: Re: [Boost-users] [rational] proposed gcd and lcm for rational
From: Christopher Henrich (chenrich_at_[hidden])
Date: 2011-07-21 10:44:51


GCD and LCM can be defined for rationals, if one takes "divisible" to mean "divisible with an integer quotient" and, similarly, "multiple" to mean "multiple by an integer." Then, for example, GCD(1/2, 1/3) = 1/6 and LCM(1/2, 1/3) = 1.

On Jul 21, 2011, at 7:44 AM, Júlio Hoffimann wrote:

> Hi Thomas,
>
> Thank you for the intention, but as far as i know, GCD and LCM makes no sense in the rational field. Any rational number is divisible by all rationals. For instance, given two rationals b, r in Q, r != 0, you can write:
>
> b = (b * r^-1) * r
>
> and then b is divisible by r.
>
> Regards,
> Júlio.
>
> 2011/7/21 Thomas Taylor <thomas.taylor_at_[hidden]>
> Dear boost users and maintainers,
>
> As I needed these functions myself I have added a gcd and an lcm for the
> rational type.
> Feel free to do with the code whatever you want, if suitable add it to
> rational.hpp. Presumably this could be reworked as partial specialisation of
> boost::math::gcd and boost::math::lcm respectively (if there is a trait like
> is_rational).
>
> HTH,
> Thomas
>
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users

Christopher Henrich
chenrich_at_[hidden]
mathinteract.com



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net