Пример #1
0
  public double getTreeValue(int[] f, int[][] links, int node) {
    double r1, r2, r3, r4;
    double res;

    r1 = 0;
    r2 = 0;
    r3 = 0;
    r4 = 0;

    switch (f[node]) {
      case 7:
        r4 = getTreeValue(f, links, links[node][3]);

      case 3:
      case 5:
        r3 = getTreeValue(f, links, links[node][2]);

      case 2:
      case 4:
      case 6:
        r2 = getTreeValue(f, links, links[node][1]);

      case 0:
      case 1:
        r1 = getTreeValue(f, links, links[node][0]);
        break;

      default:
        r1 = 0;
        r2 = 0;
        r3 = 0;
        r4 = 0;
        break;
    }

    switch (f[node]) {
      case 0:
        res = 1 / (1 + Math.exp(-r1));
        break;

      case 1:
        res = -r1;
        break;

      case 2:
        res = r1 + r2;
        break;

      case 3:
        res = r1 + r2 + r3;
        break;

      case 4:
        res = r1 * r2;
        break;

      case 5:
        res = r1 * r2 * r3;
        break;

      case 6:
        res = (r1 > r2) ? r2 : r1;
        break;

      case 7:
        res = (r1 > r2) ? r3 : r4;
        break;

      case 8:
        res = env.x;
        break;

      case 9:
        res = env.y;
        break;

      case 10:
        res = env.dr;
        break;

      case 11:
        res = env.tr;
        break;

      case 12:
        res = env.w;
        break;

      case 13:
        res = env.dh;
        break;

      case 14:
        res = env.GH;
        break;

      case 15:
        res = env.h;
        break;

      case 16:
        res = env.d;
        break;

      case 17:
        res = env.e;
        break;

      case 18:
        res = env.E;
        break;

      case 19:
        res = 0;
        break;

      case 20:
        res = 0.5;
        break;

      case 21:
        res = 1;
        break;

      case 22:
        res = 2;
        break;

      case 23:
        res = 5;
        break;

      case 24:
        res = 10;
        break;

      default:
        res = 0;
        break;
    }

    return res;
  }