mathpaqs_20200214.0.0_c897786f/lin_alg/real_arrays_io.adb

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
-- real_arrays_io.adb    generic package body 

package body Real_Arrays_IO is

  procedure GET (FILE  : in  Ada.Text_IO.FILE_TYPE;
                 ITEM  : out REAL_VECTOR;
                 WIDTH : in Ada.Text_IO.FIELD := 0) is
  begin
    for I in ITEM'RANGE loop
      REAL_IO.GET ( FILE, ITEM( I ), WIDTH) ;
    end loop ;
  end GET ;
 
  procedure GET (ITEM  : out REAL_VECTOR ;
                 WIDTH : in Ada.Text_IO.FIELD := 0) is
  begin
    for I in ITEM'RANGE loop
      REAL_IO.GET ( ITEM( I ), WIDTH) ;
    end loop ;
  end GET ;

  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) is
  begin
    for I in ITEM'RANGE loop
      --Ada.Text_IO.PUT ( FILE, "REAL_VECTOR( " ) ;
      --Ada.Text_IO.PUT ( FILE, INTEGER'IMAGE ( I ) ) ;
      --Ada.Text_IO.PUT ( FILE, " ) = " ) ;
      REAL_IO.PUT ( FILE, ITEM( I ), FORE, AFT, EXP) ;
      --Ada.Text_IO.NEW_LINE(FILE) ;
    end loop ;
  end PUT ;

  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) is
  begin
    for I in ITEM'RANGE loop
      Ada.Text_IO.PUT ( "REAL_VECTOR( " ) ;
      Ada.Text_IO.PUT ( INTEGER'IMAGE ( I ) ) ;
      Ada.Text_IO.PUT ( " ) = " ) ;
      REAL_IO.PUT ( ITEM( I ), FORE, AFT, EXP) ;
      Ada.Text_IO.NEW_LINE ;
    end loop ;
  end PUT ;

  procedure GET (FILE  : in  Ada.Text_IO.FILE_TYPE;
                 ITEM  : out REAL_MATRIX;
                 WIDTH : in Ada.Text_IO.FIELD := 0) is
  begin
    for I in ITEM'RANGE ( 1 ) loop
      for J in ITEM'RANGE ( 2 ) loop
        REAL_IO.GET ( FILE, ITEM( I , J ), WIDTH) ;
      end loop ;
    end loop ;
  end GET ;
 
  procedure GET (ITEM  : out REAL_MATRIX ;
                 WIDTH : in Ada.Text_IO.FIELD := 0) is
  begin
    for I in ITEM'RANGE ( 1 ) loop
      for J in ITEM'RANGE ( 2 ) loop
        REAL_IO.GET ( ITEM( I , J ), WIDTH) ;
      end loop ;
    end loop ;
  end GET ;

  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) is
  begin
    for I in ITEM'RANGE ( 1 ) loop
      for J in ITEM'RANGE ( 2 ) loop
        --Ada.Text_IO.PUT ( FILE, "REAL_MATRIX( " ) ;
        --Ada.Text_IO.PUT ( FILE, INTEGER'IMAGE ( I ) ) ;
        --Ada.Text_IO.PUT ( FILE, " , " ) ;
        --Ada.Text_IO.PUT ( FILE, INTEGER'IMAGE ( J ) ) ;
        --Ada.Text_IO.PUT ( FILE, " ) = " ) ;
        REAL_IO.PUT ( FILE, ITEM( I , J ), FORE, AFT, EXP) ;
        --Ada.Text_IO.NEW_LINE(FILE) ;
      end loop ;
    end loop ;
  end PUT ;


  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) is
  begin
    for I in ITEM'RANGE ( 1 ) loop
      for J in ITEM'RANGE ( 2 ) loop
        Ada.Text_IO.PUT ( "REAL_MATRIX( " ) ;
        Ada.Text_IO.PUT ( INTEGER'IMAGE ( I ) ) ;
        Ada.Text_IO.PUT ( " , " ) ;
        Ada.Text_IO.PUT ( INTEGER'IMAGE ( J ) ) ;
        Ada.Text_IO.PUT ( " ) = " ) ;
        REAL_IO.PUT ( ITEM( I , J ), FORE, AFT, EXP) ;
        Ada.Text_IO.NEW_LINE ;
      end loop ;
    end loop ;
  end PUT ;

end Real_Arrays_IO;