LARGE_INTEGER WINAPI EnlargedIntegerMultiply (LONG l1, LONG l2) { LARGE_INTEGER retVal; retVal.QuadPart = _toi(l1) * _toi(l2); return retVal; }
ULONG WINAPI EnlargedUnsignedDivide (ULARGE_INTEGER i1, ULONG i2, PULONG remainder) { if (remainder) *remainder = (ULONG) (i1.QuadPart % _toi(i2)); return ((ULONG) (i1.QuadPart / _toi(i2))); }
/** * mono_gc_memmove_atomic: * @dest: destination of the move * @src: source * @size: size of the block to move * * Move @size bytes from @src to @dest. * * Use this to copy memory without word tearing when both pointers are aligned */ void mono_gc_memmove_atomic (void *dest, const void *src, size_t size) { if (unaligned_bytes (_toi (dest) | _toi (src))) memmove (dest, src, size); else mono_gc_memmove_aligned (dest, src, size); }
LARGE_INTEGER WINAPI ExtendedLargeIntegerDivide (LARGE_INTEGER i1, ULONG i2, PULONG remainder) { LARGE_INTEGER retVal; if (remainder) *remainder = (ULONG) (i1.QuadPart % _toi(i2)); retVal.QuadPart = i1.QuadPart / _toi(i2); return retVal; }
LARGE_INTEGER WINAPI EnlargedUnsignedMultiply (ULONG ul1, ULONG ul2) { LARGE_INTEGER retVal; retVal.QuadPart = _toi(_toui(ul1) * _toui(ul2)); return retVal; }
LARGE_INTEGER WINAPI ConvertUlongToLargeInteger (ULONG ul) { LARGE_INTEGER retVal; retVal.QuadPart = _toi(_toui(ul)); return retVal; }
LARGE_INTEGER WINAPI ExtendedIntegerMultiply (LARGE_INTEGER i, LONG l) { LARGE_INTEGER retVal; retVal.QuadPart = i.QuadPart * _toi(l); return retVal; }