code: private void srand(int ijkl) {
          u = new double[97];
  
          int ij = ijkl / 30082;
          int kl = ijkl % 30082;
  
          // Handle the seed range errors
          // First random number seed must be between 0 and 31328
          // Second seed must have a value between 0 and 30081
          if (ij < 0 || ij > 31328 || kl < 0 || kl > 30081) {
              ij = ij % 31329;
              kl = kl % 30082;
          }
  
          int i = ((ij / 177) % 177) + 2;
          int j = (ij % 177) + 2;
          int k = ((kl / 169) % 178) + 1;
          int l = kl % 169;
  
          int m;
          double s, t;
          for (int ii = 0; ii < 97; ii++) {
              s = 0.0;
              t = 0.5;
              for (int jj = 0; jj < 24; jj++) {
                  m = (((i * j) % 179) * k) % 179;
                  i = j;
                  j = k;
                  k = m;
                  l = (53 * l + 1) % 169;
                  if (((l * m) % 64) >= 32) {
                      s += t;
                  }
                  t *= 0.5;
              }
              u[ii] = s;
          }
  
          c = 362436.0 / 16777216.0;
          cd = 7654321.0 / 16777216.0;
          cm = 16777213.0 / 16777216.0;
          i97 = 96;
          j97 = 32;
      }
docs: Initialize the random generator with a seed.