Subroutine */
| 32073 | } /* dlaswp_ */ |
| 32074 | |
| 32075 | /* Subroutine */ int dlasy2_(logical *ltranl, logical *ltranr, integer *isgn, |
| 32076 | integer *n1, integer *n2, doublereal *tl, integer *ldtl, doublereal * |
| 32077 | tr, integer *ldtr, doublereal *b, integer *ldb, doublereal *scale, |
| 32078 | doublereal *x, integer *ldx, doublereal *xnorm, integer *info) |
| 32079 | { |
| 32080 | /* Initialized data */ |
| 32081 | |
| 32082 | static integer locu12[4] = { 3,4,1,2 }; |
| 32083 | static integer locl21[4] = { 2,1,4,3 }; |
| 32084 | static integer locu22[4] = { 4,3,2,1 }; |
| 32085 | static logical xswpiv[4] = { FALSE_,FALSE_,TRUE_,TRUE_ }; |
| 32086 | static logical bswpiv[4] = { FALSE_,TRUE_,FALSE_,TRUE_ }; |
| 32087 | |
| 32088 | /* System generated locals */ |
| 32089 | integer b_dim1, b_offset, tl_dim1, tl_offset, tr_dim1, tr_offset, x_dim1, |
| 32090 | x_offset; |
| 32091 | doublereal d__1, d__2, d__3, d__4, d__5, d__6, d__7, d__8; |
| 32092 | |
| 32093 | /* Local variables */ |
| 32094 | static integer i__, j, k; |
| 32095 | static doublereal x2[2], l21, u11, u12; |
| 32096 | static integer ip, jp; |
| 32097 | static doublereal u22, t16[16] /* was [4][4] */, gam, bet, eps, sgn, |
| 32098 | tmp[4], tau1, btmp[4], smin; |
| 32099 | static integer ipiv; |
| 32100 | static doublereal temp; |
| 32101 | static integer jpiv[4]; |
| 32102 | static doublereal xmax; |
| 32103 | static integer ipsv, jpsv; |
| 32104 | static logical bswap; |
| 32105 | extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *, |
| 32106 | doublereal *, integer *), dswap_(integer *, doublereal *, integer |
| 32107 | *, doublereal *, integer *); |
| 32108 | static logical xswap; |
| 32109 | |
| 32110 | extern integer idamax_(integer *, doublereal *, integer *); |
| 32111 | static doublereal smlnum; |
| 32112 | |
| 32113 | |
| 32114 | /* |
| 32115 | -- LAPACK auxiliary routine (version 3.2) -- |
| 32116 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 32117 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 32118 | November 2006 |
| 32119 | |
| 32120 | |
| 32121 | Purpose |
| 32122 | ======= |
| 32123 | |
| 32124 | DLASY2 solves for the N1 by N2 matrix X, 1 <= N1,N2 <= 2, in |
| 32125 | |
| 32126 | op(TL)*X + ISGN*X*op(TR) = SCALE*B, |
| 32127 | |
| 32128 | where TL is N1 by N1, TR is N2 by N2, B is N1 by N2, and ISGN = 1 or |
| 32129 | -1. op(T) = T or T', where T' denotes the transpose of T. |
| 32130 | |
| 32131 | Arguments |
| 32132 | ========= |