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,
96 e3x = ty * rz - tz * ry
97 e3y = tz * rx - tx * rz
98 e3z = tx * ry - ty * rx
100 det = sqrt(e3x*e3x + e3y*e3y + e3z*e3z)
101 IF ( det/=zero) det = one / det
106 c1=sqrt(tx*tx+ty*ty+tz*tz)
107 c2=sqrt(rx*rx+ry*ry+rz*rz)
108 e1x=tx*c2 +(ry * e3z - rz * e3y)*c1
109 e1y=ty*c2 +(rz * e3x - rx * e3z)*c1
110 e1z=tz*c2 +(rx * e3y - ry * e3x)*c1
111 det = sqrt(e1x*e1x + e1y*e1y + e1z*e1z)
112 IF ( det/=zero) det = one / det
117 e2x = e3y * e1z - e3z * e1y
118 e2y = e3z * e1x - e3x * e1z
119 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)