Ugh.. I haven't been following this thread at all ...
I unsubscribed from the -dev list because I always ended up in absurd discussions and there was not much technical content either. I suspected it would be bikeshed.org material but in any case let me make things clear. - 0^0 = 1 is NOT mathematically correct. The limit of x^x when x tends to +0 is 1, however when you consider the limit when x tends to -0, the limit is infinite. This is called Indeterminate Form. http://en.wikipedia.org/wiki/Indeterminate_form If you wonder, I failed a math quiz in the University for blindly using the value my HP Calculator gave (1), so I am sort of glad that this has been a free educational experience for some of you. The implementation in OOo doesn't return explicitly a 1 value but instead relies on what the libc pow() function does. The standard libc lets you do 0^0 but it also lets you divide by zero without aborting . Modern IEEE 754 2008 implements three power functions pow(), pown() and powr(), powr() being the most similar to the real mathematical function. The implementation is non intrusive: I added a wrapper in SAL that behaves like powr() so that we don't affect other formulas that use pow() internally. So far no one has given an example where shooting yourself in the foot by expecting pow(0,0) to be 1 is a good thing. I am gladly surprised that Excel does the same, but the real reason why I went ahead and implemented a solution is to do the right thing, mathematically speaking. Mathematical correctness is not something that IMHO pertains to democracy. Sure it would be nice to have an option to adjust your results for mathematically undetermined cases like 0^0 or 0/0 but unless you are planning to implement it don't expected such features to appear magically either. I would be extremely disappointed to have to revert a correct fix for non-technical reasons. I think I would lose any motivation to improve other functions in Calc. Pedro.