private void InternalCallback(uint number, uint inputCount, uint outputCount, global::System.IntPtr inputs, global::System.IntPtr outputs)
{
double[] callbackInput = new double[inputCount];
double[] callbackOutput = new double[outputCount];
Callback(number, inputCount, outputCount, callbackInput, callbackOutput);
using (doubleArray inputArray = new doubleArray(inputs, false))
using (doubleArray outputArray = new doubleArray(outputs, false))
{
for (int i = 0; i < inputCount; i++)
{
inputArray.setitem(i, callbackInput[i]);
}
for (int i = 0; i < outputCount; i++)
{
outputArray.setitem(i, callbackOutput[i]);
}
}
}