-- Author: Jon Squire
-- Original code here:
-- http://www.cs.umbc.edu/~squire/adaclass/gnatmath95/
-- Changes:
-- - Generic_Real_Arrays = Ada.Numerics.Generic_Real_Arrays (Ada 2005)
-- real_arrays_io.ads generic package specification
-- instantiate: package Arrays_IO is new Real_Arrays_IO(Float, Real_Arrays);
with Ada.Numerics.Generic_Real_Arrays;
with Ada.Text_IO;
with Ada.IO_Exceptions;
generic
type Real is digits <>;
with package Real_Arrays is new Ada.Numerics.Generic_Real_Arrays(Real);
package Real_Arrays_IO is
use Real_Arrays;
package REAL_IO is new Ada.Text_IO.Float_IO(Real);
-- to get DEFAULT_FORE, DEFAULT_AFT and DEFAULT_EXP for specifications
procedure GET (FILE : in Ada.Text_IO.FILE_TYPE;
ITEM : out REAL;
WIDTH : in Ada.Text_IO.FIELD := 0) renames REAL_IO.GET;
procedure GET (ITEM : out REAL;
WIDTH : in Ada.Text_IO.FIELD := 0) renames REAL_IO.GET;
procedure PUT (FILE : in Ada.Text_IO.FILE_TYPE;
ITEM : in REAL;
FORE : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_FORE;
AFT : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_AFT;
EXP : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_EXP)
renames REAL_IO.PUT;
procedure PUT (ITEM : in REAL;
FORE : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_FORE;
AFT : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_AFT;
EXP : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_EXP)
renames REAL_IO.PUT;
procedure GET (FROM : in STRING;
ITEM : out REAL;
LAST : out POSITIVE) renames REAL_IO.GET;
procedure PUT (TO : out STRING;
ITEM : in REAL;
AFT : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_AFT;
EXP : in Ada.Text_IO.FIELD:= REAL_IO.DEFAULT_EXP)
renames REAL_IO.PUT;
procedure GET (FILE : in Ada.Text_IO.FILE_TYPE;
ITEM : out REAL_VECTOR;
WIDTH : in Ada.Text_IO.FIELD := 0);
procedure GET (ITEM : out REAL_VECTOR ;
WIDTH : in Ada.Text_IO.FIELD := 0);
procedure PUT (FILE : in Ada.Text_IO.FILE_TYPE;
ITEM : in REAL_VECTOR;
FORE : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_FORE;
AFT : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_AFT;
EXP : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_EXP);
procedure PUT (ITEM : in REAL_VECTOR ;
FORE : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_FORE;
AFT : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_AFT;
EXP : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_EXP);
procedure GET (FILE : in Ada.Text_IO.FILE_TYPE;
ITEM : out REAL_MATRIX;
WIDTH : in Ada.Text_IO.FIELD := 0);
procedure GET (ITEM : out REAL_MATRIX ;
WIDTH : in Ada.Text_IO.FIELD := 0);
procedure PUT (FILE : in Ada.Text_IO.FILE_TYPE;
ITEM : in REAL_MATRIX;
FORE : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_FORE;
AFT : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_AFT;
EXP : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_EXP);
procedure PUT (ITEM : in REAL_MATRIX ;
FORE : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_FORE;
AFT : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_AFT;
EXP : in Ada.Text_IO.FIELD := REAL_IO.DEFAULT_EXP);
-- string intentionally omitted on vector and matrix
End_Error : exception renames Ada.IO_EXCEPTIONS.END_ERROR ;
end Real_Arrays_IO;