| 1 | / |
| 2 | / |
| 3 | / |
| 4 | / D E X P 3 |
| 5 | / - - - - - |
| 6 | / |
| 7 | /SUBROUTINE DEXP3(B,E) FOR DOUBLE TO DOUBLE |
| 8 | / |
| 9 | / VERSION 5A 4-26-77 MH |
| 10 | / |
| 11 | SECT DEXP3 |
| 12 | JA #DEXP3 |
| 13 | DPCHK |
| 14 | EXTERN #ARGER |
| 15 | EXP3ER, TRAP4 #ARGER |
| 16 | TEXT +DEXP3 + |
| 17 | EXP3XR, SETX XREXP3 |
| 18 | SETB BPEXP3 |
| 19 | JA .+3 |
| 20 | BPEXP3, FNOP |
| 21 | 0 |
| 22 | 0 |
| 23 | XREXP3, F 0.0 |
| 24 | EXP31, F 0.0 |
| 25 | F 0.0 |
| 26 | EXP32, F 0.0 |
| 27 | F 0.0 |
| 28 | ORG 10*3+BPEXP3 |
| 29 | FNOP |
| 30 | JA EXP3XR |
| 31 | 0 |
| 32 | XP3RTN, JA . |
| 33 | FP1XP3, F 1. |
| 34 | F 0.0 |
| 35 | BASE 0 |
| 36 | #DEXP3, STARTD |
| 37 | FLDA 10*3 |
| 38 | FSTA XP3RTN |
| 39 | FLDA 0 |
| 40 | SETX XREXP3 |
| 41 | SETB BPEXP3 |
| 42 | BASE BPEXP3 |
| 43 | LDX 1,1 |
| 44 | FSTA BPEXP3 |
| 45 | FLDA% BPEXP3,1 /ADDR OF B |
| 46 | FSTA EXP31 |
| 47 | FLDA% BPEXP3,1+ /ADDR OF E |
| 48 | FSTA EXP32 |
| 49 | STARTE |
| 50 | FLDA% EXP31 /GET B |
| 51 | JEQ XP3RTN /0 ^ X = 0 |
| 52 | FSTA EXP31 /SAVE BASE |
| 53 | FLDA% EXP32 /GET E |
| 54 | JEQ EXP3ON /X ^ 0 = 1 |
| 55 | FSTA EXP32 /SAVE EXPONENT |
| 56 | FLDA EXP31 |
| 57 | JLT EXP3ER /ALL IS NOT WELL |
| 58 | EXTERN DLOG |
| 59 | JSR DLOG /CALL LOG |
| 60 | JA .+4 /TAKE LOG (B) |
| 61 | JA EXP31 |
| 62 | FMUL EXP32 /MULT BY EXPONENT-E |
| 63 | FSTA EXP31 |
| 64 | EXTERN DEXP |
| 65 | JSR DEXP /CALL EXP. |
| 66 | JA XP3RTN |
| 67 | JA EXP31 |
| 68 | EXP3ON, FLDA FP1XP3 |
| 69 | JA XP3RTN |
| 70 | \f |