home *** CD-ROM | disk | FTP | other *** search
- -- $Source: /home/harp/1/proto/monoBANK/winnt/win32-largeint.adb,v $
- -- $Revision: 1.6 $ $Date: 95/11/29 11:01:30 $ $Author: mg $
- -------------------------------------------------------------------------------
- --
- -- THIS FILE AND ANY ASSOCIATED DOCUMENTATION IS FURNISHED "AS IS" WITHOUT
- -- WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
- -- TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
- -- PURPOSE. The user assumes the entire risk as to the accuracy and the
- -- use of this file.
- --
- -- Copyright (c) Intermetrics, Inc. 1995
- -- Royalty-free, unlimited, worldwide, non-exclusive use, modification,
- -- reproduction and further distribution of this file is permitted.
- --
- -------------------------------------------------------------------------------
-
-
- with Interfaces;
-
- package body Win32.Largeint is
-
- use type Interfaces.Integer_64;
-
- function ">"(X, Y: Win32.Winnt.LARGE_INTEGER) return Boolean is
- begin
- return X.QuadPart > Y.QuadPart;
- end;
-
- function ">="(X, Y: Win32.Winnt.LARGE_INTEGER) return Boolean is
- begin
- return X.QuadPart >= Y.QuadPart;
- end;
-
- function "="(X, Y: Win32.Winnt.LARGE_INTEGER) return Boolean is
- begin
- return X.QuadPart = Y.QuadPart;
- end;
-
- function "<"(X, Y: Win32.Winnt.LARGE_INTEGER) return Boolean is
- begin
- return X.QuadPart < Y.QuadPart;
- end;
-
- function "<="(X, Y: Win32.Winnt.LARGE_INTEGER) return Boolean is
- begin
- return X.QuadPart <= Y.QuadPart;
- end;
-
- function GreaterThanZero (X: Win32.Winnt.LARGE_INTEGER) return Boolean is
- begin
- return X.QuadPart > 0;
- end;
-
- function GreaterThanOrEqualToZero (X: Win32.Winnt.LARGE_INTEGER)
- return Boolean is
- begin
- return X.QuadPart >= 0;
- end;
-
- function EqualToZero (X: Win32.Winnt.LARGE_INTEGER) return Boolean is
- begin
- return X.QuadPart = 0;
- end;
-
- function LessThanZero (X: Win32.Winnt.LARGE_INTEGER) return Boolean is
- begin
- return X.QuadPart < 0;
- end;
-
- function LessThanOrEqualToZero (X: Win32.Winnt.LARGE_INTEGER)
- return Boolean is
- begin
- return X.QuadPart <= 0;
- end;
-
- function LargeIntegerAnd
- (Source: in Win32.Winnt.LARGE_INTEGER;
- Mask : in Win32.Winnt.LARGE_INTEGER)
- return Win32.Winnt.LARGE_INTEGER is
-
- Result: Win32.Winnt.LARGE_INTEGER;
- use type Interfaces.Unsigned_64;
- begin
- Result.QuadPart := Win32.LONGLONG(
- Interfaces.Unsigned_64(Source.QuadPart) and
- Interfaces.Unsigned_64(Mask.QuadPart));
- return Result;
- end LargeIntegerAnd;
-
- end Win32.Largeint;
-