public static int[] FindAsArrayIdx(Matrix m, double d, CmpMode cmp) { int num = 0; switch (cmp) { case CmpMode.Equals: { int index = 0; int length = m.data.Length; while (index < length) { if (m.data[index] == d) { num++; } index++; } break; } case CmpMode.NEquals: { int num4 = 0; int num5 = m.data.Length; while (num4 < num5) { if (m.data[num4] != d) { num++; } num4++; } break; } case CmpMode.LesThen: { int num6 = 0; int num7 = m.data.Length; while (num6 < num7) { if (m.data[num6] < d) { num++; } num6++; } break; } case CmpMode.GrtThen: { int num8 = 0; int num9 = m.data.Length; while (num8 < num9) { if (m.data[num8] > d) { num++; } num8++; } break; } case CmpMode.LesEqThen: { int num10 = 0; int num11 = m.data.Length; while (num10 < num11) { if (m.data[num10] <= d) { num++; } num10++; } break; } case CmpMode.GrtEqThen: { int num12 = 0; int num13 = m.data.Length; while (num12 < num13) { if (m.data[num12] >= d) { num++; } num12++; } break; } } int[] numArray = new int[num]; num = 0; switch (cmp) { case CmpMode.Equals: { int num14 = 0; int num15 = m.data.Length; while (num14 < num15) { if (m.data[num14] == d) { numArray[num++] = num14; } num14++; } return numArray; } case CmpMode.NEquals: { int num16 = 0; int num17 = m.data.Length; while (num16 < num17) { if (m.data[num16] != d) { numArray[num++] = num16; } num16++; } return numArray; } case CmpMode.LesThen: { int num18 = 0; int num19 = m.data.Length; while (num18 < num19) { if (m.data[num18] < d) { numArray[num++] = num18; } num18++; } return numArray; } case CmpMode.GrtThen: { int num20 = 0; int num21 = m.data.Length; while (num20 < num21) { if (m.data[num20] > d) { numArray[num++] = num20; } num20++; } return numArray; } case CmpMode.LesEqThen: { int num22 = 0; int num23 = m.data.Length; while (num22 < num23) { if (m.data[num22] <= d) { numArray[num++] = num22; } num22++; } return numArray; } case CmpMode.GrtEqThen: { int num24 = 0; int num25 = m.data.Length; while (num24 < num25) { if (m.data[num24] >= d) { numArray[num++] = num24; } num24++; } return numArray; } } return numArray; }
public static Matrix Find(Matrix m, double d, CmpMode cmp) { int rows = 0; switch (cmp) { case CmpMode.Equals: { int index = 0; int length = m.data.Length; while (index < length) { if (m.data[index] == d) { rows++; } index++; } break; } case CmpMode.NEquals: { int num4 = 0; int num5 = m.data.Length; while (num4 < num5) { if (m.data[num4] != d) { rows++; } num4++; } break; } case CmpMode.LesThen: { int num6 = 0; int num7 = m.data.Length; while (num6 < num7) { if (m.data[num6] < d) { rows++; } num6++; } break; } case CmpMode.GrtThen: { int num8 = 0; int num9 = m.data.Length; while (num8 < num9) { if (m.data[num8] > d) { rows++; } num8++; } break; } case CmpMode.LesEqThen: { int num10 = 0; int num11 = m.data.Length; while (num10 < num11) { if (m.data[num10] <= d) { rows++; } num10++; } break; } case CmpMode.GrtEqThen: { int num12 = 0; int num13 = m.data.Length; while (num12 < num13) { if (m.data[num12] >= d) { rows++; } num12++; } break; } } Matrix matrix = new Matrix(rows, 2); rows = 0; switch (cmp) { case CmpMode.Equals: { int num14 = 0; int num15 = m.data.Length; while (num14 < num15) { if (m.data[num14] == d) { matrix.data[rows++] = num14 / m.c; matrix.data[rows++] = num14 % m.c; } num14++; } return m; } case CmpMode.NEquals: { int num16 = 0; int num17 = m.data.Length; while (num16 < num17) { if (m.data[num16] != d) { matrix.data[rows++] = num16 / m.c; matrix.data[rows++] = num16 % m.c; } num16++; } return m; } case CmpMode.LesThen: { int num18 = 0; int num19 = m.data.Length; while (num18 < num19) { if (m.data[num18] < d) { matrix.data[rows++] = num18 / m.c; matrix.data[rows++] = num18 % m.c; } num18++; } return m; } case CmpMode.GrtThen: { int num20 = 0; int num21 = m.data.Length; while (num20 < num21) { if (m.data[num20] > d) { matrix.data[rows++] = num20 / m.c; matrix.data[rows++] = num20 % m.c; } num20++; } return m; } case CmpMode.LesEqThen: { int num22 = 0; int num23 = m.data.Length; while (num22 < num23) { if (m.data[num22] <= d) { matrix.data[rows++] = num22 / m.c; matrix.data[rows++] = num22 % m.c; } num22++; } return m; } case CmpMode.GrtEqThen: { int num24 = 0; int num25 = m.data.Length; while (num24 < num25) { if (m.data[num24] >= d) { matrix.data[rows++] = num24 / m.c; matrix.data[rows++] = num24 % m.c; } num24++; } return m; } } return m; }