| 1 | / |
| 2 | / |
| 3 | / D S I N |
| 4 | / - - - |
| 5 | / |
| 6 | /SUBROUTINE DSIN(X) |
| 7 | / |
| 8 | / VERSION 5A 4-27-77 PT |
| 9 | / |
| 10 | SECT DSIN |
| 11 | JA #DSIN |
| 12 | DPCHK |
| 13 | TEXT +DSIN + |
| 14 | SINXR, SETX XRSIN |
| 15 | SETB BPSIN |
| 16 | FPI2SN, 1 /PI DIVIDED BY 2 |
| 17 | 3110 |
| 18 | 3755 |
| 19 | 2421 |
| 20 | 0264 |
| 21 | 3016 |
| 22 | FPISIN, 2 /PI |
| 23 | 3110 |
| 24 | 3755 |
| 25 | 2421 |
| 26 | 0264 |
| 27 | 3016 |
| 28 | F2PISN, 3 /TWO PI |
| 29 | 3110 |
| 30 | 3755 |
| 31 | 2421 |
| 32 | 0264 |
| 33 | 3016 |
| 34 | BPSIN, F 0.0 |
| 35 | XRSIN, F 0.0 |
| 36 | X, F 0.0 |
| 37 | F 0.0 |
| 38 | ORG 10*3+BPSIN |
| 39 | FNOP |
| 40 | JA SINXR |
| 41 | 0 |
| 42 | SINRTN, JA . |
| 43 | SIN1, F 0.0 |
| 44 | F 0.0 |
| 45 | F3PIB2, 0003 /4.71238898038468986 |
| 46 | 2266 |
| 47 | 2761 |
| 48 | 7714 |
| 49 | 6207 |
| 50 | 2212 |
| 51 | F1SIN, F 1.0 |
| 52 | F 0.0 |
| 53 | / |
| 54 | SINC17, 7720 /1/17! |
| 55 | 3124 |
| 56 | 5435 |
| 57 | 6014 |
| 58 | 1265 |
| 59 | 1236 |
| 60 | SINC15, 7730 /-1/15! |
| 61 | 4506 |
| 62 | 0060 |
| 63 | 3063 |
| 64 | 0437 |
| 65 | 4133 |
| 66 | SINC13, 7740 /1/13! |
| 67 | 2604 |
| 68 | 4430 |
| 69 | 2352 |
| 70 | 0664 |
| 71 | 1151 |
| 72 | SINC11, 7747 /-1/11! |
| 73 | 4506 |
| 74 | 3352 |
| 75 | 3002 |
| 76 | 5354 |
| 77 | 3710 |
| 78 | SINC9, 7756 /1/9! |
| 79 | 2707 |
| 80 | 3616 |
| 81 | 4525 |
| 82 | 5434 |
| 83 | 6350 |
| 84 | / |
| 85 | SINC7, 7764 /-1/7! |
| 86 | 4577 |
| 87 | 4577 |
| 88 | 4577 |
| 89 | 4577 |
| 90 | 4636 |
| 91 | / |
| 92 | SINC5, 7772 /1/5! |
| 93 | 2104 |
| 94 | 2104 |
| 95 | 2104 |
| 96 | 2104 |
| 97 | 2104 |
| 98 | / |
| 99 | SINC3, 7776 /-1/3! |
| 100 | 5252 |
| 101 | 5252 |
| 102 | 5252 |
| 103 | 5252 |
| 104 | 5244 |
| 105 | / |
| 106 | SINTST, 7770 |
| 107 | 2000 |
| 108 | 0000 |
| 109 | 0000 |
| 110 | 0000 |
| 111 | 0000 |
| 112 | SEVTHR, 0007 |
| 113 | 2217 |
| 114 | 7777 |
| 115 | 7777 |
| 116 | 7777 |
| 117 | 7777 |
| 118 | BASE 0 |
| 119 | #DSIN, STARTD |
| 120 | FLDA 10*3 |
| 121 | FSTA SINRTN |
| 122 | FLDA 0 |
| 123 | SETX XRSIN |
| 124 | SETB BPSIN |
| 125 | BASE BPSIN |
| 126 | LDX 1,1 |
| 127 | LDX 73,2 |
| 128 | FSTA BPSIN |
| 129 | FLDA% BPSIN,1 /ADDR OF X |
| 130 | FSTA BPSIN |
| 131 | STARTE |
| 132 | FLDA% BPSIN /GET X |
| 133 | LDX -1,0 /SET SIGN TO POSITIVE. |
| 134 | JGT SINMOD /IF POSITIVE BYPASS FUDGE. |
| 135 | JEQ SINRTN /IF ZERO EXIT. |
| 136 | FNEG /NEGATIVE. NEGATE AC. SIN(-X)=-SIN(X) |
| 137 | LDX 0,0 /SET SIGN TO MINUS. |
| 138 | SINMOD, FSTA X |
| 139 | FDIV F2PISN /X/2PI |
| 140 | ALN 2 |
| 141 | FNORM |
| 142 | FMUL F2PISN /*2PI |
| 143 | FSTA SIN1 |
| 144 | FLDA X |
| 145 | FSUB SIN1 |
| 146 | FSTA SIN1 |
| 147 | FSTA X |
| 148 | /CHECK FOR QUADRANT |
| 149 | /1 0-PI/2 SIN(PI/2)=1 |
| 150 | /2 PI/2-PI SIN(PI)=0 |
| 151 | /3 PI-3PI/2 SIN(3PI/2)=-1 |
| 152 | /4 3PI/2-2PI SIN(2PI)=0 |
| 153 | / |
| 154 | FLDA FPI2SN /PI/2 |
| 155 | FSUB SIN1 |
| 156 | JGT TAYLOR |
| 157 | JEQ SPIB2 /=PI/2 |
| 158 | FLDA FPISIN /PI |
| 159 | FSUB SIN1 |
| 160 | JLT S1 |
| 161 | JEQ SPI /=PI |
| 162 | FLDA FPISIN |
| 163 | FSUB SIN1 /SIN(X)=SIN(PI-X) |
| 164 | FSTA X |
| 165 | JA TAYLOR |
| 166 | S1, FLDA F3PIB2 /3PI/2 |
| 167 | FSUB SIN1 |
| 168 | JLT S2 |
| 169 | JEQ S3PIB2 /=3PI/2 |
| 170 | FLDA SIN1 |
| 171 | FSUB FPISIN |
| 172 | FNEG |
| 173 | FSTA X /SIN(X)=-SIN(X-PI) |
| 174 | JA TAYLOR |
| 175 | S2, FLDA F2PISN /2PI |
| 176 | FSUB SIN1 |
| 177 | JLT DSNER /ERROR |
| 178 | JEQ SPI |
| 179 | FNEG |
| 180 | FSTA X |
| 181 | /CALCULATE SIN VIA TAYLOR SERIES |
| 182 | TAYLOR, FLDA X /RECALL NUMBER TO BE WORKED ON. |
| 183 | FMUL X /MULTIPLY OUT. |
| 184 | FSTA SIN1 |
| 185 | FMUL SINC17 /NOW DO THE STANDARD ITERATION. |
| 186 | FADD SINC15 |
| 187 | FMUL SIN1 |
| 188 | FADD SINC13 |
| 189 | FMUL SIN1 |
| 190 | FADD SINC11 |
| 191 | FMUL SIN1 |
| 192 | FADD SINC9 |
| 193 | FMUL SIN1 |
| 194 | FADD SINC7 |
| 195 | FMUL SIN1 |
| 196 | FADD SINC5 |
| 197 | FMUL SIN1 |
| 198 | FADD SINC3 |
| 199 | FMUL SIN1 |
| 200 | FADD F1SIN /ADD IN 1 FOR SERIES |
| 201 | FMUL X /DO THE FINAL MULTIPLY. |
| 202 | SING, JXN SINRTN,0 /SHALL WE NEGATE |
| 203 | FNEG /YEP |
| 204 | JA SINRTN /AND RETURN. |
| 205 | SPIB2, FLDA F1SIN |
| 206 | JA SING |
| 207 | SPI, FCLA |
| 208 | JA SINRTN |
| 209 | S3PIB2, FLDA F1SIN |
| 210 | FNEG |
| 211 | JA SING |
| 212 | EXTERN #ARGER |
| 213 | DSNER, TRAP4 #ARGER |
| 214 | \f |