public static PropositionNeuralNetwork allocateNeuralNetwork(int numIn, int numHidden) {
    { PropositionNeuralNetwork net = PropositionNeuralNetwork.newPropositionNeuralNetwork();

      net.input = Vector.newVector(numIn);
      net.hidden = Vector.newVector(numHidden);
      net.ih = two_D_array.new2_D_array(numIn, numHidden);
      net.ihDelta = two_D_array.new2_D_array(numIn, numHidden);
      net.inputError = Vector.newVector(numIn);
      net.hiddenError = Vector.newVector(numHidden);
      net.ho = Vector.newVector(numHidden);
      net.hoDelta = Vector.newVector(numHidden);
      if (Logic.$NEURAL_NETWORK_TRAINING_METHOD$ == Logic.KWD_QUICKPROP) {
        net.ihSlope = two_D_array.new2_D_array(numIn, numHidden);
        net.ihPrevSlope = two_D_array.new2_D_array(numIn, numHidden);
        net.hoSlope = Vector.newVector(numHidden);
        net.hoPrevSlope = Vector.newVector(numHidden);
      }
      return (net);
    }
  }