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>