public static void dlaqr3( boolean paramBoolean1, boolean paramBoolean2, int paramInt1, int paramInt2, int paramInt3, int paramInt4, double[] paramArrayOfDouble1, int paramInt5, int paramInt6, int paramInt7, int paramInt8, double[] paramArrayOfDouble2, int paramInt9, int paramInt10, intW paramintW1, intW paramintW2, double[] paramArrayOfDouble3, int paramInt11, double[] paramArrayOfDouble4, int paramInt12, double[] paramArrayOfDouble5, int paramInt13, int paramInt14, int paramInt15, double[] paramArrayOfDouble6, int paramInt16, int paramInt17, int paramInt18, double[] paramArrayOfDouble7, int paramInt19, int paramInt20, double[] paramArrayOfDouble8, int paramInt21, int paramInt22) { doubleW localdoubleW1 = new doubleW(0.0D); doubleW localdoubleW2 = new doubleW(0.0D); doubleW localdoubleW3 = new doubleW(0.0D); doubleW localdoubleW4 = new doubleW(0.0D); doubleW localdoubleW5 = new doubleW(0.0D); doubleW localdoubleW6 = new doubleW(0.0D); double d1 = 0.0D; double d2 = 0.0D; double d3 = 0.0D; double d4 = 0.0D; doubleW localdoubleW7 = new doubleW(0.0D); doubleW localdoubleW8 = new doubleW(0.0D); double d5 = 0.0D; doubleW localdoubleW9 = new doubleW(0.0D); doubleW localdoubleW10 = new doubleW(0.0D); double d6 = 0.0D; int i = 0; intW localintW1 = new intW(0); intW localintW2 = new intW(0); intW localintW3 = new intW(0); intW localintW4 = new intW(0); int j = 0; int k = 0; int m = 0; int n = 0; int i1 = 0; int i2 = 0; int i3 = 0; int i4 = 0; int i5 = 0; int i6 = 0; int i7 = 0; int i8 = 0; int i9 = 0; int i10 = 0; int i11 = 0; int i12 = 0; k = Math.min(paramInt4, paramInt3 - paramInt2 + 1); if ((k > 2 ? 0 : 1) != 0) { i9 = 1; } else { Dgehrd.dgehrd( k, 1, k - 1, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble8, paramInt21, paramArrayOfDouble8, paramInt21, -1, localintW3); i6 = (int) paramArrayOfDouble8[(1 - 1 + paramInt21)]; Dorghr.dorghr( k, 1, k - 1, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble8, paramInt21, paramArrayOfDouble8, paramInt21, -1, localintW3); i7 = (int) paramArrayOfDouble8[(1 - 1 + paramInt21)]; Dlaqr4.dlaqr4( true, true, k, 1, k, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble3, paramInt11, paramArrayOfDouble4, paramInt12, 1, k, paramArrayOfDouble5, paramInt13, paramInt14, paramArrayOfDouble8, paramInt21, -1, localintW4); i8 = (int) paramArrayOfDouble8[(1 - 1 + paramInt21)]; i9 = Math.max(k + Math.max(i6, i7), i8); } if ((paramInt22 != -1 ? 0 : 1) != 0) { paramArrayOfDouble8[(1 - 1 + paramInt21)] = i9; return; } paramintW1.val = 0; paramintW2.val = 0; if ((paramInt2 <= paramInt3 ? 0 : 1) != 0) { return; } if ((paramInt4 >= 1 ? 0 : 1) != 0) { return; } localdoubleW8.val = Dlamch.dlamch("SAFE MINIMUM"); localdoubleW7.val = (1.0D / localdoubleW8.val); Dlabad.dlabad(localdoubleW8, localdoubleW7); d6 = Dlamch.dlamch("PRECISION"); d5 = localdoubleW8.val * (paramInt1 / d6); k = Math.min(paramInt4, paramInt3 - paramInt2 + 1); i4 = paramInt3 - k + 1; if ((i4 != paramInt2 ? 0 : 1) != 0) { d4 = 0.0D; } else { d4 = paramArrayOfDouble1[(i4 - 1 + (i4 - 1 - 1) * paramInt6 + paramInt5)]; } if ((paramInt3 != i4 ? 0 : 1) != 0) { paramArrayOfDouble3[(i4 - 1 + paramInt11)] = paramArrayOfDouble1[(i4 - 1 + (i4 - 1) * paramInt6 + paramInt5)]; paramArrayOfDouble4[(i4 - 1 + paramInt12)] = 0.0D; paramintW1.val = 1; paramintW2.val = 0; if ((Math.abs(d4) > Math.max( d5, d6 * Math.abs( paramArrayOfDouble1[(i4 - 1 + (i4 - 1) * paramInt6 + paramInt5)])) ? 0 : 1) != 0) { paramintW1.val = 0; paramintW2.val = 1; if ((i4 <= paramInt2 ? 0 : 1) != 0) { paramArrayOfDouble1[(i4 - 1 + (i4 - 1 - 1) * paramInt6 + paramInt5)] = 0.0D; } } return; } Dlacpy.dlacpy( "U", k, k, paramArrayOfDouble1, i4 - 1 + (i4 - 1) * paramInt6 + paramInt5, paramInt6, paramArrayOfDouble6, paramInt16, paramInt17); Dcopy.dcopy( k - 1, paramArrayOfDouble1, i4 + 1 - 1 + (i4 - 1) * paramInt6 + paramInt5, paramInt6 + 1, paramArrayOfDouble6, 2 - 1 + (1 - 1) * paramInt17 + paramInt16, paramInt17 + 1); Dlaset.dlaset("A", k, k, 0.0D, 1.0D, paramArrayOfDouble5, paramInt13, paramInt14); i10 = Ilaenv.ilaenv(12, "DLAQR3", "SV", k, 1, k, paramInt22); if ((k <= i10 ? 0 : 1) != 0) { Dlaqr4.dlaqr4( true, true, k, 1, k, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble3, i4 - 1 + paramInt11, paramArrayOfDouble4, i4 - 1 + paramInt12, 1, k, paramArrayOfDouble5, paramInt13, paramInt14, paramArrayOfDouble8, paramInt21, paramInt22, localintW4); } else { Dlahqr.dlahqr( true, true, k, 1, k, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble3, i4 - 1 + paramInt11, paramArrayOfDouble4, i4 - 1 + paramInt12, 1, k, paramArrayOfDouble5, paramInt13, paramInt14, localintW4); } j = 1; for (int i13 = k - 3 - 1 + 1; i13 > 0; i13--) { paramArrayOfDouble6[(j + 2 - 1 + (j - 1) * paramInt17 + paramInt16)] = 0.0D; paramArrayOfDouble6[(j + 3 - 1 + (j - 1) * paramInt17 + paramInt16)] = 0.0D; j += 1; } if ((k <= 2 ? 0 : 1) != 0) { paramArrayOfDouble6[(k - 1 + (k - 2 - 1) * paramInt17 + paramInt16)] = 0.0D; } paramintW1.val = k; localintW4.val += 1; while ((localintW2.val > paramintW1.val ? 0 : 1) != 0) { if ((paramintW1.val != 1 ? 0 : 1) != 0) { i11 = 0; } else { i11 = paramArrayOfDouble6[ (paramintW1.val - 1 + (paramintW1.val - 1 - 1) * paramInt17 + paramInt16)] == 0.0D ? 0 : 1; } if ((i11 ^ 0x1) != 0) { d3 = Math.abs( paramArrayOfDouble6[ (paramintW1.val - 1 + (paramintW1.val - 1) * paramInt17 + paramInt16)]); if ((d3 != 0.0D ? 0 : 1) != 0) { d3 = Math.abs(d4); } if ((Math.abs( d4 * paramArrayOfDouble5[ (1 - 1 + (paramintW1.val - 1) * paramInt14 + paramInt13)]) > Math.max(d5, d6 * d3) ? 0 : 1) != 0) { paramintW1.val -= 1; } else { localintW1.val = paramintW1.val; Dtrexc.dtrexc( "V", k, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble5, paramInt13, paramInt14, localintW1, localintW2, paramArrayOfDouble8, paramInt21, localintW3); localintW2.val += 1; } } else { d3 = Math.abs( paramArrayOfDouble6[ (paramintW1.val - 1 + (paramintW1.val - 1) * paramInt17 + paramInt16)]) + Math.sqrt( Math.abs( paramArrayOfDouble6[ (paramintW1.val - 1 + (paramintW1.val - 1 - 1) * paramInt17 + paramInt16)])) * Math.sqrt( Math.abs( paramArrayOfDouble6[ (paramintW1.val - 1 - 1 + (paramintW1.val - 1) * paramInt17 + paramInt16)])); if ((d3 != 0.0D ? 0 : 1) != 0) { d3 = Math.abs(d4); } if ((Math.max( Math.abs( d4 * paramArrayOfDouble5[ (1 - 1 + (paramintW1.val - 1) * paramInt14 + paramInt13)]), Math.abs( d4 * paramArrayOfDouble5[ (1 - 1 + (paramintW1.val - 1 - 1) * paramInt14 + paramInt13)])) > Math.max(d5, d6 * d3) ? 0 : 1) != 0) { paramintW1.val -= 2; } else { localintW1.val = paramintW1.val; Dtrexc.dtrexc( "V", k, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble5, paramInt13, paramInt14, localintW1, localintW2, paramArrayOfDouble8, paramInt21, localintW3); localintW2.val += 2; } } } if ((paramintW1.val != 0 ? 0 : 1) != 0) { d4 = 0.0D; } if ((paramintW1.val >= k ? 0 : 1) != 0) { i12 = 0; i = paramintW1.val + 1; while (i12 == 0) { i12 = 1; i1 = i - 1; i = localintW4.val + 1; if ((i != paramintW1.val ? 0 : 1) != 0) { m = i + 1; } else if ((paramArrayOfDouble6[(i + 1 - 1 + (i - 1) * paramInt17 + paramInt16)] != 0.0D ? 0 : 1) != 0) { m = i + 1; } else { m = i + 2; } while ((m > i1 ? 0 : 1) != 0) { if ((m != i + 1 ? 0 : 1) != 0) { d1 = Math.abs(paramArrayOfDouble6[(i - 1 + (i - 1) * paramInt17 + paramInt16)]); } else { d1 = Math.abs(paramArrayOfDouble6[(i - 1 + (i - 1) * paramInt17 + paramInt16)]) + Math.sqrt( Math.abs( paramArrayOfDouble6[ (i + 1 - 1 + (i - 1) * paramInt17 + paramInt16)])) * Math.sqrt( Math.abs( paramArrayOfDouble6[ (i - 1 + (i + 1 - 1) * paramInt17 + paramInt16)])); } if ((m != i1 ? 0 : 1) != 0) { d2 = Math.abs(paramArrayOfDouble6[(m - 1 + (m - 1) * paramInt17 + paramInt16)]); } else if ((paramArrayOfDouble6[(m + 1 - 1 + (m - 1) * paramInt17 + paramInt16)] != 0.0D ? 0 : 1) != 0) { d2 = Math.abs(paramArrayOfDouble6[(m - 1 + (m - 1) * paramInt17 + paramInt16)]); } else { d2 = Math.abs(paramArrayOfDouble6[(m - 1 + (m - 1) * paramInt17 + paramInt16)]) + Math.sqrt( Math.abs( paramArrayOfDouble6[ (m + 1 - 1 + (m - 1) * paramInt17 + paramInt16)])) * Math.sqrt( Math.abs( paramArrayOfDouble6[ (m - 1 + (m + 1 - 1) * paramInt17 + paramInt16)])); } if ((d1 < d2 ? 0 : 1) != 0) { i = m; } else { i12 = 0; localintW1.val = i; localintW2.val = m; Dtrexc.dtrexc( "V", k, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble5, paramInt13, paramInt14, localintW1, localintW2, paramArrayOfDouble8, paramInt21, localintW3); if ((localintW3.val != 0 ? 0 : 1) != 0) { i = localintW2.val; } else { i = m; } } if ((i != i1 ? 0 : 1) != 0) { m = i + 1; } else if ((paramArrayOfDouble6[(i + 1 - 1 + (i - 1) * paramInt17 + paramInt16)] != 0.0D ? 0 : 1) != 0) { m = i + 1; } else { m = i + 2; } } } } i = k; while ((i < localintW4.val + 1 ? 0 : 1) != 0) { if ((i != localintW4.val + 1 ? 0 : 1) != 0) { paramArrayOfDouble3[(i4 + i - 1 - 1 + paramInt11)] = paramArrayOfDouble6[(i - 1 + (i - 1) * paramInt17 + paramInt16)]; paramArrayOfDouble4[(i4 + i - 1 - 1 + paramInt12)] = 0.0D; i -= 1; } else if ((paramArrayOfDouble6[(i - 1 + (i - 1 - 1) * paramInt17 + paramInt16)] != 0.0D ? 0 : 1) != 0) { paramArrayOfDouble3[(i4 + i - 1 - 1 + paramInt11)] = paramArrayOfDouble6[(i - 1 + (i - 1) * paramInt17 + paramInt16)]; paramArrayOfDouble4[(i4 + i - 1 - 1 + paramInt12)] = 0.0D; i -= 1; } else { localdoubleW1.val = paramArrayOfDouble6[(i - 1 - 1 + (i - 1 - 1) * paramInt17 + paramInt16)]; localdoubleW4.val = paramArrayOfDouble6[(i - 1 + (i - 1 - 1) * paramInt17 + paramInt16)]; localdoubleW2.val = paramArrayOfDouble6[(i - 1 - 1 + (i - 1) * paramInt17 + paramInt16)]; localdoubleW6.val = paramArrayOfDouble6[(i - 1 + (i - 1) * paramInt17 + paramInt16)]; dlanv2_adapter( localdoubleW1, localdoubleW2, localdoubleW4, localdoubleW6, paramArrayOfDouble3, i4 + i - 2 - 1 + paramInt11, paramArrayOfDouble4, i4 + i - 2 - 1 + paramInt12, paramArrayOfDouble3, i4 + i - 1 - 1 + paramInt11, paramArrayOfDouble4, i4 + i - 1 - 1 + paramInt12, localdoubleW5, localdoubleW9); i -= 2; } } if ((paramintW1.val >= k ? 0 : 1) == 0) {} if (((d4 != 0.0D ? 0 : 1) == 0 ? 0 : 1) != 0) { if ((paramintW1.val <= 1 ? 0 : 1) != 0) {} if (((d4 == 0.0D ? 0 : 1) != 0 ? 1 : 0) != 0) { Dcopy.dcopy( paramintW1.val, paramArrayOfDouble5, paramInt13, paramInt14, paramArrayOfDouble8, paramInt21, 1); localdoubleW3.val = paramArrayOfDouble8[(1 - 1 + paramInt21)]; Dlarfg.dlarfg( paramintW1.val, localdoubleW3, paramArrayOfDouble8, 2 - 1 + paramInt21, 1, localdoubleW10); paramArrayOfDouble8[(1 - 1 + paramInt21)] = 1.0D; Dlaset.dlaset( "L", k - 2, k - 2, 0.0D, 0.0D, paramArrayOfDouble6, 3 - 1 + (1 - 1) * paramInt17 + paramInt16, paramInt17); Dlarf.dlarf( "L", paramintW1.val, k, paramArrayOfDouble8, paramInt21, 1, localdoubleW10.val, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble8, k + 1 - 1 + paramInt21); Dlarf.dlarf( "R", paramintW1.val, paramintW1.val, paramArrayOfDouble8, paramInt21, 1, localdoubleW10.val, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble8, k + 1 - 1 + paramInt21); Dlarf.dlarf( "R", k, paramintW1.val, paramArrayOfDouble8, paramInt21, 1, localdoubleW10.val, paramArrayOfDouble5, paramInt13, paramInt14, paramArrayOfDouble8, k + 1 - 1 + paramInt21); Dgehrd.dgehrd( k, 1, paramintW1.val, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble8, paramInt21, paramArrayOfDouble8, k + 1 - 1 + paramInt21, paramInt22 - k, localintW3); } if ((i4 <= 1 ? 0 : 1) != 0) { paramArrayOfDouble1[(i4 - 1 + (i4 - 1 - 1) * paramInt6 + paramInt5)] = (d4 * paramArrayOfDouble5[(1 - 1 + (1 - 1) * paramInt14 + paramInt13)]); } Dlacpy.dlacpy( "U", k, k, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble1, i4 - 1 + (i4 - 1) * paramInt6 + paramInt5, paramInt6); Dcopy.dcopy( k - 1, paramArrayOfDouble6, 2 - 1 + (1 - 1) * paramInt17 + paramInt16, paramInt17 + 1, paramArrayOfDouble1, i4 + 1 - 1 + (i4 - 1) * paramInt6 + paramInt5, paramInt6 + 1); if ((paramintW1.val <= 1 ? 0 : 1) != 0) {} if (((d4 == 0.0D ? 0 : 1) != 0 ? 1 : 0) != 0) { Dorghr.dorghr( k, 1, paramintW1.val, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble8, paramInt21, paramArrayOfDouble8, k + 1 - 1 + paramInt21, paramInt22 - k, localintW3); Dgemm.dgemm( "N", "N", k, paramintW1.val, paramintW1.val, 1.0D, paramArrayOfDouble5, paramInt13, paramInt14, paramArrayOfDouble6, paramInt16, paramInt17, 0.0D, paramArrayOfDouble7, paramInt19, paramInt20); Dlacpy.dlacpy( "A", k, paramintW1.val, paramArrayOfDouble7, paramInt19, paramInt20, paramArrayOfDouble5, paramInt13, paramInt14); } if (paramBoolean1) { i5 = 1; } else { i5 = paramInt2; } i3 = i5; for (int i13 = (i4 - 1 - i5 + paramInt18) / paramInt18; i13 > 0; i13--) { i2 = Math.min(paramInt18, i4 - i3); Dgemm.dgemm( "N", "N", i2, k, k, 1.0D, paramArrayOfDouble1, i3 - 1 + (i4 - 1) * paramInt6 + paramInt5, paramInt6, paramArrayOfDouble5, paramInt13, paramInt14, 0.0D, paramArrayOfDouble7, paramInt19, paramInt20); Dlacpy.dlacpy( "A", i2, k, paramArrayOfDouble7, paramInt19, paramInt20, paramArrayOfDouble1, i3 - 1 + (i4 - 1) * paramInt6 + paramInt5, paramInt6); i3 += paramInt18; } if (paramBoolean1) { n = paramInt3 + 1; for (int i13 = (paramInt1 - (paramInt3 + 1) + paramInt15) / paramInt15; i13 > 0; i13--) { i2 = Math.min(paramInt15, paramInt1 - n + 1); Dgemm.dgemm( "C", "N", k, i2, k, 1.0D, paramArrayOfDouble5, paramInt13, paramInt14, paramArrayOfDouble1, i4 - 1 + (n - 1) * paramInt6 + paramInt5, paramInt6, 0.0D, paramArrayOfDouble6, paramInt16, paramInt17); Dlacpy.dlacpy( "A", k, i2, paramArrayOfDouble6, paramInt16, paramInt17, paramArrayOfDouble1, i4 - 1 + (n - 1) * paramInt6 + paramInt5, paramInt6); n += paramInt15; } } if (paramBoolean2) { i3 = paramInt7; for (int i13 = (paramInt8 - paramInt7 + paramInt18) / paramInt18; i13 > 0; i13--) { i2 = Math.min(paramInt18, paramInt8 - i3 + 1); Dgemm.dgemm( "N", "N", i2, k, k, 1.0D, paramArrayOfDouble2, i3 - 1 + (i4 - 1) * paramInt10 + paramInt9, paramInt10, paramArrayOfDouble5, paramInt13, paramInt14, 0.0D, paramArrayOfDouble7, paramInt19, paramInt20); Dlacpy.dlacpy( "A", i2, k, paramArrayOfDouble7, paramInt19, paramInt20, paramArrayOfDouble2, i3 - 1 + (i4 - 1) * paramInt10 + paramInt9, paramInt10); i3 += paramInt18; } } } paramintW2.val = (k - paramintW1.val); paramintW1.val -= localintW4.val; paramArrayOfDouble8[(1 - 1 + paramInt21)] = i9; }
public static void dgeqlf( int paramInt1, int paramInt2, double[] paramArrayOfDouble1, int paramInt3, int paramInt4, double[] paramArrayOfDouble2, int paramInt5, double[] paramArrayOfDouble3, int paramInt6, int paramInt7, intW paramintW) { int i = 0; int j = 0; int k = 0; intW localintW = new intW(0); int m = 0; int n = 0; int i1 = 0; int i2 = 0; int i3 = 0; int i4 = 0; int i5 = 0; int i6 = 0; int i7 = 0; int i8 = 0; int i9 = 0; paramintW.val = 0; i = paramInt7 != -1 ? 0 : 1; if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW.val = -1; } else if ((paramInt2 >= 0 ? 0 : 1) != 0) { paramintW.val = -2; } else if ((paramInt4 >= Math.max(1, paramInt1) ? 0 : 1) != 0) { paramintW.val = -4; } if ((paramintW.val != 0 ? 0 : 1) != 0) { n = Math.min(paramInt1, paramInt2); if ((n != 0 ? 0 : 1) != 0) { i4 = 1; } else { i6 = Ilaenv.ilaenv(1, "DGEQLF", " ", paramInt1, paramInt2, -1, -1); i4 = paramInt2 * i6; } paramArrayOfDouble3[(1 - 1 + paramInt6)] = i4; if ((paramInt7 >= Math.max(1, paramInt2) ? 0 : 1) != 0) {} if (((i ^ 0x1) != 0 ? 1 : 0) != 0) { paramintW.val = -7; } } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("DGEQLF", -paramintW.val); return; } if (i != 0) { return; } if ((n != 0 ? 0 : 1) != 0) { return; } i7 = 2; i9 = 1; m = paramInt2; if ((i6 <= 1 ? 0 : 1) != 0) {} if (((i6 >= n ? 0 : 1) != 0 ? 1 : 0) != 0) { i9 = Math.max(0, Ilaenv.ilaenv(3, "DGEQLF", " ", paramInt1, paramInt2, -1, -1)); if ((i9 >= n ? 0 : 1) != 0) { i3 = paramInt2; m = i3 * i6; if ((paramInt7 >= m ? 0 : 1) != 0) { i6 = paramInt7 / i3; i7 = Math.max(2, Ilaenv.ilaenv(2, "DGEQLF", " ", paramInt1, paramInt2, -1, -1)); } } } if ((i6 < i7 ? 0 : 1) != 0) {} if (((i6 >= n ? 0 : 1) != 0 ? 1 : 0) != 0) {} if (((i9 >= n ? 0 : 1) != 0 ? 1 : 0) != 0) { i1 = (n - i9 - 1) / i6 * i6; i2 = Math.min(n, i1 + i6); j = n - i2 + i1 + 1; for (int i10 = (n - i2 + 1 - (n - i2 + i1 + 1) + -i6) / -i6; i10 > 0; i10--) { k = Math.min(n - j + 1, i6); Dgeql2.dgeql2( paramInt1 - n + j + k - 1, k, paramArrayOfDouble1, 1 - 1 + (paramInt2 - n + j - 1) * paramInt4 + paramInt3, paramInt4, paramArrayOfDouble2, j - 1 + paramInt5, paramArrayOfDouble3, paramInt6, localintW); if ((paramInt2 - n + j <= 1 ? 0 : 1) != 0) { Dlarft.dlarft( "Backward", "Columnwise", paramInt1 - n + j + k - 1, k, paramArrayOfDouble1, 1 - 1 + (paramInt2 - n + j - 1) * paramInt4 + paramInt3, paramInt4, paramArrayOfDouble2, j - 1 + paramInt5, paramArrayOfDouble3, paramInt6, i3); Dlarfb.dlarfb( "Left", "Transpose", "Backward", "Columnwise", paramInt1 - n + j + k - 1, paramInt2 - n + j - 1, k, paramArrayOfDouble1, 1 - 1 + (paramInt2 - n + j - 1) * paramInt4 + paramInt3, paramInt4, paramArrayOfDouble3, paramInt6, i3, paramArrayOfDouble1, paramInt3, paramInt4, paramArrayOfDouble3, k + 1 - 1 + paramInt6, i3); } j += -i6; } i5 = paramInt1 - n + j + i6 - 1; i8 = paramInt2 - n + j + i6 - 1; } else { i5 = paramInt1; i8 = paramInt2; } if ((i5 <= 0 ? 0 : 1) != 0) {} if (((i8 <= 0 ? 0 : 1) != 0 ? 1 : 0) != 0) { Dgeql2.dgeql2( i5, i8, paramArrayOfDouble1, paramInt3, paramInt4, paramArrayOfDouble2, paramInt5, paramArrayOfDouble3, paramInt6, localintW); } paramArrayOfDouble3[(1 - 1 + paramInt6)] = m; }
public static void shseqr( String paramString1, String paramString2, int paramInt1, int paramInt2, int paramInt3, float[] paramArrayOfFloat1, int paramInt4, int paramInt5, float[] paramArrayOfFloat2, int paramInt6, float[] paramArrayOfFloat3, int paramInt7, float[] paramArrayOfFloat4, int paramInt8, int paramInt9, float[] paramArrayOfFloat5, int paramInt10, int paramInt11, intW paramintW) { float[] arrayOfFloat1 = new float[49 * 49]; float[] arrayOfFloat2 = new float[49]; int i = 0; int j = 0; int k = 0; boolean bool1 = false; int m = 0; boolean bool2 = false; boolean bool3 = false; bool2 = Lsame.lsame(paramString1, "S"); bool1 = Lsame.lsame(paramString2, "I"); bool3 = (bool1) || (Lsame.lsame(paramString2, "V")); paramArrayOfFloat5[(1 - 1 + paramInt10)] = Math.max(1, paramInt1); m = paramInt11 != -1 ? 0 : 1; paramintW.val = 0; if ((((Lsame.lsame(paramString1, "E") ^ true)) && ((bool2 ^ true)) ? 1 : 0) != 0) { paramintW.val = -1; } else if ((((Lsame.lsame(paramString2, "N") ^ true)) && ((bool3 ^ true)) ? 1 : 0) != 0) { paramintW.val = -2; } else if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW.val = -3; } else { if ((paramInt2 >= 1 ? 0 : 1) == 0) {} if (((paramInt2 <= Math.max(1, paramInt1) ? 0 : 1) == 0 ? 0 : 1) != 0) { paramintW.val = -4; } else { if ((paramInt3 >= Math.min(paramInt2, paramInt1) ? 0 : 1) == 0) {} if (((paramInt3 <= paramInt1 ? 0 : 1) == 0 ? 0 : 1) != 0) { paramintW.val = -5; } else if ((paramInt5 >= Math.max(1, paramInt1) ? 0 : 1) != 0) { paramintW.val = -7; } else { if ((paramInt9 >= 1 ? 0 : 1) == 0) { if (!bool3) {} } if ((((paramInt9 >= Math.max(1, paramInt1) ? 0 : 1) != 0 ? 1 : 0) == 0 ? 0 : 1) != 0) { paramintW.val = -11; } else { if ((paramInt11 >= Math.max(1, paramInt1) ? 0 : 1) != 0) {} if (((m ^ 0x1) != 0 ? 1 : 0) != 0) { paramintW.val = -13; } } } } } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("SHSEQR", -paramintW.val); return; } if ((paramInt1 != 0 ? 0 : 1) != 0) { return; } if (m != 0) { Slaqr0.slaqr0( bool2, bool3, paramInt1, paramInt2, paramInt3, paramArrayOfFloat1, paramInt4, paramInt5, paramArrayOfFloat2, paramInt6, paramArrayOfFloat3, paramInt7, paramInt2, paramInt3, paramArrayOfFloat4, paramInt8, paramInt9, paramArrayOfFloat5, paramInt10, paramInt11, paramintW); paramArrayOfFloat5[(1 - 1 + paramInt10)] = Math.max(Math.max(1, paramInt1), paramArrayOfFloat5[(1 - 1 + paramInt10)]); return; } i = 1; for (int n = paramInt2 - 1 - 1 + 1; n > 0; n--) { paramArrayOfFloat2[(i - 1 + paramInt6)] = paramArrayOfFloat1[(i - 1 + (i - 1) * paramInt5 + paramInt4)]; paramArrayOfFloat3[(i - 1 + paramInt7)] = 0.0F; i += 1; } i = paramInt3 + 1; for (n = paramInt1 - (paramInt3 + 1) + 1; n > 0; n--) { paramArrayOfFloat2[(i - 1 + paramInt6)] = paramArrayOfFloat1[(i - 1 + (i - 1) * paramInt5 + paramInt4)]; paramArrayOfFloat3[(i - 1 + paramInt7)] = 0.0F; i += 1; } if (bool1) { Slaset.slaset( "A", paramInt1, paramInt1, 0.0F, 1.0F, paramArrayOfFloat4, paramInt8, paramInt9); } if ((paramInt2 != paramInt3 ? 0 : 1) != 0) { paramArrayOfFloat2[(paramInt2 - 1 + paramInt6)] = paramArrayOfFloat1[(paramInt2 - 1 + (paramInt2 - 1) * paramInt5 + paramInt4)]; paramArrayOfFloat3[(paramInt2 - 1 + paramInt7)] = 0.0F; return; } k = Ilaenv.ilaenv( 1, "SHSEQR", paramString1.substring(1 + -1, 1) + paramString2.substring(1 + -1, 1), paramInt1, paramInt2, paramInt3, paramInt11); k = Math.max(11, k); if ((paramInt1 <= k ? 0 : 1) != 0) { Slaqr0.slaqr0( bool2, bool3, paramInt1, paramInt2, paramInt3, paramArrayOfFloat1, paramInt4, paramInt5, paramArrayOfFloat2, paramInt6, paramArrayOfFloat3, paramInt7, paramInt2, paramInt3, paramArrayOfFloat4, paramInt8, paramInt9, paramArrayOfFloat5, paramInt10, paramInt11, paramintW); } else { Slahqr.slahqr( bool2, bool3, paramInt1, paramInt2, paramInt3, paramArrayOfFloat1, paramInt4, paramInt5, paramArrayOfFloat2, paramInt6, paramArrayOfFloat3, paramInt7, paramInt2, paramInt3, paramArrayOfFloat4, paramInt8, paramInt9, paramintW); if ((paramintW.val <= 0 ? 0 : 1) != 0) { j = paramintW.val; if ((paramInt1 < 49 ? 0 : 1) != 0) { Slaqr0.slaqr0( bool2, bool3, paramInt1, paramInt2, j, paramArrayOfFloat1, paramInt4, paramInt5, paramArrayOfFloat2, paramInt6, paramArrayOfFloat3, paramInt7, paramInt2, paramInt3, paramArrayOfFloat4, paramInt8, paramInt9, paramArrayOfFloat5, paramInt10, paramInt11, paramintW); } else { Slacpy.slacpy( "A", paramInt1, paramInt1, paramArrayOfFloat1, paramInt4, paramInt5, arrayOfFloat1, 0, 49); arrayOfFloat1[(paramInt1 + 1 - 1 + (paramInt1 - 1) * 49)] = 0.0F; Slaset.slaset( "A", 49, 49 - paramInt1, 0.0F, 0.0F, arrayOfFloat1, 1 - 1 + (paramInt1 + 1 - 1) * 49, 49); Slaqr0.slaqr0( bool2, bool3, 49, paramInt2, j, arrayOfFloat1, 0, 49, paramArrayOfFloat2, paramInt6, paramArrayOfFloat3, paramInt7, paramInt2, paramInt3, paramArrayOfFloat4, paramInt8, paramInt9, arrayOfFloat2, 0, 49, paramintW); if (!bool2) {} if (((paramintW.val == 0 ? 0 : 1) == 0 ? 0 : 1) != 0) { Slacpy.slacpy( "A", paramInt1, paramInt1, arrayOfFloat1, 0, 49, paramArrayOfFloat1, paramInt4, paramInt5); } } } } if (!bool2) {} if (((paramintW.val == 0 ? 0 : 1) == 0 ? 0 : 1) != 0) {} if (((paramInt1 <= 2 ? 0 : 1) != 0 ? 1 : 0) != 0) { Slaset.slaset( "L", paramInt1 - 2, paramInt1 - 2, 0.0F, 0.0F, paramArrayOfFloat1, 3 - 1 + (1 - 1) * paramInt5 + paramInt4, paramInt5); } paramArrayOfFloat5[(1 - 1 + paramInt10)] = Math.max(Math.max(1, paramInt1), paramArrayOfFloat5[(1 - 1 + paramInt10)]); }
public static void sgegs( String paramString1, String paramString2, int paramInt1, float[] paramArrayOfFloat1, int paramInt2, int paramInt3, float[] paramArrayOfFloat2, int paramInt4, int paramInt5, float[] paramArrayOfFloat3, int paramInt6, float[] paramArrayOfFloat4, int paramInt7, float[] paramArrayOfFloat5, int paramInt8, float[] paramArrayOfFloat6, int paramInt9, int paramInt10, float[] paramArrayOfFloat7, int paramInt11, int paramInt12, float[] paramArrayOfFloat8, int paramInt13, int paramInt14, intW paramintW) { int i = 0; int j = 0; int k = 0; int m = 0; int n = 0; int i1 = 0; intW localintW1 = new intW(0); intW localintW2 = new intW(0); int i2 = 0; int i3 = 0; int i4 = 0; intW localintW3 = new intW(0); int i5 = 0; int i6 = 0; int i7 = 0; int i8 = 0; int i9 = 0; int i10 = 0; int i11 = 0; int i12 = 0; int i13 = 0; int i14 = 0; int i15 = 0; float f1 = 0.0F; float f2 = 0.0F; float f3 = 0.0F; float f4 = 0.0F; float f5 = 0.0F; float f6 = 0.0F; float f7 = 0.0F; float f8 = 0.0F; if (Lsame.lsame(paramString1, "N")) { i2 = 1; k = 0; } else if (Lsame.lsame(paramString1, "V")) { i2 = 2; k = 1; } else { i2 = -1; k = 0; } if (Lsame.lsame(paramString2, "N")) { i3 = 1; m = 0; } else if (Lsame.lsame(paramString2, "V")) { i3 = 2; m = 1; } else { i3 = -1; m = 0; } i10 = Math.max(4 * paramInt1, 1); i11 = i10; paramArrayOfFloat8[(1 - 1 + paramInt13)] = i11; n = paramInt14 != -1 ? 0 : 1; paramintW.val = 0; if ((i2 > 0 ? 0 : 1) != 0) { paramintW.val = -1; } else if ((i3 > 0 ? 0 : 1) != 0) { paramintW.val = -2; } else if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW.val = -3; } else if ((paramInt3 >= Math.max(1, paramInt1) ? 0 : 1) != 0) { paramintW.val = -5; } else if ((paramInt5 >= Math.max(1, paramInt1) ? 0 : 1) != 0) { paramintW.val = -7; } else { if ((paramInt10 >= 1 ? 0 : 1) == 0) { if (k == 0) {} } if ((((paramInt10 >= paramInt1 ? 0 : 1) != 0 ? 1 : 0) == 0 ? 0 : 1) != 0) { paramintW.val = -12; } else { if ((paramInt12 >= 1 ? 0 : 1) == 0) { if (m == 0) {} } if ((((paramInt12 >= paramInt1 ? 0 : 1) != 0 ? 1 : 0) == 0 ? 0 : 1) != 0) { paramintW.val = -14; } else { if ((paramInt14 >= i10 ? 0 : 1) != 0) {} if (((n ^ 0x1) != 0 ? 1 : 0) != 0) { paramintW.val = -16; } } } } if ((paramintW.val != 0 ? 0 : 1) != 0) { i13 = Ilaenv.ilaenv(1, "SGEQRF", " ", paramInt1, paramInt1, -1, -1); i14 = Ilaenv.ilaenv(1, "SORMQR", " ", paramInt1, paramInt1, paramInt1, -1); i15 = Ilaenv.ilaenv(1, "SORGQR", " ", paramInt1, paramInt1, paramInt1, -1); i12 = Util.max(i13, i14, i15); i9 = 2 * paramInt1 + paramInt1 * (i12 + 1); paramArrayOfFloat8[(1 - 1 + paramInt13)] = i9; } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("SGEGS ", -paramintW.val); return; } if (n != 0) { return; } if ((paramInt1 != 0 ? 0 : 1) != 0) { return; } f6 = Slamch.slamch("E") * Slamch.slamch("B"); f7 = Slamch.slamch("S"); f8 = paramInt1 * f7 / f6; f3 = 1.0F / f8; f1 = Slange.slange( "M", paramInt1, paramInt1, paramArrayOfFloat1, paramInt2, paramInt3, paramArrayOfFloat8, paramInt13); i = 0; if ((f1 <= 0.0F ? 0 : 1) != 0) {} if (((f1 >= f8 ? 0 : 1) != 0 ? 1 : 0) != 0) { f2 = f8; i = 1; } else if ((f1 <= f3 ? 0 : 1) != 0) { f2 = f3; i = 1; } if (i != 0) { Slascl.slascl( "G", -1, -1, f1, f2, paramInt1, paramInt1, paramArrayOfFloat1, paramInt2, paramInt3, localintW2); if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 9); return; } } f4 = Slange.slange( "M", paramInt1, paramInt1, paramArrayOfFloat2, paramInt4, paramInt5, paramArrayOfFloat8, paramInt13); j = 0; if ((f4 <= 0.0F ? 0 : 1) != 0) {} if (((f4 >= f8 ? 0 : 1) != 0 ? 1 : 0) != 0) { f5 = f8; j = 1; } else if ((f4 <= f3 ? 0 : 1) != 0) { f5 = f3; j = 1; } if (j != 0) { Slascl.slascl( "G", -1, -1, f4, f5, paramInt1, paramInt1, paramArrayOfFloat2, paramInt4, paramInt5, localintW2); if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 9); return; } } i4 = 1; i5 = paramInt1 + 1; i8 = i5 + paramInt1; Sggbal.sggbal( "P", paramInt1, paramArrayOfFloat1, paramInt2, paramInt3, paramArrayOfFloat2, paramInt4, paramInt5, localintW3, localintW1, paramArrayOfFloat8, i4 - 1 + paramInt13, paramArrayOfFloat8, i5 - 1 + paramInt13, paramArrayOfFloat8, i8 - 1 + paramInt13, localintW2); if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 1); } else { i6 = localintW1.val + 1 - localintW3.val; i1 = paramInt1 + 1 - localintW3.val; i7 = i8; i8 = i7 + i6; Sgeqrf.sgeqrf( i6, i1, paramArrayOfFloat2, localintW3.val - 1 + (localintW3.val - 1) * paramInt5 + paramInt4, paramInt5, paramArrayOfFloat8, i7 - 1 + paramInt13, paramArrayOfFloat8, i8 - 1 + paramInt13, paramInt14 + 1 - i8, localintW2); if ((localintW2.val < 0 ? 0 : 1) != 0) { i11 = Math.max(i11, (int) paramArrayOfFloat8[(i8 - 1 + paramInt13)] + i8 - 1); } if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 2); } else { Sormqr.sormqr( "L", "T", i6, i1, i6, paramArrayOfFloat2, localintW3.val - 1 + (localintW3.val - 1) * paramInt5 + paramInt4, paramInt5, paramArrayOfFloat8, i7 - 1 + paramInt13, paramArrayOfFloat1, localintW3.val - 1 + (localintW3.val - 1) * paramInt3 + paramInt2, paramInt3, paramArrayOfFloat8, i8 - 1 + paramInt13, paramInt14 + 1 - i8, localintW2); if ((localintW2.val < 0 ? 0 : 1) != 0) { i11 = Math.max(i11, (int) paramArrayOfFloat8[(i8 - 1 + paramInt13)] + i8 - 1); } if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 3); } else { if (k != 0) { Slaset.slaset( "Full", paramInt1, paramInt1, 0.0F, 1.0F, paramArrayOfFloat6, paramInt9, paramInt10); Slacpy.slacpy( "L", i6 - 1, i6 - 1, paramArrayOfFloat2, localintW3.val + 1 - 1 + (localintW3.val - 1) * paramInt5 + paramInt4, paramInt5, paramArrayOfFloat6, localintW3.val + 1 - 1 + (localintW3.val - 1) * paramInt10 + paramInt9, paramInt10); Sorgqr.sorgqr( i6, i6, i6, paramArrayOfFloat6, localintW3.val - 1 + (localintW3.val - 1) * paramInt10 + paramInt9, paramInt10, paramArrayOfFloat8, i7 - 1 + paramInt13, paramArrayOfFloat8, i8 - 1 + paramInt13, paramInt14 + 1 - i8, localintW2); if ((localintW2.val < 0 ? 0 : 1) != 0) { i11 = Math.max(i11, (int) paramArrayOfFloat8[(i8 - 1 + paramInt13)] + i8 - 1); } if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 4); break label2389; } } if (m != 0) { Slaset.slaset( "Full", paramInt1, paramInt1, 0.0F, 1.0F, paramArrayOfFloat7, paramInt11, paramInt12); } Sgghrd.sgghrd( paramString1, paramString2, paramInt1, localintW3.val, localintW1.val, paramArrayOfFloat1, paramInt2, paramInt3, paramArrayOfFloat2, paramInt4, paramInt5, paramArrayOfFloat6, paramInt9, paramInt10, paramArrayOfFloat7, paramInt11, paramInt12, localintW2); if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 5); } else { i8 = i7; Shgeqz.shgeqz( "S", paramString1, paramString2, paramInt1, localintW3.val, localintW1.val, paramArrayOfFloat1, paramInt2, paramInt3, paramArrayOfFloat2, paramInt4, paramInt5, paramArrayOfFloat3, paramInt6, paramArrayOfFloat4, paramInt7, paramArrayOfFloat5, paramInt8, paramArrayOfFloat6, paramInt9, paramInt10, paramArrayOfFloat7, paramInt11, paramInt12, paramArrayOfFloat8, i8 - 1 + paramInt13, paramInt14 + 1 - i8, localintW2); if ((localintW2.val < 0 ? 0 : 1) != 0) { i11 = Math.max(i11, (int) paramArrayOfFloat8[(i8 - 1 + paramInt13)] + i8 - 1); } if ((localintW2.val == 0 ? 0 : 1) != 0) { if ((localintW2.val <= 0 ? 0 : 1) != 0) {} if (((localintW2.val > paramInt1 ? 0 : 1) != 0 ? 1 : 0) != 0) { paramintW.val = localintW2.val; } else { if ((localintW2.val <= paramInt1 ? 0 : 1) != 0) {} if (((localintW2.val > 2 * paramInt1 ? 0 : 1) != 0 ? 1 : 0) != 0) { localintW2.val -= paramInt1; } else { paramintW.val = (paramInt1 + 6); } } } else { if (k != 0) { Sggbak.sggbak( "P", "L", paramInt1, localintW3.val, localintW1.val, paramArrayOfFloat8, i4 - 1 + paramInt13, paramArrayOfFloat8, i5 - 1 + paramInt13, paramInt1, paramArrayOfFloat6, paramInt9, paramInt10, localintW2); if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 7); break label2389; } } if (m != 0) { Sggbak.sggbak( "P", "R", paramInt1, localintW3.val, localintW1.val, paramArrayOfFloat8, i4 - 1 + paramInt13, paramArrayOfFloat8, i5 - 1 + paramInt13, paramInt1, paramArrayOfFloat7, paramInt11, paramInt12, localintW2); if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 8); break label2389; } } if (i != 0) { Slascl.slascl( "H", -1, -1, f2, f1, paramInt1, paramInt1, paramArrayOfFloat1, paramInt2, paramInt3, localintW2); if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 9); return; } Slascl.slascl( "G", -1, -1, f2, f1, paramInt1, 1, paramArrayOfFloat3, paramInt6, paramInt1, localintW2); if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 9); return; } Slascl.slascl( "G", -1, -1, f2, f1, paramInt1, 1, paramArrayOfFloat4, paramInt7, paramInt1, localintW2); if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 9); return; } } if (j != 0) { Slascl.slascl( "U", -1, -1, f5, f4, paramInt1, paramInt1, paramArrayOfFloat2, paramInt4, paramInt5, localintW2); if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 9); return; } Slascl.slascl( "G", -1, -1, f5, f4, paramInt1, 1, paramArrayOfFloat5, paramInt8, paramInt1, localintW2); if ((localintW2.val == 0 ? 0 : 1) != 0) { paramintW.val = (paramInt1 + 9); return; } } } } } } } label2389: paramArrayOfFloat8[(1 - 1 + paramInt13)] = i11; }
public static void dggevx( String paramString1, String paramString2, String paramString3, String paramString4, int paramInt1, double[] paramArrayOfDouble1, int paramInt2, int paramInt3, double[] paramArrayOfDouble2, int paramInt4, int paramInt5, double[] paramArrayOfDouble3, int paramInt6, double[] paramArrayOfDouble4, int paramInt7, double[] paramArrayOfDouble5, int paramInt8, double[] paramArrayOfDouble6, int paramInt9, int paramInt10, double[] paramArrayOfDouble7, int paramInt11, int paramInt12, intW paramintW1, intW paramintW2, double[] paramArrayOfDouble8, int paramInt13, double[] paramArrayOfDouble9, int paramInt14, doubleW paramdoubleW1, doubleW paramdoubleW2, double[] paramArrayOfDouble10, int paramInt15, double[] paramArrayOfDouble11, int paramInt16, double[] paramArrayOfDouble12, int paramInt17, int paramInt18, int[] paramArrayOfInt, int paramInt19, boolean[] paramArrayOfBoolean, int paramInt20, intW paramintW3) { int i = 0; int j = 0; int k = 0; int m = 0; int n = 0; int i1 = 0; int i2 = 0; int i3 = 0; boolean bool1 = false; boolean bool2 = false; boolean bool3 = false; boolean bool4 = false; String str = new String(" "); int i4 = 0; int i5 = 0; intW localintW1 = new intW(0); int i6 = 0; int i7 = 0; intW localintW2 = new intW(0); int i8 = 0; int i9 = 0; int i10 = 0; int i11 = 0; int i12 = 0; int i13 = 0; int i14 = 0; intW localintW3 = new intW(0); int i15 = 0; int i16 = 0; int i17 = 0; double d1 = 0.0D; double d2 = 0.0D; doubleW localdoubleW1 = new doubleW(0.0D); double d3 = 0.0D; double d4 = 0.0D; double d5 = 0.0D; doubleW localdoubleW2 = new doubleW(0.0D); double d6 = 0.0D; boolean[] arrayOfBoolean = new boolean[1]; if (Lsame.lsame(paramString2, "N")) { i6 = 1; m = 0; } else if (Lsame.lsame(paramString2, "V")) { i6 = 2; m = 1; } else { i6 = -1; m = 0; } if (Lsame.lsame(paramString3, "N")) { i7 = 1; n = 0; } else if (Lsame.lsame(paramString3, "V")) { i7 = 2; n = 1; } else { i7 = -1; n = 0; } k = (m == 0) && (n == 0) ? 0 : 1; i2 = (!Lsame.lsame(paramString1, "N")) && (!Lsame.lsame(paramString1, "P")) ? 0 : 1; bool3 = Lsame.lsame(paramString4, "N"); bool2 = Lsame.lsame(paramString4, "E"); bool4 = Lsame.lsame(paramString4, "V"); bool1 = Lsame.lsame(paramString4, "B"); paramintW3.val = 0; i1 = paramInt18 != -1 ? 0 : 1; if (((!Lsame.lsame(paramString1, "N")) && (!Lsame.lsame(paramString1, "S")) ? 0 : 1) == 0) {} if ((!Lsame.lsame(paramString1, "P") ? 0 : 1) == 0) {} if (((!Lsame.lsame(paramString1, "B") ? 0 : 1) ^ 0x1) != 0) { paramintW3.val = -1; } else if ((i6 > 0 ? 0 : 1) != 0) { paramintW3.val = -2; } else if ((i7 > 0 ? 0 : 1) != 0) { paramintW3.val = -3; } else { if (((!bool3) && (!bool2) ? 0 : 1) == 0) {} if ((!bool1 ? 0 : 1) == 0) {} if (((!bool4 ? 0 : 1) ^ 0x1) != 0) { paramintW3.val = -4; } else if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW3.val = -5; } else if ((paramInt3 >= Math.max(1, paramInt1) ? 0 : 1) != 0) { paramintW3.val = -7; } else if ((paramInt5 >= Math.max(1, paramInt1) ? 0 : 1) != 0) { paramintW3.val = -9; } else { if ((paramInt10 >= 1 ? 0 : 1) == 0) { if (m == 0) {} } if ((((paramInt10 >= paramInt1 ? 0 : 1) != 0 ? 1 : 0) == 0 ? 0 : 1) != 0) { paramintW3.val = -14; } else { if ((paramInt12 >= 1 ? 0 : 1) == 0) { if (n == 0) {} } if ((((paramInt12 >= paramInt1 ? 0 : 1) != 0 ? 1 : 0) == 0 ? 0 : 1) != 0) { paramintW3.val = -16; } } } } if ((paramintW3.val != 0 ? 0 : 1) != 0) { if ((paramInt1 != 0 ? 0 : 1) != 0) { i16 = 1; i15 = 1; } else { if (((i2 != 0) && ((k ^ 0x1) != 0) ? 1 : 0) != 0) { i16 = 2 * paramInt1; } else { i16 = 6 * paramInt1; } if (((!bool2) && (!bool1) ? 0 : 1) != 0) { i16 = 10 * paramInt1; } if (((!bool4) && (!bool1) ? 0 : 1) != 0) { i16 = Math.max(i16, 2 * paramInt1 * (paramInt1 + 4) + 16); } i15 = i16; i15 = Math.max( i15, paramInt1 + paramInt1 * Ilaenv.ilaenv(1, "DGEQRF", " ", paramInt1, 1, paramInt1, 0)); i15 = Math.max( i15, paramInt1 + paramInt1 * Ilaenv.ilaenv(1, "DORMQR", " ", paramInt1, 1, paramInt1, 0)); if (m != 0) { i15 = Math.max( i15, paramInt1 + paramInt1 * Ilaenv.ilaenv(1, "DORGQR", " ", paramInt1, 1, paramInt1, 0)); } } paramArrayOfDouble12[(1 - 1 + paramInt17)] = i15; if ((paramInt18 >= i16 ? 0 : 1) != 0) {} if (((i1 ^ 0x1) != 0 ? 1 : 0) != 0) { paramintW3.val = -26; } } if ((paramintW3.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("DGGEVX", -paramintW3.val); return; } if (i1 != 0) { return; } if ((paramInt1 != 0 ? 0 : 1) != 0) { return; } d5 = Dlamch.dlamch("P"); localdoubleW2.val = Dlamch.dlamch("S"); localdoubleW1.val = (1.0D / localdoubleW2.val); Dlabad.dlabad(localdoubleW2, localdoubleW1); localdoubleW2.val = (Math.sqrt(localdoubleW2.val) / d5); localdoubleW1.val = (1.0D / localdoubleW2.val); d1 = Dlange.dlange( "M", paramInt1, paramInt1, paramArrayOfDouble1, paramInt2, paramInt3, paramArrayOfDouble12, paramInt17); i = 0; if ((d1 <= 0.0D ? 0 : 1) != 0) {} if (((d1 >= localdoubleW2.val ? 0 : 1) != 0 ? 1 : 0) != 0) { d2 = localdoubleW2.val; i = 1; } else if ((d1 <= localdoubleW1.val ? 0 : 1) != 0) { d2 = localdoubleW1.val; i = 1; } if (i != 0) { Dlascl.dlascl( "G", 0, 0, d1, d2, paramInt1, paramInt1, paramArrayOfDouble1, paramInt2, paramInt3, localintW1); } d3 = Dlange.dlange( "M", paramInt1, paramInt1, paramArrayOfDouble2, paramInt4, paramInt5, paramArrayOfDouble12, paramInt17); j = 0; if ((d3 <= 0.0D ? 0 : 1) != 0) {} if (((d3 >= localdoubleW2.val ? 0 : 1) != 0 ? 1 : 0) != 0) { d4 = localdoubleW2.val; j = 1; } else if ((d3 <= localdoubleW1.val ? 0 : 1) != 0) { d4 = localdoubleW1.val; j = 1; } if (j != 0) { Dlascl.dlascl( "G", 0, 0, d3, d4, paramInt1, paramInt1, paramArrayOfDouble2, paramInt4, paramInt5, localintW1); } Dggbal.dggbal( paramString1, paramInt1, paramArrayOfDouble1, paramInt2, paramInt3, paramArrayOfDouble2, paramInt4, paramInt5, paramintW1, paramintW2, paramArrayOfDouble8, paramInt13, paramArrayOfDouble9, paramInt14, paramArrayOfDouble12, paramInt17, localintW1); paramdoubleW1.val = Dlange.dlange( "1", paramInt1, paramInt1, paramArrayOfDouble1, paramInt2, paramInt3, paramArrayOfDouble12, 1 - 1 + paramInt17); if (i != 0) { paramArrayOfDouble12[(1 - 1 + paramInt17)] = paramdoubleW1.val; Dlascl.dlascl( "G", 0, 0, d2, d1, 1, 1, paramArrayOfDouble12, 1 - 1 + paramInt17, 1, localintW1); paramdoubleW1.val = paramArrayOfDouble12[(1 - 1 + paramInt17)]; } paramdoubleW2.val = Dlange.dlange( "1", paramInt1, paramInt1, paramArrayOfDouble2, paramInt4, paramInt5, paramArrayOfDouble12, 1 - 1 + paramInt17); if (j != 0) { paramArrayOfDouble12[(1 - 1 + paramInt17)] = paramdoubleW2.val; Dlascl.dlascl( "G", 0, 0, d4, d3, 1, 1, paramArrayOfDouble12, 1 - 1 + paramInt17, 1, localintW1); paramdoubleW2.val = paramArrayOfDouble12[(1 - 1 + paramInt17)]; } i8 = paramintW2.val + 1 - paramintW1.val; if (((k == 0) && (!(bool3 ^ true)) ? 0 : 1) != 0) { i5 = paramInt1 + 1 - paramintW1.val; } else { i5 = i8; } i9 = 1; i10 = i9 + i8; Dgeqrf.dgeqrf( i8, i5, paramArrayOfDouble2, paramintW1.val - 1 + (paramintW1.val - 1) * paramInt5 + paramInt4, paramInt5, paramArrayOfDouble12, i9 - 1 + paramInt17, paramArrayOfDouble12, i10 - 1 + paramInt17, paramInt18 + 1 - i10, localintW1); Dormqr.dormqr( "L", "T", i8, i5, i8, paramArrayOfDouble2, paramintW1.val - 1 + (paramintW1.val - 1) * paramInt5 + paramInt4, paramInt5, paramArrayOfDouble12, i9 - 1 + paramInt17, paramArrayOfDouble1, paramintW1.val - 1 + (paramintW1.val - 1) * paramInt3 + paramInt2, paramInt3, paramArrayOfDouble12, i10 - 1 + paramInt17, paramInt18 + 1 - i10, localintW1); if (m != 0) { Dlaset.dlaset( "Full", paramInt1, paramInt1, 0.0D, 1.0D, paramArrayOfDouble6, paramInt9, paramInt10); if ((i8 <= 1 ? 0 : 1) != 0) { Dlacpy.dlacpy( "L", i8 - 1, i8 - 1, paramArrayOfDouble2, paramintW1.val + 1 - 1 + (paramintW1.val - 1) * paramInt5 + paramInt4, paramInt5, paramArrayOfDouble6, paramintW1.val + 1 - 1 + (paramintW1.val - 1) * paramInt10 + paramInt9, paramInt10); } Dorgqr.dorgqr( i8, i8, i8, paramArrayOfDouble6, paramintW1.val - 1 + (paramintW1.val - 1) * paramInt10 + paramInt9, paramInt10, paramArrayOfDouble12, i9 - 1 + paramInt17, paramArrayOfDouble12, i10 - 1 + paramInt17, paramInt18 + 1 - i10, localintW1); } if (n != 0) { Dlaset.dlaset( "Full", paramInt1, paramInt1, 0.0D, 1.0D, paramArrayOfDouble7, paramInt11, paramInt12); } if (((k == 0) && (!(bool3 ^ true)) ? 0 : 1) != 0) { Dgghrd.dgghrd( paramString2, paramString3, paramInt1, paramintW1.val, paramintW2.val, paramArrayOfDouble1, paramInt2, paramInt3, paramArrayOfDouble2, paramInt4, paramInt5, paramArrayOfDouble6, paramInt9, paramInt10, paramArrayOfDouble7, paramInt11, paramInt12, localintW1); } else { Dgghrd.dgghrd( "N", "N", i8, 1, i8, paramArrayOfDouble1, paramintW1.val - 1 + (paramintW1.val - 1) * paramInt3 + paramInt2, paramInt3, paramArrayOfDouble2, paramintW1.val - 1 + (paramintW1.val - 1) * paramInt5 + paramInt4, paramInt5, paramArrayOfDouble6, paramInt9, paramInt10, paramArrayOfDouble7, paramInt11, paramInt12, localintW1); } if (((k == 0) && (!(bool3 ^ true)) ? 0 : 1) != 0) { str = "S"; } else { str = "E"; } Dhgeqz.dhgeqz( str, paramString2, paramString3, paramInt1, paramintW1.val, paramintW2.val, paramArrayOfDouble1, paramInt2, paramInt3, paramArrayOfDouble2, paramInt4, paramInt5, paramArrayOfDouble3, paramInt6, paramArrayOfDouble4, paramInt7, paramArrayOfDouble5, paramInt8, paramArrayOfDouble6, paramInt9, paramInt10, paramArrayOfDouble7, paramInt11, paramInt12, paramArrayOfDouble12, paramInt17, paramInt18, localintW1); if ((localintW1.val == 0 ? 0 : 1) != 0) { if ((localintW1.val <= 0 ? 0 : 1) != 0) {} if (((localintW1.val > paramInt1 ? 0 : 1) != 0 ? 1 : 0) != 0) { paramintW3.val = localintW1.val; } else { if ((localintW1.val <= paramInt1 ? 0 : 1) != 0) {} if (((localintW1.val > 2 * paramInt1 ? 0 : 1) != 0 ? 1 : 0) != 0) { localintW1.val -= paramInt1; } else { paramintW3.val = (paramInt1 + 1); } } } else { int i18; int i19; if (((k == 0) && (!(bool3 ^ true)) ? 0 : 1) != 0) { if (k != 0) { if (m != 0) { if (n != 0) { str = "B"; } else { str = "L"; } } else { str = "R"; } Dtgevc.dtgevc( str, "B", arrayOfBoolean, 0, paramInt1, paramArrayOfDouble1, paramInt2, paramInt3, paramArrayOfDouble2, paramInt4, paramInt5, paramArrayOfDouble6, paramInt9, paramInt10, paramArrayOfDouble7, paramInt11, paramInt12, paramInt1, localintW2, paramArrayOfDouble12, paramInt17, localintW1); if ((localintW1.val == 0 ? 0 : 1) != 0) { paramintW3.val = (paramInt1 + 2); break label3995; } } if ((bool3 ^ true)) { i3 = 0; i4 = 1; for (i18 = paramInt1 - 1 + 1; i18 > 0; i18--) { if (i3 != 0) { i3 = 0; } else { i17 = 1; if ((i4 >= paramInt1 ? 0 : 1) != 0) { if ((paramArrayOfDouble1[(i4 + 1 - 1 + (i4 - 1) * paramInt3 + paramInt2)] == 0.0D ? 0 : 1) != 0) { i3 = 1; i17 = 2; } } i12 = 1; for (i19 = paramInt1 - 1 + 1; i19 > 0; i19--) { paramArrayOfBoolean[(i12 - 1 + paramInt20)] = false; i12 += 1; } if ((i17 != 1 ? 0 : 1) != 0) { paramArrayOfBoolean[(i4 - 1 + paramInt20)] = true; } else if ((i17 != 2 ? 0 : 1) != 0) { paramArrayOfBoolean[(i4 - 1 + paramInt20)] = true; paramArrayOfBoolean[(i4 + 1 - 1 + paramInt20)] = true; } i10 = i17 * paramInt1 + 1; i11 = i10 + i17 * paramInt1; if (((!bool2) && (!bool1) ? 0 : 1) != 0) { Dtgevc.dtgevc( "B", "S", paramArrayOfBoolean, paramInt20, paramInt1, paramArrayOfDouble1, paramInt2, paramInt3, paramArrayOfDouble2, paramInt4, paramInt5, paramArrayOfDouble12, 1 - 1 + paramInt17, paramInt1, paramArrayOfDouble12, i10 - 1 + paramInt17, paramInt1, i17, localintW3, paramArrayOfDouble12, i11 - 1 + paramInt17, localintW1); if ((localintW1.val == 0 ? 0 : 1) != 0) { paramintW3.val = (paramInt1 + 2); break; } } Dtgsna.dtgsna( paramString4, "S", paramArrayOfBoolean, paramInt20, paramInt1, paramArrayOfDouble1, paramInt2, paramInt3, paramArrayOfDouble2, paramInt4, paramInt5, paramArrayOfDouble12, 1 - 1 + paramInt17, paramInt1, paramArrayOfDouble12, i10 - 1 + paramInt17, paramInt1, paramArrayOfDouble10, i4 - 1 + paramInt15, paramArrayOfDouble11, i4 - 1 + paramInt16, i17, localintW3, paramArrayOfDouble12, i11 - 1 + paramInt17, paramInt18 - i11 + 1, paramArrayOfInt, paramInt19, localintW1); } i4 += 1; } } } if (m != 0) { Dggbak.dggbak( paramString1, "L", paramInt1, paramintW1.val, paramintW2.val, paramArrayOfDouble8, paramInt13, paramArrayOfDouble9, paramInt14, paramInt1, paramArrayOfDouble6, paramInt9, paramInt10, localintW1); i13 = 1; for (i18 = paramInt1 - 1 + 1; i18 > 0; i18--) { if ((paramArrayOfDouble4[(i13 - 1 + paramInt7)] >= 0.0D ? 0 : 1) == 0) { d6 = 0.0D; if ((paramArrayOfDouble4[(i13 - 1 + paramInt7)] != 0.0D ? 0 : 1) != 0) { i14 = 1; for (i19 = paramInt1 - 1 + 1; i19 > 0; i19--) { d6 = Math.max( d6, Math.abs( paramArrayOfDouble6[(i14 - 1 + (i13 - 1) * paramInt10 + paramInt9)])); i14 += 1; } } else { i14 = 1; for (i19 = paramInt1 - 1 + 1; i19 > 0; i19--) { d6 = Math.max( d6, Math.abs( paramArrayOfDouble6[(i14 - 1 + (i13 - 1) * paramInt10 + paramInt9)]) + Math.abs( paramArrayOfDouble6[ (i14 - 1 + (i13 + 1 - 1) * paramInt10 + paramInt9)])); i14 += 1; } } if ((d6 >= localdoubleW2.val ? 0 : 1) == 0) { d6 = 1.0D / d6; if ((paramArrayOfDouble4[(i13 - 1 + paramInt7)] != 0.0D ? 0 : 1) != 0) { i14 = 1; for (i19 = paramInt1 - 1 + 1; i19 > 0; i19--) { paramArrayOfDouble6[(i14 - 1 + (i13 - 1) * paramInt10 + paramInt9)] *= d6; i14 += 1; } } else { i14 = 1; for (i19 = paramInt1 - 1 + 1; i19 > 0; i19--) { paramArrayOfDouble6[(i14 - 1 + (i13 - 1) * paramInt10 + paramInt9)] *= d6; paramArrayOfDouble6[(i14 - 1 + (i13 + 1 - 1) * paramInt10 + paramInt9)] *= d6; i14 += 1; } } } } i13 += 1; } } if (n != 0) { Dggbak.dggbak( paramString1, "R", paramInt1, paramintW1.val, paramintW2.val, paramArrayOfDouble8, paramInt13, paramArrayOfDouble9, paramInt14, paramInt1, paramArrayOfDouble7, paramInt11, paramInt12, localintW1); i13 = 1; for (i18 = paramInt1 - 1 + 1; i18 > 0; i18--) { if ((paramArrayOfDouble4[(i13 - 1 + paramInt7)] >= 0.0D ? 0 : 1) == 0) { d6 = 0.0D; if ((paramArrayOfDouble4[(i13 - 1 + paramInt7)] != 0.0D ? 0 : 1) != 0) { i14 = 1; for (i19 = paramInt1 - 1 + 1; i19 > 0; i19--) { d6 = Math.max( d6, Math.abs( paramArrayOfDouble7[(i14 - 1 + (i13 - 1) * paramInt12 + paramInt11)])); i14 += 1; } } else { i14 = 1; for (i19 = paramInt1 - 1 + 1; i19 > 0; i19--) { d6 = Math.max( d6, Math.abs( paramArrayOfDouble7[ (i14 - 1 + (i13 - 1) * paramInt12 + paramInt11)]) + Math.abs( paramArrayOfDouble7[ (i14 - 1 + (i13 + 1 - 1) * paramInt12 + paramInt11)])); i14 += 1; } } if ((d6 >= localdoubleW2.val ? 0 : 1) == 0) { d6 = 1.0D / d6; if ((paramArrayOfDouble4[(i13 - 1 + paramInt7)] != 0.0D ? 0 : 1) != 0) { i14 = 1; for (i19 = paramInt1 - 1 + 1; i19 > 0; i19--) { paramArrayOfDouble7[(i14 - 1 + (i13 - 1) * paramInt12 + paramInt11)] *= d6; i14 += 1; } } else { i14 = 1; for (i19 = paramInt1 - 1 + 1; i19 > 0; i19--) { paramArrayOfDouble7[(i14 - 1 + (i13 - 1) * paramInt12 + paramInt11)] *= d6; paramArrayOfDouble7[(i14 - 1 + (i13 + 1 - 1) * paramInt12 + paramInt11)] *= d6; i14 += 1; } } } } i13 += 1; } } if (i != 0) { Dlascl.dlascl( "G", 0, 0, d2, d1, paramInt1, 1, paramArrayOfDouble3, paramInt6, paramInt1, localintW1); Dlascl.dlascl( "G", 0, 0, d2, d1, paramInt1, 1, paramArrayOfDouble4, paramInt7, paramInt1, localintW1); } if (j != 0) { Dlascl.dlascl( "G", 0, 0, d4, d3, paramInt1, 1, paramArrayOfDouble5, paramInt8, paramInt1, localintW1); } } label3995: paramArrayOfDouble12[(1 - 1 + paramInt17)] = i15; }
public static void dgeqrf( int paramInt1, int paramInt2, double[] paramArrayOfDouble1, int paramInt3, int paramInt4, double[] paramArrayOfDouble2, int paramInt5, double[] paramArrayOfDouble3, int paramInt6, int paramInt7, intW paramintW) { int i = 0; int j = 0; int k = 0; intW localintW = new intW(0); int m = 0; int n = 0; int i1 = 0; int i2 = 0; int i3 = 0; int i4 = 0; int i5 = 0; paramintW.val = 0; i3 = Ilaenv.ilaenv(1, "DGEQRF", " ", paramInt1, paramInt2, -1, -1); i2 = paramInt2 * i3; paramArrayOfDouble3[(1 - 1 + paramInt6)] = i2; i = paramInt7 != -1 ? 0 : 1; if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW.val = -1; } else if ((paramInt2 >= 0 ? 0 : 1) != 0) { paramintW.val = -2; } else if ((paramInt4 >= Math.max(1, paramInt1) ? 0 : 1) != 0) { paramintW.val = -4; } else { if ((paramInt7 >= Math.max(1, paramInt2) ? 0 : 1) != 0) {} if (((i ^ 0x1) != 0 ? 1 : 0) != 0) { paramintW.val = -7; } } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("DGEQRF", -paramintW.val); return; } if (i != 0) { return; } n = Math.min(paramInt1, paramInt2); if ((n != 0 ? 0 : 1) != 0) { paramArrayOfDouble3[(1 - 1 + paramInt6)] = 1; return; } i4 = 2; i5 = 0; m = paramInt2; if ((i3 <= 1 ? 0 : 1) != 0) {} if (((i3 >= n ? 0 : 1) != 0 ? 1 : 0) != 0) { i5 = Math.max(0, Ilaenv.ilaenv(3, "DGEQRF", " ", paramInt1, paramInt2, -1, -1)); if ((i5 >= n ? 0 : 1) != 0) { i1 = paramInt2; m = i1 * i3; if ((paramInt7 >= m ? 0 : 1) != 0) { i3 = paramInt7 / i1; i4 = Math.max(2, Ilaenv.ilaenv(2, "DGEQRF", " ", paramInt1, paramInt2, -1, -1)); } } } if ((i3 < i4 ? 0 : 1) != 0) {} if (((i3 >= n ? 0 : 1) != 0 ? 1 : 0) != 0) {} if (((i5 >= n ? 0 : 1) != 0 ? 1 : 0) != 0) { j = 1; for (int i6 = (n - i5 - 1 + i3) / i3; i6 > 0; i6--) { k = Math.min(n - j + 1, i3); Dgeqr2.dgeqr2( paramInt1 - j + 1, k, paramArrayOfDouble1, j - 1 + (j - 1) * paramInt4 + paramInt3, paramInt4, paramArrayOfDouble2, j - 1 + paramInt5, paramArrayOfDouble3, paramInt6, localintW); if ((j + k > paramInt2 ? 0 : 1) != 0) { Dlarft.dlarft( "Forward", "Columnwise", paramInt1 - j + 1, k, paramArrayOfDouble1, j - 1 + (j - 1) * paramInt4 + paramInt3, paramInt4, paramArrayOfDouble2, j - 1 + paramInt5, paramArrayOfDouble3, paramInt6, i1); Dlarfb.dlarfb( "Left", "Transpose", "Forward", "Columnwise", paramInt1 - j + 1, paramInt2 - j - k + 1, k, paramArrayOfDouble1, j - 1 + (j - 1) * paramInt4 + paramInt3, paramInt4, paramArrayOfDouble3, paramInt6, i1, paramArrayOfDouble1, j - 1 + (j + k - 1) * paramInt4 + paramInt3, paramInt4, paramArrayOfDouble3, k + 1 - 1 + paramInt6, i1); } j += i3; } } else { j = 1; } if ((j > n ? 0 : 1) != 0) { Dgeqr2.dgeqr2( paramInt1 - j + 1, paramInt2 - j + 1, paramArrayOfDouble1, j - 1 + (j - 1) * paramInt4 + paramInt3, paramInt4, paramArrayOfDouble2, j - 1 + paramInt5, paramArrayOfDouble3, paramInt6, localintW); } paramArrayOfDouble3[(1 - 1 + paramInt6)] = m; }