Talk:Exponentiation operator
Fractional Exponents
This is for integer powers only right? No fractional exponents? --Mwn3d 05:58, 19 February 2008 (MST)
I believe that the REAL * REAL fraction can probably be done faster using some numerical equation. Eg simply
OP ** = ( REAL base, exponent )REAL: exp(log(base)*exponent); ~ # ... #
This above would work for fractional powers. For integral exponents the routine I provided is "sometimes" faster then alternatives, esp where the exponent is s power of two.
BTW: I wrote these routine as a hint to User:Short Circuit, and as a replacement to the mpz_class pow2(mpz_class exp)
routine he contributed in Lucas-Lehmer_test#C++ (Which is probably painfully slow).
NevilleDNZ 06:11, 19 February 2008 (MST)
- OK, but for this task, all that is required is intint and realint right? --Mwn3d 06:19, 19 February 2008 (MST)
Yes. NevilleDNZ 06:22, 19 February 2008 (MST)
It should be specified also the return type; even for intint it makes sense to return a real value, since if the exponent is negative, it is what we get mathemtically. Should we return an integer instead? (This means: if the exp is less than 0, the result is 0) --ShinTakezou 01:07, 8 December 2008 (UTC)
AWK
The awk solution is pretty weak: It does not handle fractional exponents. It looks like there is a log function for awk, so I reckon it is possible to create a fully working solution, but has been many years since I last looked at how to do this, so I need to do some revision on mathematics. I am working on a solution, but if someone already has a working algorithm then please paste it here as pseudocode, and I will try and translate it into awk. Markhobley 11:44, 7 September 2011 (UTC)