DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦241d0eff7⟧ Ada Source

    Length: 11264 (0x2c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Mc68881, seg_021fcd

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



--      Copyright (c) 1990 Meridian Software Systems, Inc.      --
with Mac_Types;
use Mac_Types;
package Mc68881 is

    Inexact : constant := 8;
    Divbyzero : constant := 16;
    Underflow : constant := 32;
    Overflow : constant := 64;
    Invalid : constant := 128;
    Curinex1 : constant := 256;
    Curinex2 : constant := 512;
    Curdivbyzero : constant := 1024;
    Curunderflow : constant := 2048;
    Curoverflow : constant := 4096;
    Curoperror : constant := 8192;
    Cursignan : constant := 16384;
    Curbsonunor : constant := 32768;

    Decstrlen : constant := 255;
    Sigdiglen : constant := 20;

    type Relop is (Greaterthan, Lessthan, Equalto, Unordered);

    type Numclass is (Snan, Qnan, Infinite, Zeronum, Normalnum, Denormalnum);

    type Rounddir is (Tonearest, Upward, Downward, Towardzero);

    type Roundpre is (Extprecision, Dblprecision, Realprecision);

    type Decimalkind is (Floatdecimal, Fixeddecimal);

    subtype Macexception is Longint;

    type Environment is
        record
            Fpcr : Longint;
            Fpsr : Longint;
        end record;

    type Extended is array (0 .. 5) of Mac_Types.Integer;
    type Extended80 is array (0 .. 4) of Mac_Types.Integer;

    type Trapvector is
        record
            Unordered : Longint;
            Inexact : Longint;
            Divbyzero : Longint;
            Underflow : Longint;
            Operror : Longint;
            Overflow : Longint;
            Signan : Longint;
        end record;

    type Decstr is array (0 .. Decstrlen) of Character;

    type Decform is
        record
            Style : Decimalkind;
            Dfdigits : Mac_Types.Integer;
        end record;

    type Range0_1 is range 0 .. 1;
    type Array0_Sigdiglencharacter is array (0 .. Sigdiglen) of Character;
    type Decimal is
        record
            Sgn : Range0_1;
            Exp : Mac_Types.Integer;
            Sig : Array0_Sigdiglencharacter;
        end record;

    type Cstrptr is access Char;

    type Mischaltinfo is
        record
            Haltexceptions : Mac_Types.Integer;
            Pendingccr : Mac_Types.Integer;
            Pendingd0 : Longint;
        end record;

    function Ieeedefaultenv return Environment;
    pragma Interface (Mpwpascal, Ieeedefaultenv, "IEEEDEFAULTENV");

    procedure Settrapvector (Traps : Trapvector);
    pragma Interface (Mpwpascal, Settrapvector, "SETTRAPVECTOR");

    procedure Gettrapvector (Traps : in out Trapvector);
    pragma Interface (Mpwpascal, Gettrapvector, "GETTRAPVECTOR");

    function X96tox80 (X : Extended) return Extended80;
    pragma Interface (Mpwpascal, X96tox80, "X96TOX80");

    function X80tox96 (X : Extended80) return Extended;
    pragma Interface (Mpwpascal, X80tox96, "X80TOX96");

    function Sin (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Sin, "SIN");

    function Cos (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Cos, "COS");

    function Arctan (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Arctan, "ARCTAN");

    function Exp (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Exp, "EXP");

    function Ln (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Ln, "LN");

    function Log2 (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Log2, "LOG2");

    function Ln1 (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Ln1, "LN1");

    function Exp2 (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Exp2, "EXP2");

    function Exp1 (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Exp1, "EXP1");

    function Tan (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Tan, "TAN");

    function Num2integer (X : Extended) return Mac_Types.Integer;
    pragma Interface (Mpwpascal, Num2integer, "NUM2INTEGER");

    function Num2longint (X : Extended) return Longint;
    pragma Interface (Mpwpascal, Num2longint, "NUM2LONGINT");

    function Num2real (X : Extended) return Real;
    pragma Interface (Mpwpascal, Num2real, "NUM2REAL");

    function Num2double (X : Extended) return Double;
    pragma Interface (Mpwpascal, Num2double, "NUM2DOUBLE");

    function Num2extended (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Num2extended, "NUM2EXTENDED");

    function Num2comp (X : Extended) return Comp;
    pragma Interface (Mpwpascal, Num2comp, "NUM2COMP");

    procedure Num2dec (F : Decform; X : Extended; D : in out Decimal);
    pragma Interface (Mpwpascal, Num2dec, "NUM2DEC");

    function Dec2num (D : Decimal) return Extended;
    pragma Interface (Mpwpascal, Dec2num, "DEC2NUM");

    procedure Num2str (F : Decform; X : Extended; S : in out Decstr);
    pragma Interface (Mpwpascal, Num2str, "NUM2STR");

    function Str2num (S : Decstr) return Extended;
    pragma Interface (Mpwpascal, Str2num, "STR2NUM");

    procedure Str2dec (S : Decstr;
                       Index : in out Mac_Types.Integer;
                       D : in out Decimal;
                       Validprefix : in out Boolean);
    pragma Interface (Mpwpascal, Str2dec, "STR2DEC");

    procedure Cstr2dec (S : Cstrptr;
                        Index : in out Mac_Types.Integer;
                        D : in out Decimal;
                        Validprefix : in out Boolean);
    pragma Interface (Mpwpascal, Cstr2dec, "CSTR2DEC");

    procedure Dec2str (F : Decform; D : Decimal; S : in out Decstr);
    pragma Interface (Mpwpascal, Dec2str, "DEC2STR");

    function Remainder
                (X : Extended; Y : Extended; Quo : Varinteger) return Extended;
    pragma Interface (Mpwpascal, Remainder, "REMAINDER");

    function Rint (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Rint, "RINT");

    function Scalb (N : Mac_Types.Integer; X : Extended) return Extended;
    pragma Interface (Mpwpascal, Scalb, "SCALB");

    function Logb (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Logb, "LOGB");

    function Copysign (X : Extended; Y : Extended) return Extended;
    pragma Interface (Mpwpascal, Copysign, "COPYSIGN");

    function Nextreal (X : Real; Y : Real) return Real;
    pragma Interface (Mpwpascal, Nextreal, "NEXTREAL");

    function Nextdouble (X : Double; Y : Double) return Double;
    pragma Interface (Mpwpascal, Nextdouble, "NEXTDOUBLE");

    function Nextextended (X : Extended; Y : Extended) return Extended;
    pragma Interface (Mpwpascal, Nextextended, "NEXTEXTENDED");

    function Xpwri (X : Extended; I : Mac_Types.Integer) return Extended;
    pragma Interface (Mpwpascal, Xpwri, "XPWRI");

    function Xpwry (X : Extended; Y : Extended) return Extended;
    pragma Interface (Mpwpascal, Xpwry, "XPWRY");

    function Compound (R : Extended; N : Extended) return Extended;
    pragma Interface (Mpwpascal, Compound, "COMPOUND");

    function Annuity (R : Extended; N : Extended) return Extended;
    pragma Interface (Mpwpascal, Annuity, "ANNUITY");

    function Randomx (X : Extended) return Extended;
    pragma Interface (Mpwpascal, Randomx, "RANDOMX");

    function Classreal (X : Real) return Numclass;
    pragma Interface (Mpwpascal, Classreal, "CLASSREAL");

    function Classdouble (X : Double) return Numclass;
    pragma Interface (Mpwpascal, Classdouble, "CLASSDOUBLE");

    function Classcomp (X : Comp) return Numclass;
    pragma Interface (Mpwpascal, Classcomp, "CLASSCOMP");

    function Classextended (X : Extended) return Numclass;
    pragma Interface (Mpwpascal, Classextended, "CLASSEXTENDED");

    function Signnum (X : Extended) return Mac_Types.Integer;
    pragma Interface (Mpwpascal, Signnum, "SIGNNUM");

    function Nan (I : Mac_Types.Integer) return Extended;
    pragma Interface (Mpwpascal, Nan, "NAN");

    procedure Setexception (E : Macexception; B : Boolean);
    pragma Interface (Mpwpascal, Setexception, "SETEXCEPTION");

    function Testexception (E : Macexception) return Boolean;
    pragma Interface (Mpwpascal, Testexception, "TESTEXCEPTION");

    procedure Sethalt (E : Macexception; B : Boolean);
    pragma Interface (Mpwpascal, Sethalt, "SETHALT");

    function Testhalt (E : Macexception) return Boolean;
    pragma Interface (Mpwpascal, Testhalt, "TESTHALT");

    procedure Setround (R : Rounddir);
    pragma Interface (Mpwpascal, Setround, "SETROUND");

    function Getround return Rounddir;
    pragma Interface (Mpwpascal, Getround, "GETROUND");

    procedure Setprecision (P : Roundpre);
    pragma Interface (Mpwpascal, Setprecision, "SETPRECISION");

    function Getprecision return Roundpre;
    pragma Interface (Mpwpascal, Getprecision, "GETPRECISION");

    procedure Setenvironment (E : Environment);
    pragma Interface (Mpwpascal, Setenvironment, "SETENVIRONMENT");

    procedure Getenvironment (E : in out Environment);
    pragma Interface (Mpwpascal, Getenvironment, "GETENVIRONMENT");

    procedure Procentry (E : in out Environment);
    pragma Interface (Mpwpascal, Procentry, "PROCENTRY");

    procedure Procexit (E : Environment);
    pragma Interface (Mpwpascal, Procexit, "PROCEXIT");

    function Relation (X : Extended; Y : Extended) return Relop;
    pragma Interface (Mpwpascal, Relation, "RELATION");

end Mc68881;

E3 Meta Data

    nblk1=a
    nid=0
    hdr6=14
        [0x00] rec0=21 rec1=00 rec2=01 rec3=000
        [0x01] rec0=24 rec1=00 rec2=02 rec3=03e
        [0x02] rec0=1d rec1=00 rec2=03 rec3=044
        [0x03] rec0=1d rec1=00 rec2=04 rec3=082
        [0x04] rec0=19 rec1=00 rec2=05 rec3=040
        [0x05] rec0=19 rec1=00 rec2=06 rec3=00e
        [0x06] rec0=18 rec1=00 rec2=07 rec3=01a
        [0x07] rec0=18 rec1=00 rec2=08 rec3=064
        [0x08] rec0=1b rec1=00 rec2=09 rec3=040
        [0x09] rec0=12 rec1=00 rec2=0a rec3=000
    tail 0x2151d44b483906df9fb49 0x42a00088462060003