|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 3161 (0xc59) Types: TextFile Names: »B«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2 └─ ⟦77aa8350c⟧ »DATA« └─⟦f794ecd1d⟧ └─⟦24d1ddd49⟧ └─⟦this⟧
-- The use of this system is subject to the software license terms and -- conditions agreed upon between Rational and the Customer. -- -- Copyright 1988 by Rational. -- -- RESTRICTED RIGHTS LEGEND -- -- Use, duplication, or disclosure by the Government is subject to -- restrictions as set forth in subdivision (b)(3)(ii) of the Rights in -- Technical Data and Computer Software clause at 52.227-7013. -- -- -- Rational -- 3320 Scott Boulevard -- Santa Clara, California 95054-3197 -- -- PROPRIETARY AND CONFIDENTIAL INFORMATION OF RATIONAL; -- USE OR COPYING WITHOUT EXPRESS WRITTEN AUTHORIZATION -- IS STRICTLY PROHIBITED. THIS MATERIAL IS PROTECTED AS -- AN UNPUBLISHED WORK UNDER THE U.S. COPYRIGHT ACT OF -- 1976. CREATED 1988. ALL RIGHTS RESERVED. -- -- with Attribute_Definitions; with Runtime_Ids; procedure Integer_Image (Value : Integer; String_Result : out Attribute_Definitions.Short_String; String_Descriptor : out Attribute_Definitions.String_Descriptor) is pragma Routine_Number (Runtime_Ids.Int_Image); -- Fills the String_Result and String_Descriptor with the image. The -- area pointed to by String_Result must be large enough to hold the -- image of the largest integer size in Standard. There is only one -- Integer_Image routine no matter how many integer types are -- available in Standard. pragma Suppress (Index_Check); pragma Suppress (Range_Check); pragma Suppress (Access_Check); pragma Suppress (Storage_Check); Max_Image_Length : constant := 21; -- For up to 64-bits Local_Image : String (1 .. Max_Image_Length); Image_Length : Natural; Sign : Character; V : Integer := Value; I : Natural := Max_Image_Length; K : Natural := 1; Zero : constant := Character'Pos ('0'); begin -- First digit is different so as not to overflow if number is < 0. if V >= 0 then Sign := ' '; Local_Image (I) := Character'Val ((V mod 10) + Zero); else Sign := '-'; Local_Image (I) := Character'Val (((V / 10) * 10 - V) + Zero); end if; V := abs (V / 10); I := I - 1; while V /= 0 loop Local_Image (I) := Character'Val ((V mod 10) + Zero); V := V / 10; I := I - 1; end loop; -- Now have digits in Local_Image(I + 1 .. Max_Image_Length) Local_Image (I) := Sign; Image_Length := Max_Image_Length - I + 1; for J in I .. Max_Image_Length loop String_Result (K) := Local_Image (J); K := K + 1; end loop; String_Descriptor := (Lower => 1, Upper | Size => Image_Length); end Integer_Image; pragma Export_Procedure (Internal => Integer_Image, External => "__INT_IMAGE"); pragma Runtime_Unit (Unit_Number => Runtime_Ids.Runtime_Compunit, Elab_Routine_Number => Runtime_Ids.Internal);