SUBROUTINE SLAS2U(AJJ, AJK, AKK, SMIN, SMAX) IMPLICIT NONE REAL AJJ,AJK,AKK,SMIN,SMAX REAL ALPHA, BETA, THETA1, THETA2 REAL T, R1, R2 REAL CSL,SNL,CSR,SNR REAL C0, S0, TMP1, TMP2, TMP3, TMP4 REAL ONE, ZERO, HALF, TWO, CONST PARAMETER (ONE = 1.0E0, ZERO = 0.0E0, HALF = 0.5E0, TWO = 2.0E0) EXTERNAL SFMA0 REAL SFMA0 IF (AJJ .EQ. ZERO .AND. AJK .EQ. ZERO .AND. AKK .EQ. ZERO) THEN SMIN = ZERO SMAX = ZERO ELSE TMP2 = AJJ TMP3 = AJK TMP4 = AKK ALPHA = ATAN ( DBLE(TMP3 / ( TMP2 - TMP4 ) ) ) BETA = ATAN ( DBLE(TMP3 / ( TMP2 + TMP4 ) ) ) THETA1 = (ALPHA + BETA) * HALF THETA2 = (ALPHA - BETA) * HALF CSL = COS (DBLE(THETA1)) SNL = SIN (DBLE(THETA1)) CSR = COS (DBLE(THETA2)) SNR = SIN (DBLE(THETA2)) T = CSL + CSR R1 = SNL / T R2 = -SNR / T SMAX = ABS(SFMA0(TMP3,R1,TMP2)) SMIN = ABS(SFMA0(TMP3,R2,TMP4)) IF (SMAX .LT. SMIN) THEN T = SMAX SMAX = SMIN SMIN = T ENDIF ENDIF RETURN END SUBROUTINE SLAS2U