File: EXPCI.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text)
RALF V50A 8-APR-92 PAGE 1 /C=C**R COMPLEX RAISED TO INTEGER OR REAL INT. FUNC. / / / VERSION 50A 27-MAY-80 WVDM / / /C=A+I*B /C^D=R^D*EXP(D*I*THETA) / /C IS IN #BASE /D IS IN AC / /ENTER IN STARTF,EXIT IN STARTE / SECT #EXPCI ENTRY #EXPCR DPCHK EXTERN SQRT EXTERN ATAN2 EXTERN SIN EXTERN COS EXTERN EXP3 EXTERN #CAC / BASE 0 00000 1030 #EXPCR, JA . 00001 0000 00002 6400 FSTA EXPON,0 00003 0141 00004 0200 FLDA 0 /REAL 00005 6400 FSTA A,0 00006 0133 00007 0201 FLDA 3 /IMAG 00010 6400 FSTA B,0 00011 0136 / BASE .+2000 /SET DUMMY BASE PAGE / 00012 0400 FLDA A /R=SQRT(A*A+B*B) 00013 0133 00014 4400 FMUL A 00015 0133 00016 6400 FSTA R 00017 0144 00020 0400 FLDA B 00021 0136 00022 4400 FMUL B 00023 0136 00024 1400 FADD R 00025 0144 00026 6400 FSTA R 00027 0144 00030 1130 JSR SQRT 00031 0000 00032 1030 JA .+4 00033 0036 RALF V50A 8-APR-92 PAGE 1-1 00034 1030 JA R 00035 0144 00036 6400 FSTA R 00037 0144 00040 1130 JSR EXP3 /R^EXPON 00041 0000 00042 1030 JA .+6 00043 0050 00044 1030 JA R 00045 0144 00046 1030 JA EXPON 00047 0141 00050 6400 FSTA R 00051 0144 00052 1130 JSR ATAN2 /THETA=ATAN(B/A) 00053 0000 00054 1030 JA .+6 00055 0062 00056 1030 JA B 00057 0136 00060 1030 JA A 00061 0133 00062 4400 FMUL EXPON /THETA*EXPON 00063 0141 00064 6400 FSTA A /PHASE ANGLE 00065 0133 00066 1130 JSR SIN /IMAG=R*SIN(PHASE) 00067 0000 00070 1030 JA .+4 00071 0074 00072 1030 JA A 00073 0133 00074 4400 FMUL R 00075 0144 00076 6400 FSTA B 00077 0136 00100 1130 JSR COS /REAL=R*COS(PHASE) 00101 0000 00102 1030 JA .+4 00103 0106 00104 1030 JA A 00105 0133 00106 4400 FMUL R 00107 0144 00110 6400 FSTA A 00111 0133 00112 1010 JGE .+3 /SKIP IF RESULT IS POS 00113 0115 00114 0003 FNEG /IF NOT,MAKE IT POS 00115 2400 FSUB LOWLIM /TEST FOR ZERO 00116 0147 00117 1010 JGE .+5 /JUMP IF NOT 0 00120 0124 00121 0002 FCLA /ASSUME RESULT SHOULD BE 0 00122 6400 FSTA A /AND STORE A 0 00123 0133 RALF V50A 8-APR-92 PAGE 1-2 00124 0050 STARTE /RETURN RESULT IN #CAC AND STARTE 00125 0400 FLDA A 00126 0133 00127 6400 FSTA #CAC 00130 0000 00131 1030 JA #EXPCR 00132 0000 / 00133 0000 A, F 0.0 00134 0000 00135 0000 00136 0000 B, F 0.0 00137 0000 00140 0000 00141 0000 EXPON, F 0.0 00142 0000 00143 0000 00144 0000 R, F 0.0 00145 0000 00146 0000 00147 7760 LOWLIM, F 0.000009 /NUMBERS >= 1.E-5 OK 00150 2267 00151 7532 RALF V50A 8-APR-92 PAGE 2 RALF V50A 8-APR-92 PAGE 2-1 NO ERRORS 13 SYMBOLS, NO ABS REFS # C 00000 #CAC X 00000 #EXPCI S 00152 #EXPCR 00000 #MAIN S 00000 A 00133 ATAN2 X 00000 B 00136 COS X 00000 EXPON 00141 EXP3 X 00000 LOWLIM 00147 R 00144 SIN X 00000 SQRT X 00000