Beispiel #1
0
 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;
 }
Beispiel #2
0
 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;
 }