Author brg@gladman.plus.com
Recipients brg@gladman.plus.com
Date 2014-09-24.07:25:01
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1411543502.18.0.966419857361.issue22477@psf.upfronthosting.co.za>
In-reply-to
Content
There is a discussion of this issue on comp.lang.python

The function known as 'the greatest common divisor' has a number of well defined mathematical properties for both positive and negative integers (see, for example, Elementary Number Theory by Kenneth Rosen). In particular gcd(a, b) = gcd(|a|, |b|).  

But the Python version of this function in the fractions module doesn't conform to these properties since it returns a negative value when its second parameter is negative.  

This behaviour is documented but I think it is undesirable to provide a function that has the well known and widely understood name 'gcd', but one that doesn't match the behaviour normally associated with this function.

I hence believe that consideration should be given to changing the behaviour of the Python greatest common divisor function to match the mathematical properties expected of this function.  If necessary a local function in the fractions module could maintain the current behaviour.
History
Date User Action Args
2014-09-24 07:25:02brg@gladman.plus.comsetrecipients: + brg@gladman.plus.com
2014-09-24 07:25:02brg@gladman.plus.comsetmessageid: <1411543502.18.0.966419857361.issue22477@psf.upfronthosting.co.za>
2014-09-24 07:25:02brg@gladman.plus.comlinkissue22477 messages
2014-09-24 07:25:01brg@gladman.plus.comcreate