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"
44 . x1, x2, x3, x4, x5, x6, x7, x8,
45 . y1, y2, y3, y4, y5, y6, y7, y8,
46 . z1, z2, z3, z4, z5, z6, z7, z8,
57 . x17 , x28 , x35 , x46,
58 . y17 , y28 , y35 , y46,
59 . z17 , z28 , z35 , z46,
98 e3x = ty * rz - tz * ry
99 e3y = tz * rx - tx * rz
100 e3z = tx * ry - ty * rx
102 det = sqrt(e3x*e3x + e3y*e3y + e3z*e3z)
103 IF ( det/=zero) det = one / det
108 c1=sqrt(tx*tx+ty*ty+tz*tz)
109 c2=sqrt(rx*rx+ry*ry+rz*rz)
110 e1x=tx*c2 +(ry * e3z - rz * e3y)*c1
111 e1y=ty*c2 +(rz * e3x - rx * e3z)*c1
112 e1z=tz*c2 +(rx * e3y - ry * e3x)*c1
113 det = sqrt(e1x*e1x + e1y*e1y + e1z*e1z)
114 IF ( det/=zero) det = one / det
119 e2x = e3y * e1z - e3z * e1y
120 e2y = e3z * e1x - e3x * e1z
121 e2z = e3x * e1y - e3y * e1x
subroutine scortho31(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)