Binary powering


function power( b : number; e : integer ) : number; begin if e<0 then power := 1/power(b,-e) else if e=0 then power := 1 else if e=1 then power := b else if (e mod 2) = 0 then power := sqr( power( b, e div 2 ) ) else power := sqr( power( b, e div 2 ) ) * b end;

Pascal source (621.binpower.p)



© Addison-Wesley Publishing Co. Inc.