Message227410
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. |
|
Date |
User |
Action |
Args |
2014-09-24 07:25:02 | brg@gladman.plus.com | set | recipients:
+ brg@gladman.plus.com |
2014-09-24 07:25:02 | brg@gladman.plus.com | set | messageid: <1411543502.18.0.966419857361.issue22477@psf.upfronthosting.co.za> |
2014-09-24 07:25:02 | brg@gladman.plus.com | link | issue22477 messages |
2014-09-24 07:25:01 | brg@gladman.plus.com | create | |
|