|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 9216 (0x2400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Xlbt_Arithmetic, seg_004f99
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Text_Io;
with Unchecked_Deallocation;
with Xlbmt_Numeric_Types;
package body Xlbt_Arithmetic is
------------------------------------------------------------------------------
-- X Library Arithmetic Types
--
-- Xlbt_Arithmetic - Differing sizes of arithmetic types and types constructed
-- from arithmetic types, e.g. arrays.
------------------------------------------------------------------------------
-- Copyright 1989 - 1991 by Rational, Santa Clara, California.
--
-- All Rights Reserved.
--
-- Permission to use, copy, modify, and distribute this software and its
-- documentation for any purpose and without fee is hereby granted,
-- provided that the above copyright notice(s) appear in all copies and that
-- both that copyright notice(s) and this permission notice appear in
-- supporting documentation, and that the name of Rational not be used in
-- advertising or publicity pertaining to distribution of the software
-- without specific, written prior permission.
--
-- Rational disclaims all warranties with regard to this software, including
-- all implied warranties of merchantability and fitness, in no event shall
-- Rational be liable for any special, indirect or consequential damages or
-- any damages whatsoever resulting from loss of use, data or profits, whether
-- in an action of contract, negligence or other tortious action, arising out
-- of or in connection with the use or performance of this software.
------------------------------------------------------------------------------
--\x0c
------------------------------------------------------------------------------
-- Perform bit operations on S_Long values.
------------------------------------------------------------------------------
--/ if TeleGen2_Derive_Bug then
--//
--// function And_32 (A : S_Long; B : S_Long)
--// return S_Long;
--// pragma Interface (Assembly, And_32);
--// pragma Linkname (And_32, "_Xlbmt_And_32");
--//
--// function Or_32 (A : S_Long; B : S_Long)
--// return S_Long;
--// pragma Interface (Assembly, Or_32);
--// pragma Linkname (Or_32, "_Xlbmt_Or_32");
--//
--// function Xor_32 (A : S_Long; B : S_Long)
--// return S_Long;
--// pragma Interface (Assembly, Xor_32);
--// pragma Linkname (Xor_32, "_Xlbmt_Xor_32");
--//
--// function Not_32 (A : S_Long) return S_Long;
--// pragma Interface (Assembly, Not_32);
--// pragma Linkname (Not_32, "_Xlbmt_Not_32");
--//
--// function Shift_32 (A : S_Long; B : Integer)
--// return S_Long;
--// pragma Interface (Assembly, Shift_32);
--// pragma Linkname (Shift_32, "_Xlbmt_Shift_32");
--//
--// function "and" (A : S_Long;
--// B : S_Long) return S_Long is
--// begin
--// return And_32 (A, B);
--// end "and";
--//
--// function "or" (A : S_Long;
--// B : S_Long) return S_Long is
--// begin
--// return Or_32 (A, B);
--// end "or";
--//
--// function "xor" (A : S_Long;
--// B : S_Long) return S_Long is
--// begin
--// return Xor_32 (A, B);
--// end "xor";
--//
--// function "not" (A : S_Long) return S_Long is
--// begin
--// return Not_32 (A);
--//
--// end "not";
--//
--// function Shift (A : S_Long;
--// B : Integer) return S_Long is
--// begin
--// return Shift_32 (A, B);
--// end Shift;
--//
--/ end if;
--\x0c
------------------------------------------------------------------------------
-- Perform bit operations on U_Short values.
------------------------------------------------------------------------------
--/ if TeleGen2_Derive_Bug then
--//
--// function And_16 (A : U_Short; B : U_Short)
--// return U_Short;
--// pragma Interface (Assembly, And_16);
--// pragma Linkname (And_16, "_Xlbmt_And_16");
--//
--// function Or_16 (A : U_Short; B : U_Short)
--// return U_Short;
--// pragma Interface (Assembly, Or_16);
--// pragma Linkname (Or_16, "_Xlbmt_Or_16");
--//
--// function Xor_16 (A : U_Short; B : U_Short)
--// return U_Short;
--// pragma Interface (Assembly, Xor_16);
--// pragma Linkname (Xor_16, "_Xlbmt_Xor_16");
--//
--// function Not_16 (A : U_Short) return U_Short;
--// pragma Interface (Assembly, Not_16);
--// pragma Linkname (Not_16, "_Xlbmt_Not_16");
--//
--// function Shift_16 (A : U_Short; B : Integer)
--// return U_Short;
--// pragma Interface (Assembly, Shift_16);
--// pragma Linkname (Shift_16, "_Xlbmt_Shift_16");
--//
--// function "and" (A : U_Short;
--// B : U_Short) return U_Short is
--// begin
--// return And_16 (A, B);
--// end "and";
--//
--// function "or" (A : U_Short;
--// B : U_Short) return U_Short is
--// begin
--// return Or_16 (A, B);
--// end "or";
--//
--// function "xor" (A : U_Short;
--// B : U_Short) return U_Short is
--// begin
--// return Xor_16 (A, B);
--// end "xor";
--//
--// function "not" (A : U_Short) return U_Short is
--// begin
--// return Not_16 (A);
--//
--// end "not";
--//
--// function Shift (A : U_Short;
--// B : Integer) return U_Short is
--// begin
--// return Shift_16 (A, B);
--// end Shift;
--//
--/ end if;
--\x0c
------------------------------------------------------------------------------
-- Perform bit operations on U_Char values.
------------------------------------------------------------------------------
--/ if TeleGen2_Derive_Bug then
--//
--// function And_8 (A : U_Char; B : U_Char)
--// return U_Char;
--// pragma Interface (Assembly, And_8);
--// pragma Linkname (And_8, "_Xlbmt_And_8");
--//
--// function Or_8 (A : U_Char; B : U_Char)
--// return U_Char;
--// pragma Interface (Assembly, Or_8);
--// pragma Linkname (Or_8, "_Xlbmt_Or_8");
--//
--// function Xor_8 (A : U_Char; B : U_Char)
--// return U_Char;
--// pragma Interface (Assembly, Xor_8);
--// pragma Linkname (Xor_8, "_Xlbmt_Xor_8");
--//
--// function Not_8 (A : U_Char) return U_Char;
--// pragma Interface (Assembly, Not_8);
--// pragma Linkname (Not_8, "_Xlbmt_Not_8");
--//
--// function Shift_8 (A : U_Char; B : Integer)
--// return U_Char;
--// pragma Interface (Assembly, Shift_8);
--// pragma Linkname (Shift_8, "_Xlbmt_Shift_8");
--//
--// function "and" (A : U_Char;
--// B : U_Char) return U_Char is
--// begin
--// return And_8 (A, B);
--// end "and";
--//
--// function "or" (A : U_Char;
--// B : U_Char) return U_Char is
--// begin
--// return Or_8 (A, B);
--// end "or";
--//
--// function "xor" (A : U_Char;
--// B : U_Char) return U_Char is
--// begin
--// return Xor_8 (A, B);
--// end "xor";
--//
--// function "not" (A : U_Char) return U_Char is
--// begin
--// return Not_8 (A);
--//
--// end "not";
--//
--// function Shift (A : U_Char;
--// B : Integer) return U_Char is
--// begin
--// return Shift_8 (A, B);
--// end Shift;
--//
--/ end if;
--\x0c
end Xlbt_Arithmetic;
nblk1=8
nid=0
hdr6=10
[0x00] rec0=18 rec1=00 rec2=01 rec3=018
[0x01] rec0=14 rec1=00 rec2=02 rec3=028
[0x02] rec0=1b rec1=00 rec2=03 rec3=026
[0x03] rec0=22 rec1=00 rec2=04 rec3=034
[0x04] rec0=19 rec1=00 rec2=05 rec3=008
[0x05] rec0=23 rec1=00 rec2=06 rec3=01c
[0x06] rec0=1a rec1=00 rec2=07 rec3=040
[0x07] rec0=22 rec1=00 rec2=08 rec3=001
tail 0x2170070c0819783be3a10 0x42a00088462063203