This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author mark.dickinson
Recipients belopolsky, draghuram, mark.dickinson, rhettinger, stutzbach
Date 2010-05-14.23:42:11
SpamBayes Score 8.497537e-06
Marked as misclassified No
Message-id <1273880536.1.0.648487000916.issue8692@psf.upfronthosting.co.za>
In-reply-to
Content
Okay, here's what I'm planning to commit (tomorrow), in case anyone wants to give it one last check.  I've added some comments half-explaining the algorithm used (just in case the referenced URL goes out of existence).  I made a couple of other minor changes to the algorithm:

(1) in factorial_partial_product, use 'k = (n + num_operands) | 1;' rather than 'k = (n + num_operands - 1) | 1;'.  This saves an operation, and means that when a range including an odd number of terms is split then the bottom half gets the extra term, which makes the partial products a teensy bit more balanced, since the bottom half consists of smaller numbers.

(2) in factorial_loop, I set the initial value of 'upper' to 3 rather than 1.  This avoids factorial_partial_product ever being called with a start of 1.

Apart from that, no significant changes.
History
Date User Action Args
2010-05-14 23:42:16mark.dickinsonsetrecipients: + mark.dickinson, rhettinger, belopolsky, draghuram, stutzbach
2010-05-14 23:42:16mark.dickinsonsetmessageid: <1273880536.1.0.648487000916.issue8692@psf.upfronthosting.co.za>
2010-05-14 23:42:14mark.dickinsonlinkissue8692 messages
2010-05-14 23:42:12mark.dickinsoncreate