Largest int from concatenated ints: Difference between revisions

m
→‎exponentiated integers: simplified the NORM function.
m (→‎simple integers: simplified the NORM function.)
m (→‎exponentiated integers: simplified the NORM function.)
Line 2,013:
exit /*stick a fork in it, we're all done. */
/*──────────────────────────────────────────────────────────────────────────────────────*/
norm: arg i; #=word(z, i); er=' ***error*** '; numericif digitsleft(#, 3001)=="-" /*getthen #=substr(#, from Z. */2)
if \datatype(#,'N') then do; say er 'number' # "isn't an number."; exit 13; end
else #= abs(#) / 1 /*a #, so normalize it*/
if pos('E',#)>0 then do; parse var # mant "E" pow /*Has exponent? Expand*/
numeric digits pow + length(mand) /*expand digs, adjust#*/