1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-02 17:44:40 +00:00
Files
Paul Kimpel 2c72f7fd1d Commit CUBE Library version 13 of February 1972.
1. Commit library tape images, directories, and extracted text files.
2. Commit additional utilities under Unisys-Emode-Tools.
2018-05-27 11:24:23 -07:00

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