31 . X1, X2, X3, X4, X5, X6, X7, X8,
32 . Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8,
33 . Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8,
34 . E1X, E2X, E3X, E1Y, E2Y, E3Y, E1Z, E2Z, E3Z )
38#include "implicit_f.inc"
43 . x1, x2, x3, x4, x5, x6, x7, x8,
44 . y1, y2, y3, y4, y5, y6, y7, y8,
45 . z1, z2, z3, z4, z5, z6, z7, z8,
54 . X17 , X28 , X35 , X46,
55 . Y17 , Y28 , Y35 , Y46,
56 . z17 , z28 , z35 , z46,
97 aa = sqrt(rx*rx + ry*ry + rz*rz)
98 if ( aa/=zero) aa = one / aa
102 aa = sqrt(sx*sx + sy*sy + sz*sz)
103 if ( aa/=zero) aa = one / aa
107 aa = sqrt(tx*tx + ty*ty + tz*tz)
108 if ( aa/=zero) aa = one / aa
119 e1x = sy * tz - sz * ty + rx
120 e1y = sz * tx - sx * tz + ry
121 e1z = sx * ty - sy * tx + rz
123 e2x = ty * rz - tz * ry + sx
124 e2y = tz * rx - tx * rz + sy
125 e2z = tx * ry - ty * rx + sz
127 e3x = ry * sz - rz * sy + tx
128 e3y = rz * sx - rx * sz + ty
129 e3z = rx * sy - ry * sx + tz
131 bb = sqrt(e1x*e1x + e1y*e1y + e1z*e1z)
132 if ( bb/=zero) bb = one / bb
137 bb = sqrt(e2x*e2x + e2y*e2y + e2z*e2z)
143 bb = sqrt(e3x*e3x + e3y*e3y + e3z*e3z)
144 if ( bb/=zero) bb = one / bb
149 IF (n<niter)
GOTO 111
156 e3x = e1y * sz - e1z * sy
157 e3y = e1z * sx - e1x * sz
158 e3z = e1x * sy - e1y * sx
160 aa = sqrt(e3x*e3x + e3y*e3y + e3z*e3z)
161 if ( aa/=zero) aa = one / aa
166 e2x = e3y * e1z - e3z * e1y
167 e2y = e3z * e1x - e3x * e1z
168 e2z = e3x * e1y - e3y * e1x
subroutine sortho31(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)