mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-03-02 17:44:40 +00:00
1. Commit library tape images, directories, and extracted text files. 2. Commit additional utilities under Unisys-Emode-Tools.
257 lines
19 KiB
Plaintext
257 lines
19 KiB
Plaintext
LABEL 0000000000XXXXXX0010000001
|
|
$ CARD LIST
|
|
ESTIMATED STANDARD DEVIATIONS AND MOST PROBABLE ERRORS ESDV0000
|
|
OF BOND DISTANCES AND ANGLES, ESDV0001
|
|
FOR A MAXIMUM OF 100 ATOMS PER EVALUATED SET. ESDV0002
|
|
ESDV0003
|
|
BOOLEAN EXPRESSIONS FOR PROGRAM CONTROL OPTIONS : ESDV0004
|
|
ESDV0005
|
|
BOOL0 = TRUE : SELECTED BONDS ARE LISTED. ESDV0006
|
|
BOOL1 = TRUE : ANGLES ARE NOT COMPUTED. ESDV0007
|
|
ESDV0008
|
|
BY EDGAR L. EICHHORN, AND STEPHEN MATZNER. ESDV0009
|
|
ESDV0010
|
|
(PROFESSIONAL SERVICES, BURROUGHS CORPORATION). ESDV0011
|
|
ESDV0012
|
|
CARD SEQUENCE CODE STARTS WITH ESDV-0000. ESDV0013
|
|
FIELD TESTING COMPLETED 02 - 12 - 1964 ; ESDV0014
|
|
ESDV0015
|
|
ESDV0016
|
|
BEGIN ESDV0017
|
|
INTEGER I, J, K, R, Q, CYCLE ; ESDV0018
|
|
ESDV0019
|
|
REAL A, B, C, COSA, COSB, COSC, SUMH, SUMK, SUML, PSI, ESDV0020
|
|
SIGMAPSI, DISTMAXH, DISTMINH, ONEMAXS, ONEMINS, TWOMAXS, ESDV0021
|
|
TWOMINS, PSIMAX, PSIMIN, HYPOT, LEG1, LEG2, SIGHYP, ESDV0022
|
|
SIGLEG1, SIGLEG2, RAD, ARGMAX, ARGMIN ; ESDV0023
|
|
ESDV0024
|
|
ARRAY X, Y, Z, XXDC, YYDC, ZZDC, SIGMAX, SIGMAY, SIGMAZ[0:100], ESDV0025
|
|
DELTAX, DELTAY, DELTAZ, DIST, SIGDIST, SIGX, SIGY, ESDV0026
|
|
SIGZ[0:100,0:100] ; ESDV0027
|
|
ESDV0028
|
|
BOOLEAN BOOL0, BOOL1 ; ESDV0029
|
|
ESDV0030
|
|
LABEL ONSET, SETI, A2, A3, B3, A4, DISTSELECT, ESDV0031
|
|
A5, PSISELECT, ALEPH, BETA, GAMMA, DELTA, ETA, FINISH ; ESDV0032
|
|
ESDV0033
|
|
LIST CELL(A,B,C,COSA,COSB,COSC), ESDV0034
|
|
ATOMSS(X[I],SIGMAX[I],Y[I],SIGMAY[I],Z[I],SIGMAZ[I]), ESDV0035
|
|
DATADIST(I,J), ESDV0036
|
|
DATAPSI(I,J,K), ESDV0037
|
|
OUTX(I,X[I],SIGMAX[I],Y[I],SIGMAY[I],Z[I],SIGMAZ[I]), ESDV0038
|
|
OUTDIST(I,J,DIST[I,J],SIGDIST[I,J]), ESDV0039
|
|
PSILIST(I,J,K,PSI,SIGMAPSI) ; ESDV0040
|
|
ESDV0041
|
|
FORMAT IN FMIN1(X6,6F9.5), ESDV0042
|
|
FMIN2(2L5), ESDV0043
|
|
FMIN3(I2), ESDV0044
|
|
FMIN4(2I2), ESDV0045
|
|
FMIN5(3I2) ; ESDV0046
|
|
ESDV0047
|
|
FORMAT OUT STRUCTURE(X20,"4-HYDROXYPYRIDINE-N-OXIDE AFTER CYCLE NO.",ESDV0048
|
|
I2,///), ESDV0049
|
|
FORMX(I2,3(X7,2F9.5)), ESDV0050
|
|
COORDINATES(X1,"I",X12,"X",X5,"SIGMA-X",X12,"Y",X5, ESDV0051
|
|
"SIGMA-Y",X12,"Z",X5,"SIGMA-Z",///), ESDV0052
|
|
DISTANCES(//,X1,"I",X4,"J",X9,"DISTANCE",X5,"ERROR",//), ESDV0053
|
|
ANGLES(//,X1,"I",X4,"J",X4,"K",X10,"ANGLE",X3,"ERROR",//),ESDV0054
|
|
ERROR1("PSI VALUES INCORRECT"), ESDV0055
|
|
FORMDIST(2(I2,X3),X4,2F10.5), ESDV0056
|
|
FORMPSI(3(I2,X3),X4,2F8.2) ; ESDV0057
|
|
ESDV0058
|
|
FILE IN FIN(1,10) ; ESDV0059
|
|
ESDV0060
|
|
FILE OUT FOU 1 (1,15) ; ESDV0061
|
|
ESDV0062
|
|
PROCEDURE STANDARD ; ESDV0063
|
|
BEGIN ESDV0064
|
|
DISTMAXH ~ SIGHYP | (0.25) + HYPOT ; ESDV0065
|
|
DISTMINH ~ - SIGHYP | (0.25) + HYPOT ; ESDV0066
|
|
ONEMAXS ~ - SIGLEG1 | (0.25) + LEG1 ; ESDV0067
|
|
ONEMINS ~ + SIGLEG1 | (0.25) + LEG1 ; ESDV0068
|
|
TWOMAXS ~ - SIGLEG2 | (0.25) + LEG2 ; ESDV0069
|
|
TWOMINS ~ + SIGLEG2 | (0.25) + LEG2 ; ESDV0070
|
|
ARGMAX ~ (ONEMAXS | ONEMAXS + TWOMAXS | TWOMAXS - ESDV0071
|
|
DISTMAXH | DISTMAXH)/((2.0) | ONEMAXS |TWOMAXS);ESDV0072
|
|
ARGMIN ~ (ONEMINS | ONEMINS + TWOMINS | TWOMINS - ESDV0073
|
|
DISTMINH | DISTMINH)/((2.0) | ONEMINS |TWOMINS);ESDV0074
|
|
END STANDARD ; ESDV0075
|
|
ESDV0076
|
|
REAL PROCEDURE ARCCOS(X1) ; ESDV0077
|
|
ESDV0078
|
|
VALUE X1 ; ESDV0079
|
|
ESDV0080
|
|
REAL X1 ; ESDV0081
|
|
ESDV0082
|
|
BEGIN ESDV0083
|
|
REAL PIC,MC,X,T,Z,PI2 ; ESDV0084
|
|
ESDV0085
|
|
LABEL L1 ; ESDV0086
|
|
ESDV0087
|
|
IF ABS(X1) < 1@-6 THEN ESDV0088
|
|
BEGIN ESDV0089
|
|
ARCCOS ~-X1 + 1.57079632679 ; ESDV0090
|
|
GO TO L1 ESDV0091
|
|
END ; ESDV0092
|
|
PIC ~ 0 ; ESDV0093
|
|
MC ~ 1 ; ESDV0094
|
|
Z ~ SIGN(X1) ; ESDV0095
|
|
X ~ ABS(X1) ; ESDV0096
|
|
IF X > 0.92387953231 THEN ESDV0097
|
|
BEGIN ESDV0098
|
|
X ~ SQRT((1-X)/2) ; ESDV0099
|
|
PIC ~ 1.57079632679 ; ESDV0100
|
|
MC ~ -2 ESDV0101
|
|
END ESDV0102
|
|
ELSE ESDV0103
|
|
BEGIN ESDV0104
|
|
IF X > 0.70710678119 THEN ESDV0105
|
|
BEGIN ESDV0106
|
|
X ~2|(X*2) - 1 ; ESDV0107
|
|
PIC ~ 0.785398163397 ; ESDV0108
|
|
MC ~ 0.5 ESDV0109
|
|
END ESDV0110
|
|
END ; ESDV0111
|
|
T ~ X*2 ; ESDV0112
|
|
ARCCOS ~-((0.364541120348 - 4.22649415434/ ESDV0113
|
|
(T - 8.66648256098 - 6.1228848016/ ESDV0114
|
|
(T - 3.2316720226 - 0.312873861283/ ESDV0115
|
|
(T - 1.63902626905 - 0.0268477822258/ ESDV0116
|
|
(T - 1.16535753774))))) | MC | X + PIC) | Z ESDV0117
|
|
+ 1.57079632679 ; ESDV0118
|
|
ESDV0119
|
|
L1: END ; ESDV0120
|
|
ESDV0121
|
|
ESDV0122
|
|
ONSET: READ(FIN,FMIN1,CELL) ; ESDV0123
|
|
READ(FIN,FMIN2,BOOL0,BOOL1) ; ESDV0124
|
|
READ(FIN,FMIN3,CYCLE) ; ESDV0125
|
|
SUMH ~ SUMK ~ SUML ~ 0 ; RAD ~ 57.2957795056 ; ESDV0126
|
|
ESDV0127
|
|
SETI: I ~ 1 ; ESDV0128
|
|
ESDV0129
|
|
A2: READ(FIN,FMIN1,ATOMSS) ; ESDV0130
|
|
IF ABS(X[I]) = 999.9 THEN GO TO A3 ; ESDV0131
|
|
I ~ I + 1 ; GO TO A2 ; ESDV0132
|
|
ESDV0133
|
|
A3: R ~ I ; ESDV0134
|
|
WRITE(FOU,STRUCTURE,CYCLE) ; ESDV0135
|
|
WRITE(FOU,COORDINATES) ; ESDV0136
|
|
ESDV0137
|
|
COMMENT INPUT PARAMETERS ARE CHECKED BY LISTING THEM FIRST ; ESDV0138
|
|
ESDV0139
|
|
B3: FOR I ~ 1 STEP 1 UNTIL R DO ESDV0140
|
|
BEGIN ESDV0141
|
|
WRITE(FOU,FORMX,OUTX) ; ESDV0142
|
|
END ; ESDV0143
|
|
WRITE(FOU,DISTANCES) ; ESDV0144
|
|
ESDV0145
|
|
COMMENT ALL DISTANCES [I,J] ARE COMPUTED FOR THE STRUCTURE, ESDV0146
|
|
FOR THE N|(N-1)/2 PERMISSIBLE PERMUTATIONS ; ESDV0147
|
|
ESDV0148
|
|
A4: FOR I ~ 1 STEP 1 UNTIL (R - 2) DO ESDV0149
|
|
BEGIN ESDV0150
|
|
Q ~ I + 1 ; ESDV0151
|
|
FOR J ~ Q STEP 1 UNTIL (R - 1) DO ESDV0152
|
|
BEGIN ESDV0153
|
|
DELTAX[I,J] ~ X[I] - X[J] ; ESDV0154
|
|
DELTAY[I,J] ~ Y[I] - Y[J] ; ESDV0155
|
|
DELTAZ[I,J] ~ Z[I] - Z[J] ; ESDV0156
|
|
DIST[I,J] ~ SQRT((DELTAX[I,J] | A)*2 + (DELTAY[I,J] | ESDV0157
|
|
B)*2 + (DELTAZ[I,J] | C)*2 +DELTAX[I,J] | ESDV0158
|
|
DELTAY[I,J] | A | B | (2.0) | COSC + ESDV0159
|
|
DELTAX[I,J] | DELTAZ[I,J] | A | C | (2.0) | ESDV0160
|
|
COSB + DELTAY[I,J] | DELTAZ[I,J] | B | C | ESDV0161
|
|
(2.0) | COSA) ; ESDV0162
|
|
SIGX[I,J] ~ A | SQRT(SIGMAX[I]*2 + SIGMAX[J]*2) ; ESDV0163
|
|
SIGY[I,J] ~ A | SQRT(SIGMAY[I]*2 + SIGMAY[J]*2) ; ESDV0164
|
|
SIGZ[I,J] ~ A | SQRT(SIGMAZ[I]*2 + SIGMAZ[J]*2) ; ESDV0165
|
|
SIGDIST[I,J] ~ (0.4549) | SQRT(SIGX[I,J] | SIGX[I,J] + ESDV0166
|
|
SIGY[I,J] | SIGY[I,J] + ESDV0167
|
|
SIGZ[I,J] | SIGZ[I,J] + ESDV0168
|
|
SIGX[I,J] | SIGY[I,J] | (2.0) | COSC + ESDV0169
|
|
SIGX[I,J] | SIGZ[I,J] | (2.0) | COSB + ESDV0170
|
|
SIGY[I,J] | SIGZ[I,J] | (2.0) | COSA) ; ESDV0171
|
|
IF NOT BOOL0 THEN WRITE(FOU,FORMDIST,OUTDIST) ; ESDV0172
|
|
END ESDV0173
|
|
END ; ESDV0174
|
|
ESDV0175
|
|
IF NOT BOOL0 THEN GO TO A5 ; ESDV0176
|
|
ESDV0177
|
|
COMMENT BY BOOL0 OPTION ONLY THOSE DISTANCES ARE SELECTED FOR ESDV0178
|
|
WHICH THE INDICES [I,J] ARE SPECIFIED BY INPUT ; ESDV0179
|
|
ESDV0180
|
|
DISTSELECT: READ(FIN,FMIN4,DATADIST) ; ESDV0181
|
|
IF I = 99 THEN GO TO A5 ; ESDV0182
|
|
WRITE(FOU,FORMDIST,OUTDIST) ; ESDV0183
|
|
GO TO DISTSELECT ; ESDV0184
|
|
ESDV0185
|
|
A5: IF BOOL1 THEN GO TO FINISH ; ESDV0186
|
|
WRITE(FOU,ANGLES) ; ESDV0187
|
|
ESDV0188
|
|
COMMENT THE ANGLES [I,J,K] ARE COMPUTED FROM ESDV0189
|
|
SPECIFIED INDICES, THE LARGEST ANGLE OF THE ESDV0190
|
|
TRIANGLE BEING SELECTED BY CONVENTION ; ESDV0191
|
|
ESDV0192
|
|
PSISELECT: READ(FIN,FMIN5,DATAPSI) ; ESDV0193
|
|
IF I = 99 THEN GO TO FINISH ; ESDV0194
|
|
IF DIST[I,J] } DIST[I,K] THEN GO TO ALEPH ; ESDV0195
|
|
IF DIST[I,J] } DIST[J,K] OR ESDV0196
|
|
DIST[I,K] } DIST[J,K] THEN GO TO BETA ; ESDV0197
|
|
GO TO GAMMA ; ESDV0198
|
|
ESDV0199
|
|
ALEPH: IF DIST[I,J] } DIST[J,K] THEN GO TO DELTA ; ESDV0200
|
|
GO TO GAMMA ; ESDV0201
|
|
ESDV0202
|
|
BETA: HYPOT ~ DIST[I,K] ; SIGHYP ~ SIGDIST[I,K] ; ESDV0203
|
|
LEG1 ~ DIST[J,K] ; SIGLEG1 ~ SIGDIST[J,K] ; ESDV0204
|
|
LEG2 ~ DIST[I,J] ; SIGLEG2 ~ SIGDIST[I,J] ; ESDV0205
|
|
ESDV0206
|
|
STANDARD ; GO TO ETA ; ESDV0207
|
|
ESDV0208
|
|
GAMMA: HYPOT ~ DIST[J,K] ; SIGHYP ~ SIGDIST[I,K] ; ESDV0209
|
|
LEG1 ~ DIST[I,K] ; SIGLEG1 ~ SIGDIST[J,K] ; ESDV0210
|
|
LEG2 ~ DIST[I,J] ; SIGLEG2 ~ SIGDIST[I,J] ; ESDV0211
|
|
ESDV0212
|
|
STANDARD ; GO TO ETA ; ESDV0213
|
|
ESDV0214
|
|
DELTA: HYPOT ~ DIST[I,J] ; SIGHYP ~ SIGDIST[I,K] ; ESDV0215
|
|
LEG1 ~ DIST[J,K] ; SIGLEG1 ~ SIGDIST[J,K] ; ESDV0216
|
|
LEG2 ~ DIST[I,K] ; SIGLEG2 ~ SIGDIST[I,J] ; ESDV0217
|
|
ESDV0218
|
|
STANDARD ; ESDV0219
|
|
ESDV0220
|
|
ETA: PSIMAX ~ RAD | ARCCOS(ARGMAX) ; ESDV0221
|
|
PSIMIN ~ RAD | ARCCOS(ARGMIN) ; ESDV0222
|
|
ESDV0223
|
|
PSI ~ (0.5) | (PSIMAX + PSIMIN) ; ESDV0224
|
|
SIGMAPSI ~ (0.5) | (PSIMAX - PSIMIN) ; ESDV0225
|
|
WRITE(FOU,FORMPSI,PSILIST) ; ESDV0226
|
|
GO TO PSISELECT ; ESDV0227
|
|
ESDV0228
|
|
FINISH: END. ESDV0229
|
|
LABEL 000000000FIN 0010000001
|
|
3.900 6.512 13.215 -0.46468 -0.51786 0.07359
|
|
FALSEFALSE
|
|
28
|
|
.07569 .01285 .68016 .00879 .37631 .00447
|
|
.09407 .01575 .44268 .00928 .34302 .00520
|
|
-.02166 .02004 .26518 .01239 .20517 .00685
|
|
.00568 .01460 .59605 .00942 .17178 .00484
|
|
-.01106 .01720 .73511 .00920 .27802 .00627
|
|
-.01767 .01324 .36355 .00854 .13425 .00491
|
|
-.11704 .01234 .20296 .00784 -.00150 .00470
|
|
.05457 .01322 .81811 .00798 .48351 .00470
|
|
999.9 0.0 0.0 0.0 0.0 0.0
|
|
1 2 3
|
|
1 2 5
|
|
1 2 8
|
|
1 4 5
|
|
1 5 8
|
|
2 3 6
|
|
3 4 6
|
|
3 6 7
|
|
4 6 7
|
|
4 5 6
|
|
99 0 0
|