29 . X1, X2, X3, X4, X5, X6, X7, X8,
30 . Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8,
31 . Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8,
32 . E1X, E2X, E3X, E1Y, E2Y, E3Y, E1Z, E2Z, E3Z )
36#include "implicit_f.inc"
41 . x1, x2, x3, x4, x5, x6, x7, x8,
42 . y1, y2, y3, y4, y5, y6, y7, y8,
43 . z1, z2, z3, z4, z5, z6, z7, z8,
52 . X17 , X28 , X35 , X46,
53 . Y17 , Y28 , Y35 , Y46,
93 e3x = ty * rz - tz * ry
94 e3y = tz * rx - tx * rz
95 e3z = tx * ry - ty * rx
97 det = sqrt(e3x*e3x + e3y*e3y + e3z*e3z)
98 IF ( det/=zero) det = one / det
103 c1=sqrt(tx*tx+ty*ty+tz*tz)
104 c2=sqrt(rx*rx+ry*ry+rz*rz)
105 e1x=tx*c2 +(ry * e3z - rz * e3y)*c1
106 e1y=ty*c2 +(rz * e3x - rx * e3z)*c1
107 e1z=tz*c2 +(rx * e3y - ry * e3x)*c1
108 det = sqrt(e1x*e1x + e1y*e1y + e1z*e1z)
109 IF ( det/=zero) det = one / det
114 e2x = e3y * e1z - e3z * e1y
115 e2y = e3z * e1x - e3x * e1z
116 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)