[BACK]Return to multprec_integer_numbers_io.adb CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Numbers

Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Numbers/multprec_integer_numbers_io.adb, Revision 1.1

1.1     ! maekawa     1: with integer_io;                         use integer_io;
        !             2: with Characters_and_Numbers;             use Characters_and_Numbers;
        !             3: with Multprec_Natural_Numbers;           use Multprec_Natural_Numbers;
        !             4: with Multprec_Natural_Numbers_io;        use Multprec_Natural_Numbers_io;
        !             5:
        !             6: package body Multprec_Integer_Numbers_io is
        !             7:
        !             8:   procedure get ( lc : in out character; i : in out Integer_Number ) is
        !             9:   begin
        !            10:     get(Standard_Input,lc,i);
        !            11:   end get;
        !            12:
        !            13:   procedure get ( file : in file_type;
        !            14:                   lc : in out character;  i : in out Integer_Number ) is
        !            15:
        !            16:     n : Natural_Number;
        !            17:     plus : boolean;
        !            18:
        !            19:   begin
        !            20:     if lc = ' '
        !            21:      then Skip_Spaces(file,lc);
        !            22:     end if;
        !            23:     if lc = '+'
        !            24:      then plus := true;
        !            25:           get(file,lc);
        !            26:      elsif lc = '-'
        !            27:          then plus := false;
        !            28:               get(file,lc);
        !            29:          else plus := true;
        !            30:     end if;
        !            31:     get(file,lc,n);
        !            32:     Clear(i);
        !            33:     i := Create(n);
        !            34:     if not plus
        !            35:      then Min(i);
        !            36:     end if;
        !            37:   end get;
        !            38:
        !            39:   procedure get ( i : in out Integer_Number ) is
        !            40:   begin
        !            41:     get(Standard_Input,i);
        !            42:   end get;
        !            43:
        !            44:   procedure get ( file : in file_type; i : in out Integer_Number ) is
        !            45:
        !            46:     c : character := ' ';
        !            47:
        !            48:   begin
        !            49:     Skip_Spaces(file,c);
        !            50:     get(file,c,i);
        !            51:   end get;
        !            52:
        !            53:   procedure put ( i : in Integer_Number ) is
        !            54:   begin
        !            55:     put(Standard_Output,i);
        !            56:   end put;
        !            57:
        !            58:   procedure put ( file : in file_type; i : in Integer_Number ) is
        !            59:   begin
        !            60:     if Empty(i)
        !            61:      then put(file,"0");
        !            62:      else if Negative(i)
        !            63:            then put(file,"-");
        !            64:           end if;
        !            65:           put(file,Unsigned(i));
        !            66:     end if;
        !            67:   end put;
        !            68:
        !            69:   procedure put ( i : in Integer_Number; dp : in natural ) is
        !            70:   begin
        !            71:     put(Standard_Output,i,dp);
        !            72:   end put;
        !            73:
        !            74:   procedure put ( file : in file_type;
        !            75:                   i : in Integer_Number; dp : in natural ) is
        !            76:   begin
        !            77:     if Empty(i)
        !            78:      then for k in 1..dp-1 loop
        !            79:             put(file," ");
        !            80:           end loop;
        !            81:           put(file,"0");
        !            82:      else if Negative(i)
        !            83:            then for k in 1..dp-Decimal_Places(i)-1 loop
        !            84:                   put(file," ");
        !            85:                 end loop;
        !            86:                 put(file,"-");
        !            87:                 put(file,Unsigned(i));
        !            88:            else put(file,Unsigned(i),dp);
        !            89:           end if;
        !            90:           put(file,Unsigned(i));
        !            91:     end if;
        !            92:   end put;
        !            93:
        !            94: end Multprec_Integer_Numbers_io;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>