protected void FreeMemory()
{
if (ScratchPadPtr != null)
{
#if USE_ARRAY_BYTES
ScratchPad = null;
FrameBuffer = null;
Main = null;
Vectors = null;
LogMain = null;
ScratchPadHandle.Free();
FrameBufferHandle.Free();
MainHandle.Free();
VectorsHandle.Free();
LogMainHandle.Free();
#else
Marshal.FreeHGlobal(new IntPtr(ScratchPadPtr));
Marshal.FreeHGlobal(new IntPtr(FrameBufferPtr));
Marshal.FreeHGlobal(new IntPtr(MainPtr));
Marshal.FreeHGlobal(new IntPtr(LogMainPtr));
#endif
ScratchPadPtr = null;
FrameBufferPtr = null;
MainPtr = null;
VectorsPtr = null;
LogMainPtr = null;
}
}