if (!(method instanceof MLFactory)) {
throw new EncogError("Code generation not yet supported for: "
+ method.getClass().getName());
}
final FlatNetwork flat = ((ContainsFlat) method).getFlat();
// header
final StringBuilder line = new StringBuilder();
line.append("public static MLMethod ");
line.append(node.getName());
line.append("() {");
indentLine(line.toString());
// create factory
line.setLength(0);
addLine("var network = ENCOG.BasicNetwork.create( null );");
addLine("network.inputCount = " + flat.getInputCount() + ";");
addLine("network.outputCount = " + flat.getOutputCount() + ";");
addLine("network.layerCounts = "
+ toSingleLineArray(flat.getLayerCounts()) + ";");
addLine("network.layerContextCount = "
+ toSingleLineArray(flat.getLayerContextCount()) + ";");
addLine("network.weightIndex = "
+ toSingleLineArray(flat.getWeightIndex()) + ";");
addLine("network.layerIndex = "
+ toSingleLineArray(flat.getLayerIndex()) + ";");
addLine("network.activationFunctions = "
+ toSingleLineArray(flat.getActivationFunctions()) + ";");
addLine("network.layerFeedCounts = "
+ toSingleLineArray(flat.getLayerFeedCounts()) + ";");
addLine("network.contextTargetOffset = "
+ toSingleLineArray(flat.getContextTargetOffset()) + ";");
addLine("network.contextTargetSize = "
+ toSingleLineArray(flat.getContextTargetSize()) + ";");
addLine("network.biasActivation = "
+ toSingleLineArray(flat.getBiasActivation()) + ";");
addLine("network.beginTraining = " + flat.getBeginTraining() + ";");
addLine("network.endTraining=" + flat.getEndTraining() + ";");
addLine("network.weights = WEIGHTS;");
addLine("network.layerOutput = "
+ toSingleLineArray(flat.getLayerOutput()) + ";");
addLine("network.layerSums = " + toSingleLineArray(flat.getLayerSums())
+ ";");
// return
addLine("return network;");