/ FFPOW -- IFPOW POWERS / FOR 23 BIT F. P. FORMAT / WRITTEN BY / PHILLIP SIEMENS / LAWRENCE LIVERMORE LAB / FEBRUARY 18, 1975 ENTRY FFPOW ENTRY IFPOW OPDEF TADI 1400 OPDEF DCAI 3400 OPDEF JMPI 5400 LAP / FLOATING BASE TO FLOATING EXPONENT / X**Y WHERE X IS IN FAC / ALGORITHM EXP(Y*ALOG(X)) / NOTE 0**Y = 0 / ALSO 0**0 = 0 / (-X)**Y IS ERROR EVEN IF Y IS AN INTEGER FFPER, 4614 2027 FFPOW, 6140 /ENTRY 0002 TAD FFPOW /GET CDF TO CALLING FIELD FFP0, DCA FFP1 FFP1, HLT /GETS CDF TADI FFPOW# /GET CDF TO ARG DCA LOGX INC FFPOW# /BUMP POINTER TADI FFPOW# /GET ARG ADDRESS DCA LOGX# INC FFPOW# /BUMP POINTER TAD ACH /GET X SPA /IS IT POSITIVE? JMP MINUSX /NO -- ERROR SNA CLA /IS IT ZERO? JMP FFP3 /YES -- EXIT WITH FAC=0 FFP4, CALL 1, ALOG /ALOG(X) ARG ACH CALL 1, FMP /Y*ALOG(X) LOGX, ARG 0 CALL 1, EXP /EXP(Y*ALOG(X)) ARG ACH FFP3, CLA CLL CML RTL /FAST EXIT TAD FFP1 DCA FFP2 FFP2, HLT JMPI FFPOW# MINUSX, CALL 1, ERROR ARG FFPER CALL 0, CHS JMP FFP4 / INTEGER TO FLOATING POWER / FLOAT THE BASE IFPOW, 6140 /ENTRY 0002 CALL 0, FLOT TAD IFPOW# DCA FFPOW# TAD IFPOW JMP FFP0 END