| #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 | |