DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦816abdcf6⟧ TextFile

    Length: 7518 (0x1d5e)
    Types: TextFile
    Names: »B«

Derivation

└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00
    └─ ⟦0c20f784e⟧ »DATA« 
        └─⟦1abbe589f⟧ 
            └─⟦059497ac5⟧ 
                └─⟦this⟧ 

TextFile

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

--\f

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

--\f

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

--\f

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

--\f

end Xlbt_Arithmetic;