Truncates the specified double.
namespace Deppton.Mobile.Gps { using System; public static class Utils { /// <summary> /// Truncates the specified double. /// </summary> /// <param name="value">The double to truncate.</param> /// <returns>The truncated double.</returns> public static double Truncate(this double value) { if (value >= 0) { return Math.Floor(value); } else { return Math.Ceiling(value); } } public static IntPtr LocalAlloc(int byteCount) { IntPtr ptr = Win32.LocalAlloc(Win32.LMEM_ZEROINIT, byteCount); if (ptr == IntPtr.Zero) { throw new OutOfMemoryException(); } return ptr; } public static void LocalFree(IntPtr hMem) { IntPtr ptr = Win32.LocalFree(hMem); if (ptr != IntPtr.Zero) { throw new ArgumentException(); } } } public class Win32 { public const int LMEM_ZEROINIT = 0x40; [System.Runtime.InteropServices.DllImport("coredll.dll", EntryPoint = "#33", SetLastError = true)] public static extern IntPtr LocalAlloc(int flags, int byteCount); [System.Runtime.InteropServices.DllImport("coredll.dll", EntryPoint = "#36", SetLastError = true)] public static extern IntPtr LocalFree(IntPtr hMem); } }