RosettaCodeData/Task/Exponentiation-operator/Factor/exponentiation-operator-2.factor
2023-07-01 13:44:08 -04:00

6 lines
186 B
Factor

: pow ( f n -- f' )
{
{ [ dup 0 < ] [ abs pow recip ] }
{ [ dup 0 = ] [ 2drop 1 ] }
[ [ 2 mod 1 = swap 1 ? ] [ [ sq ] [ 2 /i ] bi* pow ] 2bi * ]
} cond ;