6 ms·
log(exp(5)*exp(6))? Guess that won't work too well with larger numbers...
by soVeryTired 10y ago
log(exp(5)*exp(6))?
Guess that won't work too well with larger numbers...
- dr_zoidberg 10y agoIt breaks quite early: In [8]: math.log(math.exp(5000) * math.exp(6000)) --------------------------------------------------------------------------- OverflowError Traceback (most recent call last) <ipython-input-8-3d6e46c58c45> in <module>() ----> 1 math.log(math.exp(5000) * math.exp(6000)) OverflowError: math range error In [9]: math.log(math.exp(500) * math.exp(600)) Out[9]: inf
- brianwawok 10y agoHey let's not be a quitter >>> (Decimal(5000).exp() * Decimal(6000).exp()).ln() Decimal('11000.00000000000000000000000')
- dr_zoidberg 10y agoNice catch, but then: In [13]: Decimal(5000000).exp() * Decimal(5000000).exp() --------------------------------------------------------------------------- Overflow Traceback (most recent call last) <ipython-input-13-8333724ae893> in <module>() ----> 1 Decimal(5000000).exp() * Decimal(5000000).exp() Overflow: [<class 'decimal.Overflow'>] The problem is that the multiplication blows the precision of the used format (either double for math.log(...) or the one the decimal module uses). I had also thought about the intention of the question trying to get you to express the sum as bit operations (thought I admit that sounds like going for a very low-level profile), or maybe just "thinking outside the box".
- brianwawok 10y agoHey don't be a quitter, we can make Decimal support way bigger numbers via context
- dr_zoidberg 10y agoAlternative, buzzwordy approach: let's train a convolutional neural network to do addition!
- brianwawok 10y agoCan it run the MEAN stack?
- dr_zoidberg 10y agoYes, and we'll deploy it on The Cloud.