private int InternalCallback(global::System.IntPtr netPtr, global::System.IntPtr dataPtr, uint max_epochs, uint epochs_between_reports, float desired_error, uint epochs, global::System.IntPtr user_data)
{
NeuralNet callbackNet = new NeuralNet(new neural_net(netPtr, false));
TrainingData callbackData = new TrainingData(new training_data(dataPtr, false));
GCHandle handle = (GCHandle)user_data;
return Callback(callbackNet, callbackData, max_epochs, epochs_between_reports, desired_error, epochs, handle.Target as Object);
}