Exponentiation operator: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) (Rename Perl 6 -> Raku, alphabetize, minor clean-up) |
(Added AppleScript implementation.) |
||
Line 238: | Line 238: | ||
One Gibi-unit is: 2.0**30.0=1073741824.0 - (cost: depends on precision) |
One Gibi-unit is: 2.0**30.0=1073741824.0 - (cost: depends on precision) |
||
</pre> |
</pre> |
||
=={{header|AppleScript}}== |
|||
<lang applescript>on exponentiationOperatorTask(n, power) |
|||
set power to power as integer |
|||
set operatorResult to (n ^ power) |
|||
set handlerResult to exponentiate(n, power) |
|||
return {operator:operatorResult, |handler|:handlerResult} |
|||
end exponentiationOperatorTask |
|||
on exponentiate(n, power) |
|||
-- AppleScript's ^ operator returns a real (ie. float) result. This handler does the same. |
|||
set n to n as real |
|||
set out to 1.0 |
|||
if (power < 0) then |
|||
repeat -power times |
|||
set out to out / n |
|||
end repeat |
|||
else |
|||
repeat power times |
|||
set out to out * n |
|||
end repeat |
|||
end if |
|||
return out |
|||
end exponentiate |
|||
exponentiationOperatorTask(3, 3) --> {operator:27.0, |handler|:27.0} |
|||
exponentiationOperatorTask(2, 16) --> {operator:6.5536E+4, |handler|:6.5536E+4} |
|||
exponentiationOperatorTask(2.5, 10) --> {operator:9536.7431640625, |handler|:9536.7431640625} |
|||
exponentiationOperatorTask(2.5, -10) --> {operator:1.048576E-4, |handler|:1.048576E-4}</lang> |
|||
=={{header|AutoHotkey}}== |
=={{header|AutoHotkey}}== |