@Override public RQ factor(DenseMatrix A) { if (Q.numRows() != A.numRows()) throw new IllegalArgumentException("Q.numRows() != A.numRows()"); else if (Q.numColumns() != A.numColumns()) throw new IllegalArgumentException("Q.numColumns() != A.numColumns()"); else if (R == null) throw new IllegalArgumentException("R == null"); /* * Calculate factorisation, and extract the triangular factor */ intW info = new intW(0); LAPACK.getInstance().dgerqf(m, n, A.getData(), Matrices.ld(m), tau, work, work.length, info); if (info.val < 0) throw new IllegalArgumentException(); R.zero(); for (MatrixEntry e : A) if (e.column() >= (n - m) + e.row()) R.set(e.row(), e.column() - (n - m), e.get()); /* * Generate the orthogonal matrix */ info.val = 0; LAPACK .getInstance() .dorgrq(m, n, k, A.getData(), Matrices.ld(m), tau, workGen, workGen.length, info); if (info.val < 0) throw new IllegalArgumentException(); Q.set(A); return this; }
public static void dpbsv( String paramString, int paramInt1, int paramInt2, int paramInt3, double[] paramArrayOfDouble1, int paramInt4, int paramInt5, double[] paramArrayOfDouble2, int paramInt6, int paramInt7, intW paramintW) { paramintW.val = 0; if ((((Lsame.lsame(paramString, "U") ^ true)) && ((Lsame.lsame(paramString, "L") ^ true)) ? 1 : 0) != 0) { paramintW.val = -1; } else if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW.val = -2; } else if ((paramInt2 >= 0 ? 0 : 1) != 0) { paramintW.val = -3; } else if ((paramInt3 >= 0 ? 0 : 1) != 0) { paramintW.val = -4; } else if ((paramInt5 >= paramInt2 + 1 ? 0 : 1) != 0) { paramintW.val = -6; } else if ((paramInt7 >= Math.max(1, paramInt1) ? 0 : 1) != 0) { paramintW.val = -8; } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("DPBSV ", -paramintW.val); return; } Dpbtrf.dpbtrf( paramString, paramInt1, paramInt2, paramArrayOfDouble1, paramInt4, paramInt5, paramintW); if ((paramintW.val != 0 ? 0 : 1) != 0) { Dpbtrs.dpbtrs( paramString, paramInt1, paramInt2, paramInt3, paramArrayOfDouble1, paramInt4, paramInt5, paramArrayOfDouble2, paramInt6, paramInt7, paramintW); } }
public static void dlaein( boolean paramBoolean1, boolean paramBoolean2, int paramInt1, double[] paramArrayOfDouble1, int paramInt2, int paramInt3, double paramDouble1, double paramDouble2, double[] paramArrayOfDouble2, int paramInt4, double[] paramArrayOfDouble3, int paramInt5, double[] paramArrayOfDouble4, int paramInt6, int paramInt7, double[] paramArrayOfDouble5, int paramInt8, double paramDouble3, double paramDouble4, double paramDouble5, intW paramintW) { String str1 = new String(" "); String str2 = new String(" "); int i = 0; int j = 0; int k = 0; int m = 0; intW localintW = new intW(0); int n = 0; int i1 = 0; double d1 = 0.0D; double d2 = 0.0D; double d3 = 0.0D; double d4 = 0.0D; double d5 = 0.0D; double d6 = 0.0D; double d7 = 0.0D; double d8 = 0.0D; double d9 = 0.0D; doubleW localdoubleW = new doubleW(0.0D); double d10 = 0.0D; double d11 = 0.0D; double d12 = 0.0D; double d13 = 0.0D; double d14 = 0.0D; double d15 = 0.0D; double d16 = 0.0D; double d17 = 0.0D; double d18 = 0.0D; double d19 = 0.0D; paramintW.val = 0; d9 = Math.sqrt(paramInt1); d5 = 0.1D / d9; d7 = Math.max(1.0D, paramDouble3 * d9) * paramDouble4; i1 = 1; int i3; for (int i2 = paramInt1 - 1 + 1; i2 > 0; i2--) { i = 1; for (i3 = i1 - 1 - 1 + 1; i3 > 0; i3--) { paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)] = paramArrayOfDouble1[(i - 1 + (i1 - 1) * paramInt3 + paramInt2)]; i += 1; } paramArrayOfDouble1[(i1 - 1 + (i1 - 1) * paramInt3 + paramInt2)] -= paramDouble1; i1 += 1; } if ((paramDouble2 != 0.0D ? 0 : 1) != 0) { if (paramBoolean2) { i = 1; for (i2 = paramInt1 - 1 + 1; i2 > 0; i2--) { paramArrayOfDouble2[(i - 1 + paramInt4)] = paramDouble3; i += 1; } } else { d13 = Dnrm2.dnrm2(paramInt1, paramArrayOfDouble2, paramInt4, 1); Dscal.dscal( paramInt1, paramDouble3 * d9 / Math.max(d13, d7), paramArrayOfDouble2, paramInt4, 1); } if (paramBoolean1) { i = 1; for (i2 = paramInt1 - 1 - 1 + 1; i2 > 0; i2--) { d3 = paramArrayOfDouble1[(i + 1 - 1 + (i - 1) * paramInt3 + paramInt2)]; if ((Math.abs(paramArrayOfDouble4[(i - 1 + (i - 1) * paramInt7 + paramInt6)]) >= Math.abs(d3) ? 0 : 1) != 0) { d16 = paramArrayOfDouble4[(i - 1 + (i - 1) * paramInt7 + paramInt6)] / d3; paramArrayOfDouble4[(i - 1 + (i - 1) * paramInt7 + paramInt6)] = d3; i1 = i + 1; for (i3 = paramInt1 - (i + 1) + 1; i3 > 0; i3--) { d10 = paramArrayOfDouble4[(i + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)]; paramArrayOfDouble4[(i + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] = (paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)] - d16 * d10); paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)] = d10; i1 += 1; } } else { if ((paramArrayOfDouble4[(i - 1 + (i - 1) * paramInt7 + paramInt6)] != 0.0D ? 0 : 1) != 0) { paramArrayOfDouble4[(i - 1 + (i - 1) * paramInt7 + paramInt6)] = paramDouble3; } d16 = d3 / paramArrayOfDouble4[(i - 1 + (i - 1) * paramInt7 + paramInt6)]; if ((d16 == 0.0D ? 0 : 1) != 0) { i1 = i + 1; for (i3 = paramInt1 - (i + 1) + 1; i3 > 0; i3--) { paramArrayOfDouble4[(i + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] -= d16 * paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)]; i1 += 1; } } } i += 1; } if ((paramArrayOfDouble4[(paramInt1 - 1 + (paramInt1 - 1) * paramInt7 + paramInt6)] != 0.0D ? 0 : 1) != 0) { paramArrayOfDouble4[(paramInt1 - 1 + (paramInt1 - 1) * paramInt7 + paramInt6)] = paramDouble3; } str2 = "N"; } else { i1 = paramInt1; for (i2 = (2 - paramInt1 + -1) / -1; i2 > 0; i2--) { d4 = paramArrayOfDouble1[(i1 - 1 + (i1 - 1 - 1) * paramInt3 + paramInt2)]; if ((Math.abs(paramArrayOfDouble4[(i1 - 1 + (i1 - 1) * paramInt7 + paramInt6)]) >= Math.abs(d4) ? 0 : 1) != 0) { d16 = paramArrayOfDouble4[(i1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] / d4; paramArrayOfDouble4[(i1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] = d4; i = 1; for (i3 = i1 - 1 - 1 + 1; i3 > 0; i3--) { d10 = paramArrayOfDouble4[(i - 1 + (i1 - 1 - 1) * paramInt7 + paramInt6)]; paramArrayOfDouble4[(i - 1 + (i1 - 1 - 1) * paramInt7 + paramInt6)] = (paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)] - d16 * d10); paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)] = d10; i += 1; } } else { if ((paramArrayOfDouble4[(i1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] != 0.0D ? 0 : 1) != 0) { paramArrayOfDouble4[(i1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] = paramDouble3; } d16 = d4 / paramArrayOfDouble4[(i1 - 1 + (i1 - 1) * paramInt7 + paramInt6)]; if ((d16 == 0.0D ? 0 : 1) != 0) { i = 1; for (i3 = i1 - 1 - 1 + 1; i3 > 0; i3--) { paramArrayOfDouble4[(i - 1 + (i1 - 1 - 1) * paramInt7 + paramInt6)] -= d16 * paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)]; i += 1; } } } i1 += -1; } if ((paramArrayOfDouble4[(1 - 1 + (1 - 1) * paramInt7 + paramInt6)] != 0.0D ? 0 : 1) != 0) { paramArrayOfDouble4[(1 - 1 + (1 - 1) * paramInt7 + paramInt6)] = paramDouble3; } str2 = "T"; } str1 = "N"; n = 1; for (i2 = paramInt1 - 1 + 1; i2 > 0; i2--) { Dlatrs.dlatrs( "Upper", str2, "Nonunit", str1, paramInt1, paramArrayOfDouble4, paramInt6, paramInt7, paramArrayOfDouble2, paramInt4, localdoubleW, paramArrayOfDouble5, paramInt8, localintW); str1 = "Y"; d13 = Dasum.dasum(paramInt1, paramArrayOfDouble2, paramInt4, 1); if ((d13 < d5 * localdoubleW.val ? 0 : 1) != 0) { break; } d10 = paramDouble3 / (d9 + 1.0D); paramArrayOfDouble2[(1 - 1 + paramInt4)] = paramDouble3; i = 2; for (i3 = paramInt1 - 2 + 1; i3 > 0; i3--) { paramArrayOfDouble2[(i - 1 + paramInt4)] = d10; i += 1; } paramArrayOfDouble2[(paramInt1 - n + 1 - 1 + paramInt4)] -= paramDouble3 * d9; n += 1; } paramintW.val = 1; i = Idamax.idamax(paramInt1, paramArrayOfDouble2, paramInt4, 1); Dscal.dscal( paramInt1, 1.0D / Math.abs(paramArrayOfDouble2[(i - 1 + paramInt4)]), paramArrayOfDouble2, paramInt4, 1); } else { if (paramBoolean2) { i = 1; for (i2 = paramInt1 - 1 + 1; i2 > 0; i2--) { paramArrayOfDouble2[(i - 1 + paramInt4)] = paramDouble3; paramArrayOfDouble3[(i - 1 + paramInt5)] = 0.0D; i += 1; } } else { d6 = Dlapy2.dlapy2( Dnrm2.dnrm2(paramInt1, paramArrayOfDouble2, paramInt4, 1), Dnrm2.dnrm2(paramInt1, paramArrayOfDouble3, paramInt5, 1)); d8 = paramDouble3 * d9 / Math.max(d6, d7); Dscal.dscal(paramInt1, d8, paramArrayOfDouble2, paramInt4, 1); Dscal.dscal(paramInt1, d8, paramArrayOfDouble3, paramInt5, 1); } if (paramBoolean1) { paramArrayOfDouble4[(2 - 1 + (1 - 1) * paramInt7 + paramInt6)] = (-paramDouble2); i = 2; for (i2 = paramInt1 - 2 + 1; i2 > 0; i2--) { paramArrayOfDouble4[(i + 1 - 1 + (1 - 1) * paramInt7 + paramInt6)] = 0.0D; i += 1; } i = 1; for (i2 = paramInt1 - 1 - 1 + 1; i2 > 0; i2--) { d1 = Dlapy2.dlapy2( paramArrayOfDouble4[(i - 1 + (i - 1) * paramInt7 + paramInt6)], paramArrayOfDouble4[(i + 1 - 1 + (i - 1) * paramInt7 + paramInt6)]); d3 = paramArrayOfDouble1[(i + 1 - 1 + (i - 1) * paramInt3 + paramInt2)]; if ((d1 >= Math.abs(d3) ? 0 : 1) != 0) { d18 = paramArrayOfDouble4[(i - 1 + (i - 1) * paramInt7 + paramInt6)] / d3; d17 = paramArrayOfDouble4[(i + 1 - 1 + (i - 1) * paramInt7 + paramInt6)] / d3; paramArrayOfDouble4[(i - 1 + (i - 1) * paramInt7 + paramInt6)] = d3; paramArrayOfDouble4[(i + 1 - 1 + (i - 1) * paramInt7 + paramInt6)] = 0.0D; i1 = i + 1; for (i3 = paramInt1 - (i + 1) + 1; i3 > 0; i3--) { d10 = paramArrayOfDouble4[(i + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)]; paramArrayOfDouble4[(i + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] = (paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)] - d18 * d10); paramArrayOfDouble4[(i1 + 1 - 1 + (i + 1 - 1) * paramInt7 + paramInt6)] = (paramArrayOfDouble4[(i1 + 1 - 1 + (i - 1) * paramInt7 + paramInt6)] - d17 * d10); paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)] = d10; paramArrayOfDouble4[(i1 + 1 - 1 + (i - 1) * paramInt7 + paramInt6)] = 0.0D; i1 += 1; } paramArrayOfDouble4[(i + 2 - 1 + (i - 1) * paramInt7 + paramInt6)] = (-paramDouble2); paramArrayOfDouble4[(i + 1 - 1 + (i + 1 - 1) * paramInt7 + paramInt6)] -= d17 * paramDouble2; paramArrayOfDouble4[(i + 2 - 1 + (i + 1 - 1) * paramInt7 + paramInt6)] += d18 * paramDouble2; } else { if ((d1 != 0.0D ? 0 : 1) != 0) { paramArrayOfDouble4[(i - 1 + (i - 1) * paramInt7 + paramInt6)] = paramDouble3; paramArrayOfDouble4[(i + 1 - 1 + (i - 1) * paramInt7 + paramInt6)] = 0.0D; d1 = paramDouble3; } d3 = d3 / d1 / d1; d18 = paramArrayOfDouble4[(i - 1 + (i - 1) * paramInt7 + paramInt6)] * d3; d17 = -(paramArrayOfDouble4[(i + 1 - 1 + (i - 1) * paramInt7 + paramInt6)] * d3); i1 = i + 1; for (i3 = paramInt1 - (i + 1) + 1; i3 > 0; i3--) { paramArrayOfDouble4[(i + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] = (paramArrayOfDouble4[(i + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] - d18 * paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)] + d17 * paramArrayOfDouble4[(i1 + 1 - 1 + (i - 1) * paramInt7 + paramInt6)]); paramArrayOfDouble4[(i1 + 1 - 1 + (i + 1 - 1) * paramInt7 + paramInt6)] = (-(d18 * paramArrayOfDouble4[(i1 + 1 - 1 + (i - 1) * paramInt7 + paramInt6)]) - d17 * paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)]); i1 += 1; } paramArrayOfDouble4[(i + 2 - 1 + (i + 1 - 1) * paramInt7 + paramInt6)] -= paramDouble2; } paramArrayOfDouble5[(i - 1 + paramInt8)] = (Dasum.dasum( paramInt1 - i, paramArrayOfDouble4, i - 1 + (i + 1 - 1) * paramInt7 + paramInt6, paramInt7) + Dasum.dasum( paramInt1 - i, paramArrayOfDouble4, i + 2 - 1 + (i - 1) * paramInt7 + paramInt6, 1)); i += 1; } if ((paramArrayOfDouble4[(paramInt1 - 1 + (paramInt1 - 1) * paramInt7 + paramInt6)] != 0.0D ? 0 : 1) != 0) {} if (((paramArrayOfDouble4[(paramInt1 + 1 - 1 + (paramInt1 - 1) * paramInt7 + paramInt6)] != 0.0D ? 0 : 1) != 0 ? 1 : 0) != 0) { paramArrayOfDouble4[(paramInt1 - 1 + (paramInt1 - 1) * paramInt7 + paramInt6)] = paramDouble3; } paramArrayOfDouble5[(paramInt1 - 1 + paramInt8)] = 0.0D; j = paramInt1; k = 1; m = -1; } else { paramArrayOfDouble4[(paramInt1 + 1 - 1 + (paramInt1 - 1) * paramInt7 + paramInt6)] = paramDouble2; i1 = 1; for (i2 = paramInt1 - 1 - 1 + 1; i2 > 0; i2--) { paramArrayOfDouble4[(paramInt1 + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] = 0.0D; i1 += 1; } i1 = paramInt1; for (i2 = (2 - paramInt1 + -1) / -1; i2 > 0; i2--) { d4 = paramArrayOfDouble1[(i1 - 1 + (i1 - 1 - 1) * paramInt3 + paramInt2)]; d2 = Dlapy2.dlapy2( paramArrayOfDouble4[(i1 - 1 + (i1 - 1) * paramInt7 + paramInt6)], paramArrayOfDouble4[(i1 + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)]); if ((d2 >= Math.abs(d4) ? 0 : 1) != 0) { d18 = paramArrayOfDouble4[(i1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] / d4; d17 = paramArrayOfDouble4[(i1 + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] / d4; paramArrayOfDouble4[(i1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] = d4; paramArrayOfDouble4[(i1 + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] = 0.0D; i = 1; for (i3 = i1 - 1 - 1 + 1; i3 > 0; i3--) { d10 = paramArrayOfDouble4[(i - 1 + (i1 - 1 - 1) * paramInt7 + paramInt6)]; paramArrayOfDouble4[(i - 1 + (i1 - 1 - 1) * paramInt7 + paramInt6)] = (paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)] - d18 * d10); paramArrayOfDouble4[(i1 - 1 + (i - 1) * paramInt7 + paramInt6)] = (paramArrayOfDouble4[(i1 + 1 - 1 + (i - 1) * paramInt7 + paramInt6)] - d17 * d10); paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)] = d10; paramArrayOfDouble4[(i1 + 1 - 1 + (i - 1) * paramInt7 + paramInt6)] = 0.0D; i += 1; } paramArrayOfDouble4[(i1 + 1 - 1 + (i1 - 1 - 1) * paramInt7 + paramInt6)] = paramDouble2; paramArrayOfDouble4[(i1 - 1 - 1 + (i1 - 1 - 1) * paramInt7 + paramInt6)] += d17 * paramDouble2; paramArrayOfDouble4[(i1 - 1 + (i1 - 1 - 1) * paramInt7 + paramInt6)] -= d18 * paramDouble2; } else { if ((d2 != 0.0D ? 0 : 1) != 0) { paramArrayOfDouble4[(i1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] = paramDouble3; paramArrayOfDouble4[(i1 + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] = 0.0D; d2 = paramDouble3; } d4 = d4 / d2 / d2; d18 = paramArrayOfDouble4[(i1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] * d4; d17 = -(paramArrayOfDouble4[(i1 + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] * d4); i = 1; for (i3 = i1 - 1 - 1 + 1; i3 > 0; i3--) { paramArrayOfDouble4[(i - 1 + (i1 - 1 - 1) * paramInt7 + paramInt6)] = (paramArrayOfDouble4[(i - 1 + (i1 - 1 - 1) * paramInt7 + paramInt6)] - d18 * paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)] + d17 * paramArrayOfDouble4[(i1 + 1 - 1 + (i - 1) * paramInt7 + paramInt6)]); paramArrayOfDouble4[(i1 - 1 + (i - 1) * paramInt7 + paramInt6)] = (-(d18 * paramArrayOfDouble4[(i1 + 1 - 1 + (i - 1) * paramInt7 + paramInt6)]) - d17 * paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)]); i += 1; } paramArrayOfDouble4[(i1 - 1 + (i1 - 1 - 1) * paramInt7 + paramInt6)] += paramDouble2; } paramArrayOfDouble5[(i1 - 1 + paramInt8)] = (Dasum.dasum(i1 - 1, paramArrayOfDouble4, 1 - 1 + (i1 - 1) * paramInt7 + paramInt6, 1) + Dasum.dasum( i1 - 1, paramArrayOfDouble4, i1 + 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7)); i1 += -1; } if ((paramArrayOfDouble4[(1 - 1 + (1 - 1) * paramInt7 + paramInt6)] != 0.0D ? 0 : 1) != 0) {} if (((paramArrayOfDouble4[(2 - 1 + (1 - 1) * paramInt7 + paramInt6)] != 0.0D ? 0 : 1) != 0 ? 1 : 0) != 0) { paramArrayOfDouble4[(1 - 1 + (1 - 1) * paramInt7 + paramInt6)] = paramDouble3; } paramArrayOfDouble5[(1 - 1 + paramInt8)] = 0.0D; j = 1; k = paramInt1; m = 1; } n = 1; for (i2 = paramInt1 - 1 + 1; i2 > 0; i2--) { localdoubleW.val = 1.0D; d12 = 1.0D; d11 = paramDouble5; i = j; for (i3 = (k - j + m) / m; i3 > 0; i3--) { if ((paramArrayOfDouble5[(i - 1 + paramInt8)] <= d11 ? 0 : 1) != 0) { d8 = 1.0D / d12; Dscal.dscal(paramInt1, d8, paramArrayOfDouble2, paramInt4, 1); Dscal.dscal(paramInt1, d8, paramArrayOfDouble3, paramInt5, 1); localdoubleW.val *= d8; d12 = 1.0D; d11 = paramDouble5; } d18 = paramArrayOfDouble2[(i - 1 + paramInt4)]; d17 = paramArrayOfDouble3[(i - 1 + paramInt5)]; int i4; if (paramBoolean1) { i1 = i + 1; for (i4 = paramInt1 - (i + 1) + 1; i4 > 0; i4--) { d18 = d18 - paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)] * paramArrayOfDouble2[(i1 - 1 + paramInt4)] + paramArrayOfDouble4[(i1 + 1 - 1 + (i - 1) * paramInt7 + paramInt6)] * paramArrayOfDouble3[(i1 - 1 + paramInt5)]; d17 = d17 - paramArrayOfDouble4[(i - 1 + (i1 - 1) * paramInt7 + paramInt6)] * paramArrayOfDouble3[(i1 - 1 + paramInt5)] - paramArrayOfDouble4[(i1 + 1 - 1 + (i - 1) * paramInt7 + paramInt6)] * paramArrayOfDouble2[(i1 - 1 + paramInt4)]; i1 += 1; } } else { i1 = 1; for (i4 = i - 1 - 1 + 1; i4 > 0; i4--) { d18 = d18 - paramArrayOfDouble4[(i1 - 1 + (i - 1) * paramInt7 + paramInt6)] * paramArrayOfDouble2[(i1 - 1 + paramInt4)] + paramArrayOfDouble4[(i + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] * paramArrayOfDouble3[(i1 - 1 + paramInt5)]; d17 = d17 - paramArrayOfDouble4[(i1 - 1 + (i - 1) * paramInt7 + paramInt6)] * paramArrayOfDouble3[(i1 - 1 + paramInt5)] - paramArrayOfDouble4[(i + 1 - 1 + (i1 - 1) * paramInt7 + paramInt6)] * paramArrayOfDouble2[(i1 - 1 + paramInt4)]; i1 += 1; } } d14 = Math.abs(paramArrayOfDouble4[(i - 1 + (i - 1) * paramInt7 + paramInt6)]) + Math.abs(paramArrayOfDouble4[(i + 1 - 1 + (i - 1) * paramInt7 + paramInt6)]); if ((d14 <= paramDouble4 ? 0 : 1) != 0) { if ((d14 >= 1.0D ? 0 : 1) != 0) { d15 = Math.abs(d18) + Math.abs(d17); if ((d15 <= d14 * paramDouble5 ? 0 : 1) != 0) { d8 = 1.0D / d15; Dscal.dscal(paramInt1, d8, paramArrayOfDouble2, paramInt4, 1); Dscal.dscal(paramInt1, d8, paramArrayOfDouble3, paramInt5, 1); d18 = paramArrayOfDouble2[(i - 1 + paramInt4)]; d17 = paramArrayOfDouble3[(i - 1 + paramInt5)]; localdoubleW.val *= d8; d12 *= d8; } } dladiv_adapter( d18, d17, paramArrayOfDouble4[(i - 1 + (i - 1) * paramInt7 + paramInt6)], paramArrayOfDouble4[(i + 1 - 1 + (i - 1) * paramInt7 + paramInt6)], paramArrayOfDouble2, i - 1 + paramInt4, paramArrayOfDouble3, i - 1 + paramInt5); d12 = Math.max( Math.abs(paramArrayOfDouble2[(i - 1 + paramInt4)]) + Math.abs(paramArrayOfDouble3[(i - 1 + paramInt5)]), d12); d11 = paramDouble5 / d12; } else { i1 = 1; for (i4 = paramInt1 - 1 + 1; i4 > 0; i4--) { paramArrayOfDouble2[(i1 - 1 + paramInt4)] = 0.0D; paramArrayOfDouble3[(i1 - 1 + paramInt5)] = 0.0D; i1 += 1; } paramArrayOfDouble2[(i - 1 + paramInt4)] = 1.0D; paramArrayOfDouble3[(i - 1 + paramInt5)] = 1.0D; localdoubleW.val = 0.0D; d12 = 1.0D; d11 = paramDouble5; } i += m; } d13 = Dasum.dasum(paramInt1, paramArrayOfDouble2, paramInt4, 1) + Dasum.dasum(paramInt1, paramArrayOfDouble3, paramInt5, 1); if ((d13 < d5 * localdoubleW.val ? 0 : 1) != 0) { break; } d19 = paramDouble3 / (d9 + 1.0D); paramArrayOfDouble2[(1 - 1 + paramInt4)] = paramDouble3; paramArrayOfDouble3[(1 - 1 + paramInt5)] = 0.0D; i = 2; for (i3 = paramInt1 - 2 + 1; i3 > 0; i3--) { paramArrayOfDouble2[(i - 1 + paramInt4)] = d19; paramArrayOfDouble3[(i - 1 + paramInt5)] = 0.0D; i += 1; } paramArrayOfDouble2[(paramInt1 - n + 1 - 1 + paramInt4)] -= paramDouble3 * d9; n += 1; } paramintW.val = 1; d13 = 0.0D; i = 1; for (i2 = paramInt1 - 1 + 1; i2 > 0; i2--) { d13 = Math.max( d13, Math.abs(paramArrayOfDouble2[(i - 1 + paramInt4)]) + Math.abs(paramArrayOfDouble3[(i - 1 + paramInt5)])); i += 1; } Dscal.dscal(paramInt1, 1.0D / d13, paramArrayOfDouble2, paramInt4, 1); Dscal.dscal(paramInt1, 1.0D / d13, paramArrayOfDouble3, paramInt5, 1); } }
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 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 dpbequ( String paramString, int paramInt1, int paramInt2, double[] paramArrayOfDouble1, int paramInt3, int paramInt4, double[] paramArrayOfDouble2, int paramInt5, doubleW paramdoubleW1, doubleW paramdoubleW2, intW paramintW) { boolean bool = false; int i = 0; int j = 0; double d = 0.0D; paramintW.val = 0; bool = Lsame.lsame(paramString, "U"); if ((((bool ^ true)) && ((Lsame.lsame(paramString, "L") ^ true)) ? 1 : 0) != 0) { paramintW.val = -1; } else if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW.val = -2; } else if ((paramInt2 >= 0 ? 0 : 1) != 0) { paramintW.val = -3; } else if ((paramInt4 >= paramInt2 + 1 ? 0 : 1) != 0) { paramintW.val = -5; } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("DPBEQU", -paramintW.val); return; } if ((paramInt1 != 0 ? 0 : 1) != 0) { paramdoubleW1.val = 1.0D; paramdoubleW2.val = 0.0D; return; } if (bool) { j = paramInt2 + 1; } else { j = 1; } paramArrayOfDouble2[(1 - 1 + paramInt5)] = paramArrayOfDouble1[(j - 1 + (1 - 1) * paramInt4 + paramInt3)]; d = paramArrayOfDouble2[(1 - 1 + paramInt5)]; paramdoubleW2.val = paramArrayOfDouble2[(1 - 1 + paramInt5)]; i = 2; for (int k = paramInt1 - 2 + 1; k > 0; k--) { paramArrayOfDouble2[(i - 1 + paramInt5)] = paramArrayOfDouble1[(j - 1 + (i - 1) * paramInt4 + paramInt3)]; d = Math.min(d, paramArrayOfDouble2[(i - 1 + paramInt5)]); paramdoubleW2.val = Math.max(paramdoubleW2.val, paramArrayOfDouble2[(i - 1 + paramInt5)]); i += 1; } if ((d > 0.0D ? 0 : 1) != 0) { i = 1; for (k = paramInt1 - 1 + 1; k > 0; k--) { if ((paramArrayOfDouble2[(i - 1 + paramInt5)] > 0.0D ? 0 : 1) != 0) { paramintW.val = i; return; } i += 1; } } else { i = 1; for (k = paramInt1 - 1 + 1; k > 0; k--) { paramArrayOfDouble2[(i - 1 + paramInt5)] = (1.0D / Math.sqrt(paramArrayOfDouble2[(i - 1 + paramInt5)])); i += 1; } paramdoubleW1.val = (Math.sqrt(d) / Math.sqrt(paramdoubleW2.val)); } }
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 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; }
public static void slalsa( int paramInt1, int paramInt2, int paramInt3, int paramInt4, float[] paramArrayOfFloat1, int paramInt5, int paramInt6, float[] paramArrayOfFloat2, int paramInt7, int paramInt8, float[] paramArrayOfFloat3, int paramInt9, int paramInt10, float[] paramArrayOfFloat4, int paramInt11, int[] paramArrayOfInt1, int paramInt12, float[] paramArrayOfFloat5, int paramInt13, float[] paramArrayOfFloat6, int paramInt14, float[] paramArrayOfFloat7, int paramInt15, float[] paramArrayOfFloat8, int paramInt16, int[] paramArrayOfInt2, int paramInt17, int[] paramArrayOfInt3, int paramInt18, int paramInt19, int[] paramArrayOfInt4, int paramInt20, float[] paramArrayOfFloat9, int paramInt21, float[] paramArrayOfFloat10, int paramInt22, float[] paramArrayOfFloat11, int paramInt23, float[] paramArrayOfFloat12, int paramInt24, int[] paramArrayOfInt5, int paramInt25, intW paramintW) { int i = 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; intW localintW1 = new intW(0); int i6 = 0; int i7 = 0; int i8 = 0; int i9 = 0; int i10 = 0; int i11 = 0; intW localintW2 = new intW(0); int i12 = 0; int i13 = 0; int i14 = 0; int i15 = 0; paramintW.val = 0; if ((paramInt1 >= 0 ? 0 : 1) == 0) {} if (((paramInt1 <= 1 ? 0 : 1) == 0 ? 0 : 1) != 0) { paramintW.val = -1; } else if ((paramInt2 >= 3 ? 0 : 1) != 0) { paramintW.val = -2; } else if ((paramInt3 >= paramInt2 ? 0 : 1) != 0) { paramintW.val = -3; } else if ((paramInt4 >= 1 ? 0 : 1) != 0) { paramintW.val = -4; } else if ((paramInt6 >= paramInt3 ? 0 : 1) != 0) { paramintW.val = -6; } else if ((paramInt8 >= paramInt3 ? 0 : 1) != 0) { paramintW.val = -8; } else if ((paramInt10 >= paramInt3 ? 0 : 1) != 0) { paramintW.val = -10; } else if ((paramInt19 >= paramInt3 ? 0 : 1) != 0) { paramintW.val = -19; } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("SLALSA", -paramintW.val); return; } n = 1; i7 = n + paramInt3; i8 = i7 + paramInt3; Slasdt.slasdt( paramInt3, localintW2, localintW1, paramArrayOfInt5, n - 1 + paramInt25, paramArrayOfInt5, i7 - 1 + paramInt25, paramArrayOfInt5, i8 - 1 + paramInt25, paramInt2); int i16; int i17; if ((paramInt1 != 1 ? 0 : 1) == 0) { i6 = (localintW1.val + 1) / 2; i = i6; for (i16 = localintW1.val - i6 + 1; i16 > 0; i16--) { j = i - 1; k = paramArrayOfInt5[(n + j - 1 + paramInt25)]; i9 = paramArrayOfInt5[(i7 + j - 1 + paramInt25)]; i12 = paramArrayOfInt5[(i8 + j - 1 + paramInt25)]; i10 = k - i9; i13 = k + 1; Sgemm.sgemm( "T", "N", i9, paramInt4, i9, 1.0F, paramArrayOfFloat3, i10 - 1 + (1 - 1) * paramInt10 + paramInt9, paramInt10, paramArrayOfFloat1, i10 - 1 + (1 - 1) * paramInt6 + paramInt5, paramInt6, 0.0F, paramArrayOfFloat2, i10 - 1 + (1 - 1) * paramInt8 + paramInt7, paramInt8); Sgemm.sgemm( "T", "N", i12, paramInt4, i12, 1.0F, paramArrayOfFloat3, i13 - 1 + (1 - 1) * paramInt10 + paramInt9, paramInt10, paramArrayOfFloat1, i13 - 1 + (1 - 1) * paramInt6 + paramInt5, paramInt6, 0.0F, paramArrayOfFloat2, i13 - 1 + (1 - 1) * paramInt8 + paramInt7, paramInt8); i += 1; } i = 1; for (i16 = localintW1.val - 1 + 1; i16 > 0; i16--) { k = paramArrayOfInt5[(n + i - 1 - 1 + paramInt25)]; Scopy.scopy( paramInt4, paramArrayOfFloat1, k - 1 + (1 - 1) * paramInt6 + paramInt5, paramInt6, paramArrayOfFloat2, k - 1 + (1 - 1) * paramInt8 + paramInt7, paramInt8); i += 1; } i1 = (int) Math.pow(2, localintW2.val); i15 = 0; i4 = localintW2.val; for (i16 = (1 - localintW2.val + -1) / -1; i16 > 0; i16--) { i5 = 2 * i4 - 1; if ((i4 != 1 ? 0 : 1) != 0) { i2 = 1; i3 = 1; } else { i2 = (int) Math.pow(2, i4 - 1); i3 = 2 * i2 - 1; } i = i2; for (i17 = i3 - i2 + 1; i17 > 0; i17--) { m = i - 1; k = paramArrayOfInt5[(n + m - 1 + paramInt25)]; i9 = paramArrayOfInt5[(i7 + m - 1 + paramInt25)]; i12 = paramArrayOfInt5[(i8 + m - 1 + paramInt25)]; i10 = k - i9; i13 = k + 1; i1 -= 1; Slals0.slals0( paramInt1, i9, i12, i15, paramInt4, paramArrayOfFloat2, i10 - 1 + (1 - 1) * paramInt8 + paramInt7, paramInt8, paramArrayOfFloat1, i10 - 1 + (1 - 1) * paramInt6 + paramInt5, paramInt6, paramArrayOfInt4, i10 - 1 + (i4 - 1) * paramInt19 + paramInt20, paramArrayOfInt2[(i1 - 1 + paramInt17)], paramArrayOfInt3, i10 - 1 + (i5 - 1) * paramInt19 + paramInt18, paramInt19, paramArrayOfFloat9, i10 - 1 + (i5 - 1) * paramInt10 + paramInt21, paramInt10, paramArrayOfFloat8, i10 - 1 + (i5 - 1) * paramInt10 + paramInt16, paramArrayOfFloat5, i10 - 1 + (i4 - 1) * paramInt10 + paramInt13, paramArrayOfFloat6, i10 - 1 + (i5 - 1) * paramInt10 + paramInt14, paramArrayOfFloat7, i10 - 1 + (i4 - 1) * paramInt10 + paramInt15, paramArrayOfInt1[(i1 - 1 + paramInt12)], paramArrayOfFloat10[(i1 - 1 + paramInt22)], paramArrayOfFloat11[(i1 - 1 + paramInt23)], paramArrayOfFloat12, paramInt24, paramintW); i += 1; } i4 += -1; } } else { i1 = 0; i4 = 1; for (i16 = localintW2.val - 1 + 1; i16 > 0; i16--) { i5 = 2 * i4 - 1; if ((i4 != 1 ? 0 : 1) != 0) { i2 = 1; i3 = 1; } else { i2 = (int) Math.pow(2, i4 - 1); i3 = 2 * i2 - 1; } i = i3; for (i17 = (i2 - i3 + -1) / -1; i17 > 0; i17--) { m = i - 1; k = paramArrayOfInt5[(n + m - 1 + paramInt25)]; i9 = paramArrayOfInt5[(i7 + m - 1 + paramInt25)]; i12 = paramArrayOfInt5[(i8 + m - 1 + paramInt25)]; i10 = k - i9; i13 = k + 1; if ((i != i3 ? 0 : 1) != 0) { i15 = 0; } else { i15 = 1; } i1 += 1; Slals0.slals0( paramInt1, i9, i12, i15, paramInt4, paramArrayOfFloat1, i10 - 1 + (1 - 1) * paramInt6 + paramInt5, paramInt6, paramArrayOfFloat2, i10 - 1 + (1 - 1) * paramInt8 + paramInt7, paramInt8, paramArrayOfInt4, i10 - 1 + (i4 - 1) * paramInt19 + paramInt20, paramArrayOfInt2[(i1 - 1 + paramInt17)], paramArrayOfInt3, i10 - 1 + (i5 - 1) * paramInt19 + paramInt18, paramInt19, paramArrayOfFloat9, i10 - 1 + (i5 - 1) * paramInt10 + paramInt21, paramInt10, paramArrayOfFloat8, i10 - 1 + (i5 - 1) * paramInt10 + paramInt16, paramArrayOfFloat5, i10 - 1 + (i4 - 1) * paramInt10 + paramInt13, paramArrayOfFloat6, i10 - 1 + (i5 - 1) * paramInt10 + paramInt14, paramArrayOfFloat7, i10 - 1 + (i4 - 1) * paramInt10 + paramInt15, paramArrayOfInt1[(i1 - 1 + paramInt12)], paramArrayOfFloat10[(i1 - 1 + paramInt22)], paramArrayOfFloat11[(i1 - 1 + paramInt23)], paramArrayOfFloat12, paramInt24, paramintW); i += -1; } i4 += 1; } i6 = (localintW1.val + 1) / 2; i = i6; for (i16 = localintW1.val - i6 + 1; i16 > 0; i16--) { j = i - 1; k = paramArrayOfInt5[(n + j - 1 + paramInt25)]; i9 = paramArrayOfInt5[(i7 + j - 1 + paramInt25)]; i12 = paramArrayOfInt5[(i8 + j - 1 + paramInt25)]; i11 = i9 + 1; if ((i != localintW1.val ? 0 : 1) != 0) { i14 = i12; } else { i14 = i12 + 1; } i10 = k - i9; i13 = k + 1; Sgemm.sgemm( "T", "N", i11, paramInt4, i11, 1.0F, paramArrayOfFloat4, i10 - 1 + (1 - 1) * paramInt10 + paramInt11, paramInt10, paramArrayOfFloat1, i10 - 1 + (1 - 1) * paramInt6 + paramInt5, paramInt6, 0.0F, paramArrayOfFloat2, i10 - 1 + (1 - 1) * paramInt8 + paramInt7, paramInt8); Sgemm.sgemm( "T", "N", i14, paramInt4, i14, 1.0F, paramArrayOfFloat4, i13 - 1 + (1 - 1) * paramInt10 + paramInt11, paramInt10, paramArrayOfFloat1, i13 - 1 + (1 - 1) * paramInt6 + paramInt5, paramInt6, 0.0F, paramArrayOfFloat2, i13 - 1 + (1 - 1) * paramInt8 + paramInt7, paramInt8); i += 1; } } }
public static void spbequ( String paramString, int paramInt1, int paramInt2, float[] paramArrayOfFloat1, int paramInt3, int paramInt4, float[] paramArrayOfFloat2, int paramInt5, floatW paramfloatW1, floatW paramfloatW2, intW paramintW) { boolean bool = false; int i = 0; int j = 0; float f = 0.0F; paramintW.val = 0; bool = Lsame.lsame(paramString, "U"); if ((((bool ^ true)) && ((Lsame.lsame(paramString, "L") ^ true)) ? 1 : 0) != 0) { paramintW.val = -1; } else if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW.val = -2; } else if ((paramInt2 >= 0 ? 0 : 1) != 0) { paramintW.val = -3; } else if ((paramInt4 >= paramInt2 + 1 ? 0 : 1) != 0) { paramintW.val = -5; } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("SPBEQU", -paramintW.val); return; } if ((paramInt1 != 0 ? 0 : 1) != 0) { paramfloatW1.val = 1.0F; paramfloatW2.val = 0.0F; return; } if (bool) { j = paramInt2 + 1; } else { j = 1; } paramArrayOfFloat2[(1 - 1 + paramInt5)] = paramArrayOfFloat1[(j - 1 + (1 - 1) * paramInt4 + paramInt3)]; f = paramArrayOfFloat2[(1 - 1 + paramInt5)]; paramfloatW2.val = paramArrayOfFloat2[(1 - 1 + paramInt5)]; i = 2; for (int k = paramInt1 - 2 + 1; k > 0; k--) { paramArrayOfFloat2[(i - 1 + paramInt5)] = paramArrayOfFloat1[(j - 1 + (i - 1) * paramInt4 + paramInt3)]; f = Math.min(f, paramArrayOfFloat2[(i - 1 + paramInt5)]); paramfloatW2.val = Math.max(paramfloatW2.val, paramArrayOfFloat2[(i - 1 + paramInt5)]); i += 1; } if ((f > 0.0F ? 0 : 1) != 0) { i = 1; for (k = paramInt1 - 1 + 1; k > 0; k--) { if ((paramArrayOfFloat2[(i - 1 + paramInt5)] > 0.0F ? 0 : 1) != 0) { paramintW.val = i; return; } i += 1; } } else { i = 1; for (k = paramInt1 - 1 + 1; k > 0; k--) { paramArrayOfFloat2[(i - 1 + paramInt5)] = (1.0F / (float) Math.sqrt(paramArrayOfFloat2[(i - 1 + paramInt5)])); i += 1; } paramfloatW1.val = ((float) Math.sqrt(f) / (float) Math.sqrt(paramfloatW2.val)); } }
public static void stpcon( String paramString1, String paramString2, String paramString3, int paramInt1, float[] paramArrayOfFloat1, int paramInt2, floatW paramfloatW, float[] paramArrayOfFloat2, int paramInt3, int[] paramArrayOfInt, int paramInt4, intW paramintW) { boolean bool1 = false; int i = 0; boolean bool2 = false; String str = new String(" "); int j = 0; intW localintW = new intW(0); int k = 0; floatW localfloatW1 = new floatW(0.0F); float f1 = 0.0F; floatW localfloatW2 = new floatW(0.0F); float f2 = 0.0F; float f3 = 0.0F; int[] arrayOfInt = new int[3]; paramintW.val = 0; bool2 = Lsame.lsame(paramString2, "U"); i = (!paramString1.regionMatches(0, "1", 0, 1)) && (!Lsame.lsame(paramString1, "O")) ? 0 : 1; bool1 = Lsame.lsame(paramString3, "N"); if ((((i ^ 0x1) != 0) && ((Lsame.lsame(paramString1, "I") ^ true)) ? 1 : 0) != 0) { paramintW.val = -1; } else if ((((bool2 ^ true)) && ((Lsame.lsame(paramString2, "L") ^ true)) ? 1 : 0) != 0) { paramintW.val = -2; } else if ((((bool1 ^ true)) && ((Lsame.lsame(paramString3, "U") ^ true)) ? 1 : 0) != 0) { paramintW.val = -3; } else if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW.val = -4; } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("STPCON", -paramintW.val); return; } if ((paramInt1 != 0 ? 0 : 1) != 0) { paramfloatW.val = 1.0F; return; } paramfloatW.val = 0.0F; f2 = Slamch.slamch("Safe minimum") * Math.max(1, paramInt1); f1 = Slantp.slantp( paramString1, paramString2, paramString3, paramInt1, paramArrayOfFloat1, paramInt2, paramArrayOfFloat2, paramInt3); if ((f1 <= 0.0F ? 0 : 1) != 0) { localfloatW1.val = 0.0F; str = "N"; if (i != 0) { k = 1; } else { k = 2; } localintW.val = 0; for (; ; ) { Slacn2.slacn2( paramInt1, paramArrayOfFloat2, paramInt1 + 1 - 1 + paramInt3, paramArrayOfFloat2, paramInt3, paramArrayOfInt, paramInt4, localfloatW1, localintW, arrayOfInt, 0); if ((localintW.val == 0 ? 0 : 1) == 0) { break; } if ((localintW.val != k ? 0 : 1) != 0) { Slatps.slatps( paramString2, "No transpose", paramString3, str, paramInt1, paramArrayOfFloat1, paramInt2, paramArrayOfFloat2, paramInt3, localfloatW2, paramArrayOfFloat2, 2 * paramInt1 + 1 - 1 + paramInt3, paramintW); } else { Slatps.slatps( paramString2, "Transpose", paramString3, str, paramInt1, paramArrayOfFloat1, paramInt2, paramArrayOfFloat2, paramInt3, localfloatW2, paramArrayOfFloat2, 2 * paramInt1 + 1 - 1 + paramInt3, paramintW); } str = "Y"; if ((localfloatW2.val == 1.0F ? 0 : 1) != 0) { j = Isamax.isamax(paramInt1, paramArrayOfFloat2, paramInt3, 1); f3 = Math.abs(paramArrayOfFloat2[(j - 1 + paramInt3)]); if ((localfloatW2.val >= f3 * f2 ? 0 : 1) == 0) {} if (((localfloatW2.val != 0.0F ? 0 : 1) == 0 ? 0 : 1) != 0) { return; } Srscl.srscl(paramInt1, localfloatW2.val, paramArrayOfFloat2, paramInt3, 1); } } if ((localfloatW1.val == 0.0F ? 0 : 1) != 0) { paramfloatW.val = (1.0F / f1 / localfloatW1.val); } } }
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 dstev( String paramString, int paramInt1, double[] paramArrayOfDouble1, int paramInt2, double[] paramArrayOfDouble2, int paramInt3, double[] paramArrayOfDouble3, int paramInt4, int paramInt5, double[] paramArrayOfDouble4, int paramInt6, intW paramintW) { boolean bool = false; int i = 0; int j = 0; double d1 = 0.0D; double d2 = 0.0D; double d3 = 0.0D; double d4 = 0.0D; double d5 = 0.0D; double d6 = 0.0D; double d7 = 0.0D; double d8 = 0.0D; bool = Lsame.lsame(paramString, "V"); paramintW.val = 0; if ((((!bool) && (!Lsame.lsame(paramString, "N")) ? 0 : 1) ^ 0x1) != 0) { paramintW.val = -1; } else if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW.val = -2; } else { if ((paramInt5 >= 1 ? 0 : 1) == 0) { if (!bool) {} } if ((((paramInt5 >= paramInt1 ? 0 : 1) != 0 ? 1 : 0) == 0 ? 0 : 1) != 0) { paramintW.val = -6; } } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("DSTEV ", -paramintW.val); return; } if ((paramInt1 != 0 ? 0 : 1) != 0) { return; } if ((paramInt1 != 1 ? 0 : 1) != 0) { if (bool) { paramArrayOfDouble3[(1 - 1 + (1 - 1) * paramInt5 + paramInt4)] = 1.0D; } return; } d5 = Dlamch.dlamch("Safe minimum"); d2 = Dlamch.dlamch("Precision"); d7 = d5 / d2; d1 = 1.0D / d7; d4 = Math.sqrt(d7); d3 = Math.sqrt(d1); j = 0; d8 = Dlanst.dlanst( "M", paramInt1, paramArrayOfDouble1, paramInt2, paramArrayOfDouble2, paramInt3); if ((d8 <= 0.0D ? 0 : 1) != 0) {} if (((d8 >= d4 ? 0 : 1) != 0 ? 1 : 0) != 0) { j = 1; d6 = d4 / d8; } else if ((d8 <= d3 ? 0 : 1) != 0) { j = 1; d6 = d3 / d8; } if ((j != 1 ? 0 : 1) != 0) { Dscal.dscal(paramInt1, d6, paramArrayOfDouble1, paramInt2, 1); Dscal.dscal(paramInt1 - 1, d6, paramArrayOfDouble2, 1 - 1 + paramInt3, 1); } if ((bool ^ true)) { Dsterf.dsterf( paramInt1, paramArrayOfDouble1, paramInt2, paramArrayOfDouble2, paramInt3, paramintW); } else { Dsteqr.dsteqr( "I", paramInt1, paramArrayOfDouble1, paramInt2, paramArrayOfDouble2, paramInt3, paramArrayOfDouble3, paramInt4, paramInt5, paramArrayOfDouble4, paramInt6, paramintW); } if ((j != 1 ? 0 : 1) != 0) { if ((paramintW.val != 0 ? 0 : 1) != 0) { i = paramInt1; } else { i = paramintW.val - 1; } Dscal.dscal(i, 1.0D / d6, paramArrayOfDouble1, paramInt2, 1); } }
public static void slals0( int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, float[] paramArrayOfFloat1, int paramInt6, int paramInt7, float[] paramArrayOfFloat2, int paramInt8, int paramInt9, int[] paramArrayOfInt1, int paramInt10, int paramInt11, int[] paramArrayOfInt2, int paramInt12, int paramInt13, float[] paramArrayOfFloat3, int paramInt14, int paramInt15, float[] paramArrayOfFloat4, int paramInt16, float[] paramArrayOfFloat5, int paramInt17, float[] paramArrayOfFloat6, int paramInt18, float[] paramArrayOfFloat7, int paramInt19, int paramInt20, float paramFloat1, float paramFloat2, float[] paramArrayOfFloat8, int paramInt21, intW paramintW) { int i = 0; int j = 0; int k = 0; int m = 0; int n = 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; paramintW.val = 0; if ((paramInt1 >= 0 ? 0 : 1) == 0) {} if (((paramInt1 <= 1 ? 0 : 1) == 0 ? 0 : 1) != 0) { paramintW.val = -1; } else if ((paramInt2 >= 1 ? 0 : 1) != 0) { paramintW.val = -2; } else if ((paramInt3 >= 1 ? 0 : 1) != 0) { paramintW.val = -3; } else { if ((paramInt4 >= 0 ? 0 : 1) == 0) {} if (((paramInt4 <= 1 ? 0 : 1) == 0 ? 0 : 1) != 0) { paramintW.val = -4; } } m = paramInt2 + paramInt3 + 1; if ((paramInt5 >= 1 ? 0 : 1) != 0) { paramintW.val = -5; } else if ((paramInt7 >= m ? 0 : 1) != 0) { paramintW.val = -7; } else if ((paramInt9 >= m ? 0 : 1) != 0) { paramintW.val = -9; } else if ((paramInt11 >= 0 ? 0 : 1) != 0) { paramintW.val = -11; } else if ((paramInt13 >= m ? 0 : 1) != 0) { paramintW.val = -13; } else if ((paramInt15 >= m ? 0 : 1) != 0) { paramintW.val = -15; } else if ((paramInt20 >= 1 ? 0 : 1) != 0) { paramintW.val = -20; } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("SLALS0", -paramintW.val); return; } k = m + paramInt4; n = paramInt2 + 1; int i1; int i2; if ((paramInt1 != 0 ? 0 : 1) != 0) { i = 1; for (i1 = paramInt11 - 1 + 1; i1 > 0; i1--) { Srot.srot( paramInt5, paramArrayOfFloat1, paramArrayOfInt2[(i - 1 + (2 - 1) * paramInt13 + paramInt12)] - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfFloat1, paramArrayOfInt2[(i - 1 + (1 - 1) * paramInt13 + paramInt12)] - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfFloat3[(i - 1 + (2 - 1) * paramInt15 + paramInt14)], paramArrayOfFloat3[(i - 1 + (1 - 1) * paramInt15 + paramInt14)]); i += 1; } Scopy.scopy( paramInt5, paramArrayOfFloat1, n - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfFloat2, 1 - 1 + (1 - 1) * paramInt9 + paramInt8, paramInt9); i = 2; for (i1 = m - 2 + 1; i1 > 0; i1--) { Scopy.scopy( paramInt5, paramArrayOfFloat1, paramArrayOfInt1[(i - 1 + paramInt10)] - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfFloat2, i - 1 + (1 - 1) * paramInt9 + paramInt8, paramInt9); i += 1; } if ((paramInt20 != 1 ? 0 : 1) != 0) { Scopy.scopy( paramInt5, paramArrayOfFloat2, paramInt8, paramInt9, paramArrayOfFloat1, paramInt6, paramInt7); if ((paramArrayOfFloat7[(1 - 1 + paramInt19)] >= 0.0F ? 0 : 1) != 0) { Sscal.sscal(paramInt5, -1.0F, paramArrayOfFloat1, paramInt6, paramInt7); } } else { j = 1; for (i1 = paramInt20 - 1 + 1; i1 > 0; i1--) { f1 = paramArrayOfFloat5[(j - 1 + paramInt17)]; f3 = paramArrayOfFloat4[(j - 1 + (1 - 1) * paramInt15 + paramInt16)]; f4 = -paramArrayOfFloat4[(j - 1 + (2 - 1) * paramInt15 + paramInt16)]; if ((j >= paramInt20 ? 0 : 1) != 0) { f2 = -paramArrayOfFloat6[(j - 1 + (1 - 1) * paramInt15 + paramInt18)]; f5 = -paramArrayOfFloat4[(j + 1 - 1 + (2 - 1) * paramInt15 + paramInt16)]; } if ((paramArrayOfFloat7[(j - 1 + paramInt19)] != 0.0F ? 0 : 1) == 0) {} if (((paramArrayOfFloat4[(j - 1 + (2 - 1) * paramInt15 + paramInt16)] != 0.0F ? 0 : 1) == 0 ? 0 : 1) != 0) { paramArrayOfFloat8[(j - 1 + paramInt21)] = 0.0F; } else { paramArrayOfFloat8[(j - 1 + paramInt21)] = (-(paramArrayOfFloat4[(j - 1 + (2 - 1) * paramInt15 + paramInt16)] * paramArrayOfFloat7[(j - 1 + paramInt19)] / f1 / (paramArrayOfFloat4[(j - 1 + (2 - 1) * paramInt15 + paramInt16)] + f3))); } i = 1; for (i2 = j - 1 - 1 + 1; i2 > 0; i2--) { if ((paramArrayOfFloat7[(i - 1 + paramInt19)] != 0.0F ? 0 : 1) == 0) {} if (((paramArrayOfFloat4[(i - 1 + (2 - 1) * paramInt15 + paramInt16)] != 0.0F ? 0 : 1) == 0 ? 0 : 1) != 0) { paramArrayOfFloat8[(i - 1 + paramInt21)] = 0.0F; } else { paramArrayOfFloat8[(i - 1 + paramInt21)] = (paramArrayOfFloat4[(i - 1 + (2 - 1) * paramInt15 + paramInt16)] * paramArrayOfFloat7[(i - 1 + paramInt19)] / (Slamc3.slamc3( paramArrayOfFloat4[(i - 1 + (2 - 1) * paramInt15 + paramInt16)], f4) - f1) / (paramArrayOfFloat4[(i - 1 + (2 - 1) * paramInt15 + paramInt16)] + f3)); } i += 1; } i = j + 1; for (i2 = paramInt20 - (j + 1) + 1; i2 > 0; i2--) { if ((paramArrayOfFloat7[(i - 1 + paramInt19)] != 0.0F ? 0 : 1) == 0) {} if (((paramArrayOfFloat4[(i - 1 + (2 - 1) * paramInt15 + paramInt16)] != 0.0F ? 0 : 1) == 0 ? 0 : 1) != 0) { paramArrayOfFloat8[(i - 1 + paramInt21)] = 0.0F; } else { paramArrayOfFloat8[(i - 1 + paramInt21)] = (paramArrayOfFloat4[(i - 1 + (2 - 1) * paramInt15 + paramInt16)] * paramArrayOfFloat7[(i - 1 + paramInt19)] / (Slamc3.slamc3( paramArrayOfFloat4[(i - 1 + (2 - 1) * paramInt15 + paramInt16)], f5) + f2) / (paramArrayOfFloat4[(i - 1 + (2 - 1) * paramInt15 + paramInt16)] + f3)); } i += 1; } paramArrayOfFloat8[(1 - 1 + paramInt21)] = -1.0F; f6 = Snrm2.snrm2(paramInt20, paramArrayOfFloat8, paramInt21, 1); Sgemv.sgemv( "T", paramInt20, paramInt5, 1.0F, paramArrayOfFloat2, paramInt8, paramInt9, paramArrayOfFloat8, paramInt21, 1, 0.0F, paramArrayOfFloat1, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); Slascl.slascl( "G", 0, 0, f6, 1.0F, 1, paramInt5, paramArrayOfFloat1, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramintW); j += 1; } } if ((paramInt20 >= Math.max(k, m) ? 0 : 1) != 0) { Slacpy.slacpy( "A", m - paramInt20, paramInt5, paramArrayOfFloat2, paramInt20 + 1 - 1 + (1 - 1) * paramInt9 + paramInt8, paramInt9, paramArrayOfFloat1, paramInt20 + 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } } else { if ((paramInt20 != 1 ? 0 : 1) != 0) { Scopy.scopy( paramInt5, paramArrayOfFloat1, paramInt6, paramInt7, paramArrayOfFloat2, paramInt8, paramInt9); } else { j = 1; for (i1 = paramInt20 - 1 + 1; i1 > 0; i1--) { f4 = paramArrayOfFloat4[(j - 1 + (2 - 1) * paramInt15 + paramInt16)]; if ((paramArrayOfFloat7[(j - 1 + paramInt19)] != 0.0F ? 0 : 1) != 0) { paramArrayOfFloat8[(j - 1 + paramInt21)] = 0.0F; } else { paramArrayOfFloat8[(j - 1 + paramInt21)] = (-(paramArrayOfFloat7[(j - 1 + paramInt19)] / paramArrayOfFloat5[(j - 1 + paramInt17)] / (f4 + paramArrayOfFloat4[(j - 1 + (1 - 1) * paramInt15 + paramInt16)]) / paramArrayOfFloat6[(j - 1 + (2 - 1) * paramInt15 + paramInt18)])); } i = 1; for (i2 = j - 1 - 1 + 1; i2 > 0; i2--) { if ((paramArrayOfFloat7[(j - 1 + paramInt19)] != 0.0F ? 0 : 1) != 0) { paramArrayOfFloat8[(i - 1 + paramInt21)] = 0.0F; } else { paramArrayOfFloat8[(i - 1 + paramInt21)] = (paramArrayOfFloat7[(j - 1 + paramInt19)] / (Slamc3.slamc3( f4, -paramArrayOfFloat4[(i + 1 - 1 + (2 - 1) * paramInt15 + paramInt16)]) - paramArrayOfFloat6[(i - 1 + (1 - 1) * paramInt15 + paramInt18)]) / (f4 + paramArrayOfFloat4[(i - 1 + (1 - 1) * paramInt15 + paramInt16)]) / paramArrayOfFloat6[(i - 1 + (2 - 1) * paramInt15 + paramInt18)]); } i += 1; } i = j + 1; for (i2 = paramInt20 - (j + 1) + 1; i2 > 0; i2--) { if ((paramArrayOfFloat7[(j - 1 + paramInt19)] != 0.0F ? 0 : 1) != 0) { paramArrayOfFloat8[(i - 1 + paramInt21)] = 0.0F; } else { paramArrayOfFloat8[(i - 1 + paramInt21)] = (paramArrayOfFloat7[(j - 1 + paramInt19)] / (Slamc3.slamc3( f4, -paramArrayOfFloat4[(i - 1 + (2 - 1) * paramInt15 + paramInt16)]) - paramArrayOfFloat5[(i - 1 + paramInt17)]) / (f4 + paramArrayOfFloat4[(i - 1 + (1 - 1) * paramInt15 + paramInt16)]) / paramArrayOfFloat6[(i - 1 + (2 - 1) * paramInt15 + paramInt18)]); } i += 1; } Sgemv.sgemv( "T", paramInt20, paramInt5, 1.0F, paramArrayOfFloat1, paramInt6, paramInt7, paramArrayOfFloat8, paramInt21, 1, 0.0F, paramArrayOfFloat2, j - 1 + (1 - 1) * paramInt9 + paramInt8, paramInt9); j += 1; } } if ((paramInt4 != 1 ? 0 : 1) != 0) { Scopy.scopy( paramInt5, paramArrayOfFloat1, k - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfFloat2, k - 1 + (1 - 1) * paramInt9 + paramInt8, paramInt9); Srot.srot( paramInt5, paramArrayOfFloat2, 1 - 1 + (1 - 1) * paramInt9 + paramInt8, paramInt9, paramArrayOfFloat2, k - 1 + (1 - 1) * paramInt9 + paramInt8, paramInt9, paramFloat1, paramFloat2); } if ((paramInt20 >= Math.max(k, m) ? 0 : 1) != 0) { Slacpy.slacpy( "A", m - paramInt20, paramInt5, paramArrayOfFloat1, paramInt20 + 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfFloat2, paramInt20 + 1 - 1 + (1 - 1) * paramInt9 + paramInt8, paramInt9); } Scopy.scopy( paramInt5, paramArrayOfFloat2, 1 - 1 + (1 - 1) * paramInt9 + paramInt8, paramInt9, paramArrayOfFloat1, n - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); if ((paramInt4 != 1 ? 0 : 1) != 0) { Scopy.scopy( paramInt5, paramArrayOfFloat2, k - 1 + (1 - 1) * paramInt9 + paramInt8, paramInt9, paramArrayOfFloat1, k - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } i = 2; for (i1 = m - 2 + 1; i1 > 0; i1--) { Scopy.scopy( paramInt5, paramArrayOfFloat2, i - 1 + (1 - 1) * paramInt9 + paramInt8, paramInt9, paramArrayOfFloat1, paramArrayOfInt1[(i - 1 + paramInt10)] - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); i += 1; } i = paramInt11; for (i1 = (1 - paramInt11 + -1) / -1; i1 > 0; i1--) { Srot.srot( paramInt5, paramArrayOfFloat1, paramArrayOfInt2[(i - 1 + (2 - 1) * paramInt13 + paramInt12)] - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfFloat1, paramArrayOfInt2[(i - 1 + (1 - 1) * paramInt13 + paramInt12)] - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfFloat3[(i - 1 + (2 - 1) * paramInt15 + paramInt14)], -paramArrayOfFloat3[(i - 1 + (1 - 1) * paramInt15 + paramInt14)]); i += -1; } } }
public static void dpbstf( String paramString, int paramInt1, int paramInt2, double[] paramArrayOfDouble, int paramInt3, int paramInt4, intW paramintW) { boolean bool = false; int i = 0; int j = 0; int k = 0; int m = 0; double d = 0.0D; paramintW.val = 0; bool = Lsame.lsame(paramString, "U"); if ((((bool ^ true)) && ((Lsame.lsame(paramString, "L") ^ true)) ? 1 : 0) != 0) { paramintW.val = -1; } else if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW.val = -2; } else if ((paramInt2 >= 0 ? 0 : 1) != 0) { paramintW.val = -3; } else if ((paramInt4 >= paramInt2 + 1 ? 0 : 1) != 0) { paramintW.val = -5; } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("DPBSTF", -paramintW.val); return; } if ((paramInt1 != 0 ? 0 : 1) != 0) { return; } j = Math.max(1, paramInt4 - 1); m = (paramInt1 + paramInt2) / 2; int n; if (bool) { i = paramInt1; for (n = (m + 1 - paramInt1 + -1) / -1; n > 0; n--) { d = paramArrayOfDouble[(paramInt2 + 1 - 1 + (i - 1) * paramInt4 + paramInt3)]; if ((d > 0.0D ? 0 : 1) != 0) { break; } d = Math.sqrt(d); paramArrayOfDouble[(paramInt2 + 1 - 1 + (i - 1) * paramInt4 + paramInt3)] = d; k = Math.min(i - 1, paramInt2); Dscal.dscal( k, 1.0D / d, paramArrayOfDouble, paramInt2 + 1 - k - 1 + (i - 1) * paramInt4 + paramInt3, 1); Dsyr.dsyr( "Upper", k, -1.0D, paramArrayOfDouble, paramInt2 + 1 - k - 1 + (i - 1) * paramInt4 + paramInt3, 1, paramArrayOfDouble, paramInt2 + 1 - 1 + (i - k - 1) * paramInt4 + paramInt3, j); i += -1; } i = 1; for (n = m - 1 + 1; n > 0; n--) { d = paramArrayOfDouble[(paramInt2 + 1 - 1 + (i - 1) * paramInt4 + paramInt3)]; if ((d > 0.0D ? 0 : 1) != 0) { break; } d = Math.sqrt(d); paramArrayOfDouble[(paramInt2 + 1 - 1 + (i - 1) * paramInt4 + paramInt3)] = d; k = Math.min(paramInt2, m - i); if ((k <= 0 ? 0 : 1) != 0) { Dscal.dscal( k, 1.0D / d, paramArrayOfDouble, paramInt2 - 1 + (i + 1 - 1) * paramInt4 + paramInt3, j); Dsyr.dsyr( "Upper", k, -1.0D, paramArrayOfDouble, paramInt2 - 1 + (i + 1 - 1) * paramInt4 + paramInt3, j, paramArrayOfDouble, paramInt2 + 1 - 1 + (i + 1 - 1) * paramInt4 + paramInt3, j); } i += 1; } } else { i = paramInt1; for (n = (m + 1 - paramInt1 + -1) / -1; n > 0; n--) { d = paramArrayOfDouble[(1 - 1 + (i - 1) * paramInt4 + paramInt3)]; if ((d > 0.0D ? 0 : 1) != 0) { break; } d = Math.sqrt(d); paramArrayOfDouble[(1 - 1 + (i - 1) * paramInt4 + paramInt3)] = d; k = Math.min(i - 1, paramInt2); Dscal.dscal( k, 1.0D / d, paramArrayOfDouble, k + 1 - 1 + (i - k - 1) * paramInt4 + paramInt3, j); Dsyr.dsyr( "Lower", k, -1.0D, paramArrayOfDouble, k + 1 - 1 + (i - k - 1) * paramInt4 + paramInt3, j, paramArrayOfDouble, 1 - 1 + (i - k - 1) * paramInt4 + paramInt3, j); i += -1; } i = 1; for (n = m - 1 + 1; n > 0; n--) { d = paramArrayOfDouble[(1 - 1 + (i - 1) * paramInt4 + paramInt3)]; if ((d > 0.0D ? 0 : 1) != 0) { break; } d = Math.sqrt(d); paramArrayOfDouble[(1 - 1 + (i - 1) * paramInt4 + paramInt3)] = d; k = Math.min(paramInt2, m - i); if ((k <= 0 ? 0 : 1) != 0) { Dscal.dscal(k, 1.0D / d, paramArrayOfDouble, 2 - 1 + (i - 1) * paramInt4 + paramInt3, 1); Dsyr.dsyr( "Lower", k, -1.0D, paramArrayOfDouble, 2 - 1 + (i - 1) * paramInt4 + paramInt3, 1, paramArrayOfDouble, 1 - 1 + (i + 1 - 1) * paramInt4 + paramInt3, j); } i += 1; } } return; paramintW.val = i; }
public static void dlarrc( String paramString, int paramInt1, double paramDouble1, double paramDouble2, double[] paramArrayOfDouble1, int paramInt2, double[] paramArrayOfDouble2, int paramInt3, double paramDouble3, intW paramintW1, intW paramintW2, intW paramintW3, intW paramintW4) { int i = 0; boolean bool = false; double d1 = 0.0D; double d2 = 0.0D; double d3 = 0.0D; double d4 = 0.0D; double d5 = 0.0D; double d6 = 0.0D; paramintW4.val = 0; paramintW2.val = 0; paramintW3.val = 0; paramintW1.val = 0; bool = Lsame.lsame(paramString, "T"); int j; if (bool) { d1 = paramArrayOfDouble1[(1 - 1 + paramInt2)] - paramDouble1; d2 = paramArrayOfDouble1[(1 - 1 + paramInt2)] - paramDouble2; if ((d1 > 0.0D ? 0 : 1) != 0) { paramintW2.val += 1; } if ((d2 > 0.0D ? 0 : 1) != 0) { paramintW3.val += 1; } i = 1; for (j = paramInt1 - 1 - 1 + 1; j > 0; j--) { d5 = Math.pow(paramArrayOfDouble2[(i - 1 + paramInt3)], 2); d1 = paramArrayOfDouble1[(i + 1 - 1 + paramInt2)] - paramDouble1 - d5 / d1; d2 = paramArrayOfDouble1[(i + 1 - 1 + paramInt2)] - paramDouble2 - d5 / d2; if ((d1 > 0.0D ? 0 : 1) != 0) { paramintW2.val += 1; } if ((d2 > 0.0D ? 0 : 1) != 0) { paramintW3.val += 1; } i += 1; } } else { d3 = -paramDouble1; d4 = -paramDouble2; i = 1; for (j = paramInt1 - 1 - 1 + 1; j > 0; j--) { d1 = paramArrayOfDouble1[(i - 1 + paramInt2)] + d3; d2 = paramArrayOfDouble1[(i - 1 + paramInt2)] + d4; if ((d1 > 0.0D ? 0 : 1) != 0) { paramintW2.val += 1; } if ((d2 > 0.0D ? 0 : 1) != 0) { paramintW3.val += 1; } d5 = paramArrayOfDouble2[(i - 1 + paramInt3)] * paramArrayOfDouble1[(i - 1 + paramInt2)] * paramArrayOfDouble2[(i - 1 + paramInt3)]; d6 = d5 / d1; if ((d6 != 0.0D ? 0 : 1) != 0) { d3 = d5 - paramDouble1; } else { d3 = d3 * d6 - paramDouble1; } d6 = d5 / d2; if ((d6 != 0.0D ? 0 : 1) != 0) { d4 = d5 - paramDouble2; } else { d4 = d4 * d6 - paramDouble2; } i += 1; } d1 = paramArrayOfDouble1[(paramInt1 - 1 + paramInt2)] + d3; d2 = paramArrayOfDouble1[(paramInt1 - 1 + paramInt2)] + d4; if ((d1 > 0.0D ? 0 : 1) != 0) { paramintW2.val += 1; } if ((d2 > 0.0D ? 0 : 1) != 0) { paramintW3.val += 1; } } paramintW3.val -= paramintW2.val; }
public static void dsytrs( String paramString, int paramInt1, int paramInt2, double[] paramArrayOfDouble1, int paramInt3, int paramInt4, int[] paramArrayOfInt, int paramInt5, double[] paramArrayOfDouble2, int paramInt6, int paramInt7, intW paramintW) { boolean bool = false; int i = 0; int j = 0; int k = 0; double d1 = 0.0D; double d2 = 0.0D; double d3 = 0.0D; double d4 = 0.0D; double d5 = 0.0D; double d6 = 0.0D; paramintW.val = 0; bool = Lsame.lsame(paramString, "U"); if ((((bool ^ true)) && ((Lsame.lsame(paramString, "L") ^ true)) ? 1 : 0) != 0) { paramintW.val = -1; } else if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW.val = -2; } else if ((paramInt2 >= 0 ? 0 : 1) != 0) { paramintW.val = -3; } else if ((paramInt4 >= Math.max(1, paramInt1) ? 0 : 1) != 0) { paramintW.val = -5; } else if ((paramInt7 >= Math.max(1, paramInt1) ? 0 : 1) != 0) { paramintW.val = -8; } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("DSYTRS", -paramintW.val); return; } if ((paramInt1 != 0 ? 0 : 1) == 0) {} if (((paramInt2 != 0 ? 0 : 1) == 0 ? 0 : 1) != 0) { return; } int m; if (bool) { j = paramInt1; while ((j >= 1 ? 0 : 1) == 0) { if ((paramArrayOfInt[(j - 1 + paramInt5)] <= 0 ? 0 : 1) != 0) { k = paramArrayOfInt[(j - 1 + paramInt5)]; if ((k == j ? 0 : 1) != 0) { Dswap.dswap( paramInt2, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, k - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } Dger.dger( j - 1, paramInt2, -1.0D, paramArrayOfDouble1, 1 - 1 + (j - 1) * paramInt4 + paramInt3, 1, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); Dscal.dscal( paramInt2, 1.0D / paramArrayOfDouble1[(j - 1 + (j - 1) * paramInt4 + paramInt3)], paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); j -= 1; } else { k = -paramArrayOfInt[(j - 1 + paramInt5)]; if ((k == j - 1 ? 0 : 1) != 0) { Dswap.dswap( paramInt2, paramArrayOfDouble2, j - 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, k - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } Dger.dger( j - 2, paramInt2, -1.0D, paramArrayOfDouble1, 1 - 1 + (j - 1) * paramInt4 + paramInt3, 1, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); Dger.dger( j - 2, paramInt2, -1.0D, paramArrayOfDouble1, 1 - 1 + (j - 1 - 1) * paramInt4 + paramInt3, 1, paramArrayOfDouble2, j - 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); d3 = paramArrayOfDouble1[(j - 1 - 1 + (j - 1) * paramInt4 + paramInt3)]; d2 = paramArrayOfDouble1[(j - 1 - 1 + (j - 1 - 1) * paramInt4 + paramInt3)] / d3; d1 = paramArrayOfDouble1[(j - 1 + (j - 1) * paramInt4 + paramInt3)] / d3; d6 = d2 * d1 - 1.0D; i = 1; for (m = paramInt2 - 1 + 1; m > 0; m--) { d5 = paramArrayOfDouble2[(j - 1 - 1 + (i - 1) * paramInt7 + paramInt6)] / d3; d4 = paramArrayOfDouble2[(j - 1 + (i - 1) * paramInt7 + paramInt6)] / d3; paramArrayOfDouble2[(j - 1 - 1 + (i - 1) * paramInt7 + paramInt6)] = ((d1 * d5 - d4) / d6); paramArrayOfDouble2[(j - 1 + (i - 1) * paramInt7 + paramInt6)] = ((d2 * d4 - d5) / d6); i += 1; } j -= 2; } } j = 1; while ((j <= paramInt1 ? 0 : 1) == 0) { if ((paramArrayOfInt[(j - 1 + paramInt5)] <= 0 ? 0 : 1) != 0) { Dgemv.dgemv( "Transpose", j - 1, paramInt2, -1.0D, paramArrayOfDouble2, paramInt6, paramInt7, paramArrayOfDouble1, 1 - 1 + (j - 1) * paramInt4 + paramInt3, 1, 1.0D, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); k = paramArrayOfInt[(j - 1 + paramInt5)]; if ((k == j ? 0 : 1) != 0) { Dswap.dswap( paramInt2, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, k - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } j += 1; } else { Dgemv.dgemv( "Transpose", j - 1, paramInt2, -1.0D, paramArrayOfDouble2, paramInt6, paramInt7, paramArrayOfDouble1, 1 - 1 + (j - 1) * paramInt4 + paramInt3, 1, 1.0D, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); Dgemv.dgemv( "Transpose", j - 1, paramInt2, -1.0D, paramArrayOfDouble2, paramInt6, paramInt7, paramArrayOfDouble1, 1 - 1 + (j + 1 - 1) * paramInt4 + paramInt3, 1, 1.0D, paramArrayOfDouble2, j + 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); k = -paramArrayOfInt[(j - 1 + paramInt5)]; if ((k == j ? 0 : 1) != 0) { Dswap.dswap( paramInt2, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, k - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } j += 2; } } } else { j = 1; while ((j <= paramInt1 ? 0 : 1) == 0) { if ((paramArrayOfInt[(j - 1 + paramInt5)] <= 0 ? 0 : 1) != 0) { k = paramArrayOfInt[(j - 1 + paramInt5)]; if ((k == j ? 0 : 1) != 0) { Dswap.dswap( paramInt2, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, k - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } if ((j >= paramInt1 ? 0 : 1) != 0) { Dger.dger( paramInt1 - j, paramInt2, -1.0D, paramArrayOfDouble1, j + 1 - 1 + (j - 1) * paramInt4 + paramInt3, 1, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, j + 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } Dscal.dscal( paramInt2, 1.0D / paramArrayOfDouble1[(j - 1 + (j - 1) * paramInt4 + paramInt3)], paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); j += 1; } else { k = -paramArrayOfInt[(j - 1 + paramInt5)]; if ((k == j + 1 ? 0 : 1) != 0) { Dswap.dswap( paramInt2, paramArrayOfDouble2, j + 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, k - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } if ((j >= paramInt1 - 1 ? 0 : 1) != 0) { Dger.dger( paramInt1 - j - 1, paramInt2, -1.0D, paramArrayOfDouble1, j + 2 - 1 + (j - 1) * paramInt4 + paramInt3, 1, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, j + 2 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); Dger.dger( paramInt1 - j - 1, paramInt2, -1.0D, paramArrayOfDouble1, j + 2 - 1 + (j + 1 - 1) * paramInt4 + paramInt3, 1, paramArrayOfDouble2, j + 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, j + 2 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } d3 = paramArrayOfDouble1[(j + 1 - 1 + (j - 1) * paramInt4 + paramInt3)]; d2 = paramArrayOfDouble1[(j - 1 + (j - 1) * paramInt4 + paramInt3)] / d3; d1 = paramArrayOfDouble1[(j + 1 - 1 + (j + 1 - 1) * paramInt4 + paramInt3)] / d3; d6 = d2 * d1 - 1.0D; i = 1; for (m = paramInt2 - 1 + 1; m > 0; m--) { d5 = paramArrayOfDouble2[(j - 1 + (i - 1) * paramInt7 + paramInt6)] / d3; d4 = paramArrayOfDouble2[(j + 1 - 1 + (i - 1) * paramInt7 + paramInt6)] / d3; paramArrayOfDouble2[(j - 1 + (i - 1) * paramInt7 + paramInt6)] = ((d1 * d5 - d4) / d6); paramArrayOfDouble2[(j + 1 - 1 + (i - 1) * paramInt7 + paramInt6)] = ((d2 * d4 - d5) / d6); i += 1; } j += 2; } } j = paramInt1; while ((j >= 1 ? 0 : 1) == 0) { if ((paramArrayOfInt[(j - 1 + paramInt5)] <= 0 ? 0 : 1) != 0) { if ((j >= paramInt1 ? 0 : 1) != 0) { Dgemv.dgemv( "Transpose", paramInt1 - j, paramInt2, -1.0D, paramArrayOfDouble2, j + 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble1, j + 1 - 1 + (j - 1) * paramInt4 + paramInt3, 1, 1.0D, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } k = paramArrayOfInt[(j - 1 + paramInt5)]; if ((k == j ? 0 : 1) != 0) { Dswap.dswap( paramInt2, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, k - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } j -= 1; } else { if ((j >= paramInt1 ? 0 : 1) != 0) { Dgemv.dgemv( "Transpose", paramInt1 - j, paramInt2, -1.0D, paramArrayOfDouble2, j + 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble1, j + 1 - 1 + (j - 1) * paramInt4 + paramInt3, 1, 1.0D, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); Dgemv.dgemv( "Transpose", paramInt1 - j, paramInt2, -1.0D, paramArrayOfDouble2, j + 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble1, j + 1 - 1 + (j - 1 - 1) * paramInt4 + paramInt3, 1, 1.0D, paramArrayOfDouble2, j - 1 - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } k = -paramArrayOfInt[(j - 1 + paramInt5)]; if ((k == j ? 0 : 1) != 0) { Dswap.dswap( paramInt2, paramArrayOfDouble2, j - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7, paramArrayOfDouble2, k - 1 + (1 - 1) * paramInt7 + paramInt6, paramInt7); } j -= 2; } } } }
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 dtzrqf( int paramInt1, int paramInt2, double[] paramArrayOfDouble1, int paramInt3, int paramInt4, double[] paramArrayOfDouble2, int paramInt5, intW paramintW) { int i = 0; int j = 0; int k = 0; paramintW.val = 0; if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW.val = -1; } else if ((paramInt2 >= paramInt1 ? 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) { Xerbla.xerbla("DTZRQF", -paramintW.val); return; } if ((paramInt1 != 0 ? 0 : 1) != 0) { return; } int m; if ((paramInt1 != paramInt2 ? 0 : 1) != 0) { i = 1; for (m = paramInt2 - 1 + 1; m > 0; m--) { paramArrayOfDouble2[(i - 1 + paramInt5)] = 0.0D; i += 1; } } else { k = Math.min(paramInt1 + 1, paramInt2); j = paramInt1; for (m = (1 - paramInt1 + -1) / -1; m > 0; m--) { dlarfg_adapter( paramInt2 - paramInt1 + 1, paramArrayOfDouble1, j - 1 + (j - 1) * paramInt4 + paramInt3, paramArrayOfDouble1, j - 1 + (k - 1) * paramInt4 + paramInt3, paramInt4, paramArrayOfDouble2, j - 1 + paramInt5); if ((paramArrayOfDouble2[(j - 1 + paramInt5)] == 0.0D ? 0 : 1) != 0) {} if (((j <= 1 ? 0 : 1) != 0 ? 1 : 0) != 0) { Dcopy.dcopy( j - 1, paramArrayOfDouble1, 1 - 1 + (j - 1) * paramInt4 + paramInt3, 1, paramArrayOfDouble2, paramInt5, 1); Dgemv.dgemv( "No transpose", j - 1, paramInt2 - paramInt1, 1.0D, paramArrayOfDouble1, 1 - 1 + (k - 1) * paramInt4 + paramInt3, paramInt4, paramArrayOfDouble1, j - 1 + (k - 1) * paramInt4 + paramInt3, paramInt4, 1.0D, paramArrayOfDouble2, paramInt5, 1); Daxpy.daxpy( j - 1, -paramArrayOfDouble2[(j - 1 + paramInt5)], paramArrayOfDouble2, paramInt5, 1, paramArrayOfDouble1, 1 - 1 + (j - 1) * paramInt4 + paramInt3, 1); Dger.dger( j - 1, paramInt2 - paramInt1, -paramArrayOfDouble2[(j - 1 + paramInt5)], paramArrayOfDouble2, paramInt5, 1, paramArrayOfDouble1, j - 1 + (k - 1) * paramInt4 + paramInt3, paramInt4, paramArrayOfDouble1, 1 - 1 + (k - 1) * paramInt4 + paramInt3, paramInt4); } j += -1; } } }
@Test public void test() { boolean test; int i, j, NDIM = 4, NMAX = 200; intW iter = new intW(0); double temperature, sbeps, del = 10.0, FTOL = 1.0e-8; double ddels[] = {5.0, 2.0, 6.0, 3.0}; double[] dels = buildVector(ddels); double pp[] = { 3.5, 3.2, 3.2, 3.0, 8.4, -0.5, 0.7, 0.5, 0.7, 5.6, 0.1, 0.0, -0.7, 0.7, 7.5, -0.2, 0.2, 0.2, -0.2, 5.4 }; double[][] p = buildMatrix(NDIM + 1, NDIM, pp); boolean localflag, globalflag = false; // Test Amebsa System.out.println("Testing Amebsa"); // Test interface #1 double[] point = buildVector(4, 3.5); func_amebsa func_amebsa = new func_amebsa(); Amebsa amb1 = new Amebsa(point, del, func_amebsa, FTOL); iter.val = 1000; temperature = 100.0; for (j = 0; j < NMAX; j++) { test = amb1.anneal(iter, temperature); if (test) break; else { iter.val = 1000; temperature *= 0.8; } } // System.out.printf(j); // System.out.printf(iter); // System.out.printf(abs(1.0-amb1.yb)); // System.out.printf(amb1.pb[0] << " " << amb1.pb[1] << " " << amb1.pb[2] << " " << // amb1.pb[3]); // System.out.printf(endl; sbeps = 1.e-8; localflag = abs(1.0 - amb1.yb) > sbeps; globalflag = globalflag || localflag; if (localflag) { fail("*** Amebsa, interface 1: Incorrect minimum function value"); } sbeps = 1.e-4; localflag = false; for (i = 0; i < 4; i++) localflag = localflag || abs(amb1.pb[i]) > sbeps; globalflag = globalflag || localflag; if (localflag) { fail("*** Amebsa, interface 1: Did not converge to the global minumum at the origin"); } // Test interface #2 Amebsa amb2 = new Amebsa(point, dels, func_amebsa, FTOL); iter.val = 1000; temperature = 100.0; for (j = 0; j < NMAX; j++) { test = amb2.anneal(iter, temperature); if (test) break; else { iter.val = 1000; temperature *= 0.8; } } // System.out.printf(j); // System.out.printf(iter); // System.out.printf(amb2.yb); // System.out.printf(amb2.pb[0] << " " << amb2.pb[1] << " " << amb2.pb[2] << " " << // amb2.pb[3]); // System.out.printf(endl; sbeps = 1.e-8; localflag = abs(1.0 - amb2.yb) > sbeps; globalflag = globalflag || localflag; if (localflag) { fail("*** Amebsa, interface 2: Incorrect minimum function value"); } sbeps = 1.e-4; localflag = false; for (i = 0; i < 4; i++) localflag = localflag || abs(amb2.pb[i]) > sbeps; globalflag = globalflag || localflag; if (localflag) { fail("*** Amebsa, interface 2: Did not converge to the global minumum at the origin"); } // Test interface #3 Amebsa amb3 = new Amebsa(p, func_amebsa, FTOL); iter.val = 1000; temperature = 100.0; for (j = 0; j < NMAX; j++) { test = amb3.anneal(iter, temperature); if (test) break; else { iter.val = 1000; temperature *= 0.8; } } // System.out.printf(j); // System.out.printf(iter); // System.out.printf(amb3.yb); // System.out.printf(amb3.pb[0] << " " << amb3.pb[1] << " " << amb3.pb[2] << " " << // amb3.pb[3]); // System.out.printf(endl; sbeps = 1.e-8; localflag = abs(1.0 - amb3.yb) > sbeps; globalflag = globalflag || localflag; if (localflag) { fail("*** Amebsa, interface 3: Incorrect minimum function value"); } sbeps = 1.e-4; localflag = false; for (i = 0; i < 4; i++) localflag = localflag || abs(amb3.pb[i]) > sbeps; globalflag = globalflag || localflag; if (localflag) { fail("*** Amebsa, interface 3: Did not converge to the global minumum at the origin"); } localflag = false; globalflag = globalflag || localflag; if (localflag) { fail("*** Amebsa: **********************"); } if (globalflag) System.out.println("Failed\n"); else System.out.println("Passed\n"); }
public static void slaed8( int paramInt1, intW paramintW1, int paramInt2, int paramInt3, float[] paramArrayOfFloat1, int paramInt4, float[] paramArrayOfFloat2, int paramInt5, int paramInt6, int[] paramArrayOfInt1, int paramInt7, floatW paramfloatW, int paramInt8, float[] paramArrayOfFloat3, int paramInt9, float[] paramArrayOfFloat4, int paramInt10, float[] paramArrayOfFloat5, int paramInt11, int paramInt12, float[] paramArrayOfFloat6, int paramInt13, int[] paramArrayOfInt2, int paramInt14, intW paramintW2, int[] paramArrayOfInt3, int paramInt15, float[] paramArrayOfFloat7, int paramInt16, int[] paramArrayOfInt4, int paramInt17, int[] paramArrayOfInt5, int paramInt18, 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; int i4 = 0; int i5 = 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; paramintW3.val = 0; if ((paramInt1 >= 0 ? 0 : 1) == 0) {} if (((paramInt1 <= 1 ? 0 : 1) == 0 ? 0 : 1) != 0) { paramintW3.val = -1; } else if ((paramInt2 >= 0 ? 0 : 1) != 0) { paramintW3.val = -3; } else { if ((paramInt1 != 1 ? 0 : 1) != 0) {} if (((paramInt3 >= paramInt2 ? 0 : 1) != 0 ? 1 : 0) != 0) { paramintW3.val = -4; } else if ((paramInt6 >= Math.max(1, paramInt2) ? 0 : 1) != 0) { paramintW3.val = -7; } else { if ((paramInt8 >= Math.min(1, paramInt2) ? 0 : 1) == 0) {} if (((paramInt8 <= paramInt2 ? 0 : 1) == 0 ? 0 : 1) != 0) { paramintW3.val = -10; } else if ((paramInt12 >= Math.max(1, paramInt2) ? 0 : 1) != 0) { paramintW3.val = -14; } } } if ((paramintW3.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("SLAED8", -paramintW3.val); return; } if ((paramInt2 != 0 ? 0 : 1) != 0) { return; } i3 = paramInt8; i5 = paramInt2 - i3; i4 = i3 + 1; if ((paramfloatW.val >= 0.0F ? 0 : 1) != 0) { Sscal.sscal(i5, -1.0F, paramArrayOfFloat3, i4 - 1 + paramInt9, 1); } f4 = 1.0F / (float) Math.sqrt(2.0F); k = 1; for (int i6 = paramInt2 - 1 + 1; i6 > 0; i6--) { paramArrayOfInt5[(k - 1 + paramInt18)] = k; k += 1; } Sscal.sscal(paramInt2, f4, paramArrayOfFloat3, paramInt9, 1); paramfloatW.val = Math.abs(2.0F * paramfloatW.val); i = paramInt8 + 1; for (i6 = paramInt2 - (paramInt8 + 1) + 1; i6 > 0; i6--) { paramArrayOfInt1[(i - 1 + paramInt7)] += paramInt8; i += 1; } i = 1; for (i6 = paramInt2 - 1 + 1; i6 > 0; i6--) { paramArrayOfFloat4[(i - 1 + paramInt10)] = paramArrayOfFloat1[(paramArrayOfInt1[(i - 1 + paramInt7)] - 1 + paramInt4)]; paramArrayOfFloat6[(i - 1 + paramInt13)] = paramArrayOfFloat3[(paramArrayOfInt1[(i - 1 + paramInt7)] - 1 + paramInt9)]; i += 1; } i = 1; k = paramInt8 + 1; Slamrg.slamrg(i3, i5, paramArrayOfFloat4, paramInt10, 1, 1, paramArrayOfInt5, paramInt18); i = 1; for (i6 = paramInt2 - 1 + 1; i6 > 0; i6--) { paramArrayOfFloat1[(i - 1 + paramInt4)] = paramArrayOfFloat4[(paramArrayOfInt5[(i - 1 + paramInt18)] - 1 + paramInt10)]; paramArrayOfFloat3[(i - 1 + paramInt9)] = paramArrayOfFloat6[(paramArrayOfInt5[(i - 1 + paramInt18)] - 1 + paramInt13)]; i += 1; } j = Isamax.isamax(paramInt2, paramArrayOfFloat3, paramInt9, 1); n = Isamax.isamax(paramInt2, paramArrayOfFloat1, paramInt4, 1); f2 = Slamch.slamch("Epsilon"); f6 = 8.0F * f2 * Math.abs(paramArrayOfFloat1[(n - 1 + paramInt4)]); if ((paramfloatW.val * Math.abs(paramArrayOfFloat3[(j - 1 + paramInt9)]) > f6 ? 0 : 1) != 0) { paramintW1.val = 0; if ((paramInt1 != 0 ? 0 : 1) != 0) { k = 1; for (i6 = paramInt2 - 1 + 1; i6 > 0; i6--) { paramArrayOfInt2[(k - 1 + paramInt14)] = paramArrayOfInt1[(paramArrayOfInt5[(k - 1 + paramInt18)] - 1 + paramInt7)]; k += 1; } } else { k = 1; for (i6 = paramInt2 - 1 + 1; i6 > 0; i6--) { paramArrayOfInt2[(k - 1 + paramInt14)] = paramArrayOfInt1[(paramArrayOfInt5[(k - 1 + paramInt18)] - 1 + paramInt7)]; Scopy.scopy( paramInt3, paramArrayOfFloat2, 1 - 1 + (paramArrayOfInt2[(k - 1 + paramInt14)] - 1) * paramInt6 + paramInt5, 1, paramArrayOfFloat5, 1 - 1 + (k - 1) * paramInt12 + paramInt11, 1); k += 1; } Slacpy.slacpy( "A", paramInt3, paramInt2, paramArrayOfFloat5, 1 - 1 + (1 - 1) * paramInt12 + paramInt11, paramInt12, paramArrayOfFloat2, 1 - 1 + (1 - 1) * paramInt6 + paramInt5, paramInt6); } return; } paramintW1.val = 0; paramintW2.val = 0; i2 = paramInt2 + 1; k = 1; for (i6 = paramInt2 - 1 + 1; i6 > 0; i6--) { if ((paramfloatW.val * Math.abs(paramArrayOfFloat3[(k - 1 + paramInt9)]) > f6 ? 0 : 1) != 0) { i2 -= 1; paramArrayOfInt4[(i2 - 1 + paramInt17)] = k; if ((k != paramInt2 ? 0 : 1) != 0) { break label1922; } } else { m = k; break; } k += 1; } for (; ; ) { k += 1; if ((k <= paramInt2 ? 0 : 1) != 0) { break; } if ((paramfloatW.val * Math.abs(paramArrayOfFloat3[(k - 1 + paramInt9)]) > f6 ? 0 : 1) != 0) { i2 -= 1; paramArrayOfInt4[(i2 - 1 + paramInt17)] = k; } else { f3 = paramArrayOfFloat3[(m - 1 + paramInt9)]; f1 = paramArrayOfFloat3[(k - 1 + paramInt9)]; f5 = Slapy2.slapy2(f1, f3); f4 = paramArrayOfFloat1[(k - 1 + paramInt4)] - paramArrayOfFloat1[(m - 1 + paramInt4)]; f1 /= f5; f3 = -(f3 / f5); if ((Math.abs(f4 * f1 * f3) > f6 ? 0 : 1) != 0) { paramArrayOfFloat3[(k - 1 + paramInt9)] = f5; paramArrayOfFloat3[(m - 1 + paramInt9)] = 0.0F; paramintW2.val += 1; paramArrayOfInt3[(1 - 1 + (paramintW2.val - 1) * 2 + paramInt15)] = paramArrayOfInt1[(paramArrayOfInt5[(m - 1 + paramInt18)] - 1 + paramInt7)]; paramArrayOfInt3[(2 - 1 + (paramintW2.val - 1) * 2 + paramInt15)] = paramArrayOfInt1[(paramArrayOfInt5[(k - 1 + paramInt18)] - 1 + paramInt7)]; paramArrayOfFloat7[(1 - 1 + (paramintW2.val - 1) * 2 + paramInt16)] = f1; paramArrayOfFloat7[(2 - 1 + (paramintW2.val - 1) * 2 + paramInt16)] = f3; if ((paramInt1 != 1 ? 0 : 1) != 0) { Srot.srot( paramInt3, paramArrayOfFloat2, 1 - 1 + (paramArrayOfInt1[(paramArrayOfInt5[(m - 1 + paramInt18)] - 1 + paramInt7)] - 1) * paramInt6 + paramInt5, 1, paramArrayOfFloat2, 1 - 1 + (paramArrayOfInt1[(paramArrayOfInt5[(k - 1 + paramInt18)] - 1 + paramInt7)] - 1) * paramInt6 + paramInt5, 1, f1, f3); } f4 = paramArrayOfFloat1[(m - 1 + paramInt4)] * f1 * f1 + paramArrayOfFloat1[(k - 1 + paramInt4)] * f3 * f3; paramArrayOfFloat1[(k - 1 + paramInt4)] = (paramArrayOfFloat1[(m - 1 + paramInt4)] * f3 * f3 + paramArrayOfFloat1[(k - 1 + paramInt4)] * f1 * f1); paramArrayOfFloat1[(m - 1 + paramInt4)] = f4; i2 -= 1; i = 1; while ((i2 + i > paramInt2 ? 0 : 1) != 0) { if ((paramArrayOfFloat1[(m - 1 + paramInt4)] >= paramArrayOfFloat1[ (paramArrayOfInt4[(i2 + i - 1 + paramInt17)] - 1 + paramInt4)] ? 0 : 1) != 0) { paramArrayOfInt4[(i2 + i - 1 - 1 + paramInt17)] = paramArrayOfInt4[(i2 + i - 1 + paramInt17)]; paramArrayOfInt4[(i2 + i - 1 + paramInt17)] = m; i += 1; } else { paramArrayOfInt4[(i2 + i - 1 - 1 + paramInt17)] = m; break label1772; } } paramArrayOfInt4[(i2 + i - 1 - 1 + paramInt17)] = m; label1772: m = k; } else { paramintW1.val += 1; paramArrayOfFloat6[(paramintW1.val - 1 + paramInt13)] = paramArrayOfFloat3[(m - 1 + paramInt9)]; paramArrayOfFloat4[(paramintW1.val - 1 + paramInt10)] = paramArrayOfFloat1[(m - 1 + paramInt4)]; paramArrayOfInt4[(paramintW1.val - 1 + paramInt17)] = m; m = k; } } } paramintW1.val += 1; paramArrayOfFloat6[(paramintW1.val - 1 + paramInt13)] = paramArrayOfFloat3[(m - 1 + paramInt9)]; paramArrayOfFloat4[(paramintW1.val - 1 + paramInt10)] = paramArrayOfFloat1[(m - 1 + paramInt4)]; paramArrayOfInt4[(paramintW1.val - 1 + paramInt17)] = m; label1922: if ((paramInt1 != 0 ? 0 : 1) != 0) { k = 1; for (i6 = paramInt2 - 1 + 1; i6 > 0; i6--) { i1 = paramArrayOfInt4[(k - 1 + paramInt17)]; paramArrayOfFloat4[(k - 1 + paramInt10)] = paramArrayOfFloat1[(i1 - 1 + paramInt4)]; paramArrayOfInt2[(k - 1 + paramInt14)] = paramArrayOfInt1[(paramArrayOfInt5[(i1 - 1 + paramInt18)] - 1 + paramInt7)]; k += 1; } } else { k = 1; for (i6 = paramInt2 - 1 + 1; i6 > 0; i6--) { i1 = paramArrayOfInt4[(k - 1 + paramInt17)]; paramArrayOfFloat4[(k - 1 + paramInt10)] = paramArrayOfFloat1[(i1 - 1 + paramInt4)]; paramArrayOfInt2[(k - 1 + paramInt14)] = paramArrayOfInt1[(paramArrayOfInt5[(i1 - 1 + paramInt18)] - 1 + paramInt7)]; Scopy.scopy( paramInt3, paramArrayOfFloat2, 1 - 1 + (paramArrayOfInt2[(k - 1 + paramInt14)] - 1) * paramInt6 + paramInt5, 1, paramArrayOfFloat5, 1 - 1 + (k - 1) * paramInt12 + paramInt11, 1); k += 1; } } if ((paramintW1.val >= paramInt2 ? 0 : 1) != 0) { if ((paramInt1 != 0 ? 0 : 1) != 0) { Scopy.scopy( paramInt2 - paramintW1.val, paramArrayOfFloat4, paramintW1.val + 1 - 1 + paramInt10, 1, paramArrayOfFloat1, paramintW1.val + 1 - 1 + paramInt4, 1); } else { Scopy.scopy( paramInt2 - paramintW1.val, paramArrayOfFloat4, paramintW1.val + 1 - 1 + paramInt10, 1, paramArrayOfFloat1, paramintW1.val + 1 - 1 + paramInt4, 1); Slacpy.slacpy( "A", paramInt3, paramInt2 - paramintW1.val, paramArrayOfFloat5, 1 - 1 + (paramintW1.val + 1 - 1) * paramInt12 + paramInt11, paramInt12, paramArrayOfFloat2, 1 - 1 + (paramintW1.val + 1 - 1) * paramInt6 + paramInt5, paramInt6); } } }
public static void dgbsv( int paramInt1, int paramInt2, int paramInt3, int paramInt4, double[] paramArrayOfDouble1, int paramInt5, int paramInt6, int[] paramArrayOfInt, int paramInt7, double[] paramArrayOfDouble2, int paramInt8, int paramInt9, intW paramintW) { paramintW.val = 0; if ((paramInt1 >= 0 ? 0 : 1) != 0) { paramintW.val = -1; } else if ((paramInt2 >= 0 ? 0 : 1) != 0) { paramintW.val = -2; } else if ((paramInt3 >= 0 ? 0 : 1) != 0) { paramintW.val = -3; } else if ((paramInt4 >= 0 ? 0 : 1) != 0) { paramintW.val = -4; } else if ((paramInt6 >= 2 * paramInt2 + paramInt3 + 1 ? 0 : 1) != 0) { paramintW.val = -6; } else if ((paramInt9 >= Math.max(paramInt1, 1) ? 0 : 1) != 0) { paramintW.val = -9; } if ((paramintW.val == 0 ? 0 : 1) != 0) { Xerbla.xerbla("DGBSV ", -paramintW.val); return; } Dgbtrf.dgbtrf( paramInt1, paramInt1, paramInt2, paramInt3, paramArrayOfDouble1, paramInt5, paramInt6, paramArrayOfInt, paramInt7, paramintW); if ((paramintW.val != 0 ? 0 : 1) != 0) { Dgbtrs.dgbtrs( "No transpose", paramInt1, paramInt2, paramInt3, paramInt4, paramArrayOfDouble1, paramInt5, paramInt6, paramArrayOfInt, paramInt7, paramArrayOfDouble2, paramInt8, paramInt9, paramintW); } }