} // GetIntMatrixFromPtr(pointer, nRows, nCols) /// <summary> /// Get int matrix from ptr /// </summary> internal static int[][] GetIntMatrixFromPtrLA(IntPtr pointer, int nRows, int nCols) { IntPtr[] rawRows = new IntPtr[nRows]; int[][] oResult = new int[nRows][]; Marshal.Copy(pointer, rawRows, 0, nRows); for (int i = 0; i < nRows; i++) { oResult[i] = new int[nCols]; Marshal.Copy(rawRows[i], oResult[i], 0, nCols); } // for (int) LA.FreeMatrix(pointer, nRows); return(oResult); } // GetIntMatrixFromPtr(pointer, nRows, nCols)
} // GetStringArrayFromPtr(pointer, nLength) /// <summary> /// Get string array from ptr /// </summary> internal static string[] GetStringArrayFromPtrLA(IntPtr pointer, int nLength) { IntPtr[] rawRows = new IntPtr[nLength]; string[] oResult = new string[nLength]; Marshal.Copy(pointer, rawRows, 0, nLength); for (int i = 0; i < nLength; i++) { oResult[i] = Marshal.PtrToStringAnsi(rawRows[i]); } // for (int) LA.FreeMatrix(pointer, nLength); return(oResult); } // GetStringArrayFromPtrLA(pointer, nLength)