diff options
Diffstat (limited to 'gcc-4.8/gcc/ada/s-diinio.ads')
-rw-r--r-- | gcc-4.8/gcc/ada/s-diinio.ads | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/gcc-4.8/gcc/ada/s-diinio.ads b/gcc-4.8/gcc/ada/s-diinio.ads deleted file mode 100644 index e5e8c444c..000000000 --- a/gcc-4.8/gcc/ada/s-diinio.ads +++ /dev/null @@ -1,167 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT RUN-TIME COMPONENTS -- --- -- --- S Y S T E M . D I M . I N T E G E R _ I O -- --- -- --- S p e c -- --- -- --- Copyright (C) 2011-2012, Free Software Foundation, Inc. -- --- -- --- GNAT is free software; you can redistribute it and/or modify it under -- --- terms of the GNU General Public License as published by the Free Soft- -- --- ware Foundation; either version 3, or (at your option) any later ver- -- --- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- --- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- --- or FITNESS FOR A PARTICULAR PURPOSE. -- --- -- --- As a special exception under Section 7 of GPL version 3, you are granted -- --- additional permissions described in the GCC Runtime Library Exception, -- --- version 3.1, as published by the Free Software Foundation. -- --- -- --- You should have received a copy of the GNU General Public License and -- --- a copy of the GCC Runtime Library Exception along with this program; -- --- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- --- <http://www.gnu.org/licenses/>. -- --- -- --- GNAT was originally developed by the GNAT team at New York University. -- --- Extensive contributions were provided by Ada Core Technologies Inc. -- --- -- ------------------------------------------------------------------------------- - --- This package provides output routines for integer dimensioned types. All --- Put routines are modelled after those in package Ada.Text_IO.Integer_IO --- with the addition of an extra default parameter. All Put_Dim_Of routines --- output the dimension of Item in a symbolic manner. - --- Parameter Symbol may be used in the following manner (all the examples are --- based on the MKS system of units as defined in package System.Dim.Mks): - --- type Mks_Type is new Integer --- with --- Dimension_System => ( --- (Unit_Name => Meter, Unit_Symbol => 'm', Dim_Symbol => 'L'), --- (Unit_Name => Kilogram, Unit_Symbol => "kg", Dim_Symbol => 'M'), --- (Unit_Name => Second, Unit_Symbol => 's', Dim_Symbol => 'T'), --- (Unit_Name => Ampere, Unit_Symbol => 'A', Dim_Symbol => 'I'), --- (Unit_Name => Kelvin, Unit_Symbol => 'K', Dim_Symbol => "Θ"), --- (Unit_Name => Mole, Unit_Symbol => "mol", Dim_Symbol => 'N'), --- (Unit_Name => Candela, Unit_Symbol => "cd", Dim_Symbol => 'J')); - --- Case 1. A value is supplied for Symbol - --- * Put : The string appears as a suffix of Item - --- * Put_Dim_Of : The string appears alone - --- Obj : Mks_Type := 2; --- Put (Obj, Symbols => "dimensionless"); --- Put_Dim_Of (Obj, Symbols => "dimensionless"); - --- The corresponding outputs are: --- $2 dimensionless --- $dimensionless - --- Case 2. No value is supplied for Symbol and Item is dimensionless - --- * Put : Item appears without a suffix - --- * Put_Dim_Of : the output is [] - --- Obj : Mks_Type := 2; --- Put (Obj); --- Put_Dim_Of (Obj); - --- The corresponding outputs are: --- $2 --- $[] - --- Case 3. No value is supplied for Symbol and Item has a dimension - --- * Put : If the type of Item is a dimensioned subtype whose --- symbol is not empty, then the symbol appears as a suffix. --- Otherwise, a new string is created and appears as a --- suffix of Item. This string results in the successive --- concatenations between each unit symbol raised by its --- corresponding dimension power from the dimensions of Item. - --- * Put_Dim_Of : The output is a new string resulting in the successive --- concatenations between each dimension symbol raised by its --- corresponding dimension power from the dimensions of Item. - --- subtype Length is Mks_Type --- with --- Dimension => ('m', --- Meter => 1, --- others => 0); - --- Obj : Length := 2; --- Put (Obj); --- Put_Dim_Of (Obj); - --- The corresponding outputs are: --- $2 m --- $[L] - --- subtype Random is Mks_Type --- with --- Dimension => ("", --- Meter => 3, --- Candela => 2, --- others => 0); - --- Obj : Random := 5; --- Put (Obj); --- Put_Dim_Of (Obj); - --- The corresponding outputs are: --- $5 m**3.cd**2 --- $[L**3.J**2] - -with Ada.Text_IO; use Ada.Text_IO; - -generic - type Num_Dim_Integer is range <>; - -package System.Dim.Integer_IO is - - Default_Width : Field := Num_Dim_Integer'Width; - Default_Base : Number_Base := 10; - - procedure Put - (File : File_Type; - Item : Num_Dim_Integer; - Width : Field := Default_Width; - Base : Number_Base := Default_Base; - Symbol : String := ""); - - procedure Put - (Item : Num_Dim_Integer; - Width : Field := Default_Width; - Base : Number_Base := Default_Base; - Symbol : String := ""); - - procedure Put - (To : out String; - Item : Num_Dim_Integer; - Base : Number_Base := Default_Base; - Symbol : String := ""); - - procedure Put_Dim_Of - (File : File_Type; - Item : Num_Dim_Integer; - Symbol : String := ""); - - procedure Put_Dim_Of - (Item : Num_Dim_Integer; - Symbol : String := ""); - - procedure Put_Dim_Of - (To : out String; - Item : Num_Dim_Integer; - Symbol : String := ""); - - pragma Inline (Put); - pragma Inline (Put_Dim_Of); - -end System.Dim.Integer_IO; |