public void CloneFlatNetwork(FlatNetwork result)
{
result._inputCount = _inputCount;
result._layerCounts = EngineArray.ArrayCopy(_layerCounts);
result._layerIndex = EngineArray.ArrayCopy(_layerIndex);
result._layerOutput = EngineArray.ArrayCopy(_layerOutput);
result._layerSums = EngineArray.ArrayCopy(_layerSums);
result._layerFeedCounts = EngineArray.ArrayCopy(_layerFeedCounts);
result._contextTargetOffset = EngineArray
.ArrayCopy(_contextTargetOffset);
result._contextTargetSize = EngineArray
.ArrayCopy(_contextTargetSize);
result._layerContextCount = EngineArray
.ArrayCopy(_layerContextCount);
result._biasActivation = EngineArray.ArrayCopy(_biasActivation);
result._outputCount = _outputCount;
result._weightIndex = _weightIndex;
result._weights = _weights;
result._activationFunctions = new IActivationFunction[_activationFunctions.Length];
for (int i = 0; i < result._activationFunctions.Length; i++)
{
result._activationFunctions[i] = (IActivationFunction) _activationFunctions[i].Clone();
}
result._beginTraining = _beginTraining;
result._endTraining = _endTraining;
}