public IMLMethod Create(string architecture, int input, int output) { int count; int num2; SOMPattern pattern2; IList<string> list = ArchitectureParse.ParseLayers(architecture); if ((((uint) count) - ((uint) input)) >= 0) { while (list.Count != 2) { throw new EncogError("SOM's must have exactly two elements, separated by ->."); } if ((((uint) input) + ((uint) input)) <= uint.MaxValue) { ArchitectureLayer layer = ArchitectureParse.ParseLayer(list[0], input); ArchitectureLayer layer2 = ArchitectureParse.ParseLayer(list[1], output); if ((((uint) count) + ((uint) count)) >= 0) { count = layer.Count; num2 = layer2.Count; pattern2 = new SOMPattern(); } } else { goto Label_00B9; } pattern2.InputNeurons = count; } pattern2.OutputNeurons = num2; SOMPattern pattern = pattern2; Label_00B9: return pattern.Generate(); }
/// <summary> /// Create a SOM. /// </summary> /// /// <param name="architecture">The architecture string.</param> /// <param name="input">The input count.</param> /// <param name="output">The output count.</param> /// <returns>The newly created SOM.</returns> public IMLMethod Create(String architecture, int input, int output) { IList<String> layers = ArchitectureParse.ParseLayers(architecture); if (layers.Count != 2) { throw new EncogError( "SOM's must have exactly two elements, separated by ->."); } ArchitectureLayer inputLayer = ArchitectureParse.ParseLayer( layers[0], input); ArchitectureLayer outputLayer = ArchitectureParse.ParseLayer( layers[1], output); int inputCount = inputLayer.Count; int outputCount = outputLayer.Count; var pattern = new SOMPattern {InputNeurons = inputCount, OutputNeurons = outputCount}; return pattern.Generate(); }