|  | #if 0 | 
|  | /* | 
|  | largeint.c | 
|  |  | 
|  | Large (64 bits) integer arithmetics library | 
|  |  | 
|  | Written by Anders Norlander <anorland@hem2.passagen.se> | 
|  |  | 
|  | This file is part of a free library for the Win32 API. | 
|  |  | 
|  | This library is distributed in the hope that it will be useful, | 
|  | but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 
|  |  | 
|  | */ | 
|  |  | 
|  | #define __COMPILING_LARGEINT | 
|  |  | 
|  | #include <largeint.h> | 
|  |  | 
|  | __int64 WINAPI | 
|  | LargeIntegerAdd (__int64 i1, __int64 i2) | 
|  | { | 
|  | return i1 + i2; | 
|  | } | 
|  |  | 
|  | __int64 WINAPI | 
|  | LargeIntegerSubtract (__int64 i1, __int64 i2) | 
|  | { | 
|  | return i1 - i2; | 
|  | } | 
|  |  | 
|  | __int64 WINAPI | 
|  | LargeIntegerArithmeticShift (__int64 i, int n) | 
|  | { | 
|  | return i >> n; | 
|  | } | 
|  |  | 
|  | __int64 WINAPI | 
|  | LargeIntegerShiftLeft (__int64 i, int n) | 
|  | { | 
|  | return i << n; | 
|  | } | 
|  |  | 
|  | __int64 WINAPI | 
|  | LargeIntegerShiftRight (__int64 i, int n) | 
|  | { | 
|  | return i >> n; | 
|  | } | 
|  |  | 
|  | __int64 WINAPI | 
|  | LargeIntegerNegate (__int64 i) | 
|  | { | 
|  | return -i; | 
|  | } | 
|  |  | 
|  | __int64 WINAPI | 
|  | ConvertLongToLargeInteger (LONG l) | 
|  | { | 
|  | return (__int64) l; | 
|  | } | 
|  |  | 
|  | __int64 WINAPI | 
|  | ConvertUlongToLargeInteger (ULONG ul) | 
|  | { | 
|  | return _toi(_toui(ul)); | 
|  | } | 
|  |  | 
|  | __int64 WINAPI | 
|  | EnlargedIntegerMultiply (LONG l1, LONG l2) | 
|  | { | 
|  | return _toi(l1) * _toi(l2); | 
|  | } | 
|  |  | 
|  | __int64 WINAPI | 
|  | EnlargedUnsignedMultiply (ULONG ul1, ULONG ul2) | 
|  | { | 
|  | return _toi(_toui(ul1) * _toui(ul2)); | 
|  | } | 
|  |  | 
|  | __int64 WINAPI | 
|  | ExtendedIntegerMultiply (__int64 i, LONG l) | 
|  | { | 
|  | return i * _toi(l); | 
|  | } | 
|  |  | 
|  | __int64 WINAPI | 
|  | LargeIntegerMultiply (__int64 i1, __int64 i2) | 
|  | { | 
|  | return i1 * i2; | 
|  | } | 
|  |  | 
|  | __int64 WINAPI LargeIntegerDivide (__int64 i1, __int64 i2, __int64 *remainder) | 
|  | { | 
|  | if (remainder) | 
|  | *remainder = i1 % i2; | 
|  | return i1 / i2; | 
|  | } | 
|  |  | 
|  | ULONG WINAPI | 
|  | EnlargedUnsignedDivide (unsigned __int64 i1, ULONG i2, PULONG remainder) | 
|  | { | 
|  | if (remainder) | 
|  | *remainder = i1 % _toi(i2); | 
|  | return i1 / _toi(i2); | 
|  | } | 
|  | __int64 WINAPI | 
|  | ExtendedLargeIntegerDivide (__int64 i1, ULONG i2, PULONG remainder) | 
|  | { | 
|  | if (remainder) | 
|  | *remainder = i1 % _toi(i2); | 
|  | return i1 / _toi(i2); | 
|  | } | 
|  |  | 
|  | /* FIXME: what is this function supposed to do? */ | 
|  | __int64 WINAPI ExtendedMagicDivide (__int64 i1, __int64 i2, int n) | 
|  | { | 
|  | return 0; | 
|  | } | 
|  | #endif | 
|  |  |