home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gnat-2.06-src.tgz / tar.out / fsf / gnat / ada / s-imgdec.ads < prev    next >
Text File  |  1996-09-28  |  4KB  |  74 lines

  1. ------------------------------------------------------------------------------
  2. --                                                                          --
  3. --                         GNAT RUNTIME COMPONENTS                          --
  4. --                                                                          --
  5. --                       S Y S T E M . I M G _ D E C                        --
  6. --                                                                          --
  7. --                                 S p e c                                  --
  8. --                                                                          --
  9. --                            $Revision: 1.4 $                              --
  10. --                                                                          --
  11. --        Copyright (c) 1992,1993,1994,1995 NYU, All Rights Reserved        --
  12. --                                                                          --
  13. -- The GNAT library is free software; you can redistribute it and/or modify --
  14. -- it under terms of the GNU Library General Public License as published by --
  15. -- the Free Software  Foundation; either version 2, or (at your option) any --
  16. -- later version.  The GNAT library is distributed in the hope that it will --
  17. -- be useful, but WITHOUT ANY WARRANTY;  without even  the implied warranty --
  18. -- of MERCHANTABILITY  or  FITNESS FOR  A PARTICULAR PURPOSE.  See the  GNU --
  19. -- Library  General  Public  License for  more  details.  You  should  have --
  20. -- received  a copy of the GNU  Library  General Public License  along with --
  21. -- the GNAT library;  see the file  COPYING.LIB.  If not, write to the Free --
  22. -- Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.        --
  23. --                                                                          --
  24. ------------------------------------------------------------------------------
  25.  
  26. --  Image for decimal fixed types where the size of the corresponding integer
  27. --  type does not exceed Integer'Size (also used for Text_IO.Decimal_IO output)
  28.  
  29. package System.Img_Dec is
  30. pragma Preelaborate (Img_Dec);
  31.  
  32.    function Image_Decimal
  33.      (V     : Integer;
  34.       Scale : Integer)
  35.       return  String;
  36.    --  Compute 'Image of V, the integer value (in units of delta) of a decimal
  37.    --  type whose Scale is as given and return the result. THe image is given
  38.    --  by the rules in RM 3.5(34) for fixed-point type image functions.
  39.  
  40.    procedure Set_Image_Decimal
  41.      (V     : Integer;
  42.       S     : out String;
  43.       P     : in out Natural;
  44.       Scale : Integer;
  45.       Fore  : Natural;
  46.       Aft   : Natural;
  47.       Exp   : Natural);
  48.    --  Sets the image of V, where V is the integer value (in units of delta)
  49.    --  of a decimal type with the given Scale, starting at S (P + 1), updating
  50.    --  P to point to the last character stored, the caller promises that the
  51.    --  buffer is large enough and no check is made for this. Constraint_Error
  52.    --  will not necessarily be raised if this requirement is violated, since
  53.    --  it is perfectly valid to compile this unit with checks off. The Fore,
  54.    --  Aft and Exp values can be set to any valid values for the case of use
  55.    --  by Text_IO.Decimal_IO.
  56.  
  57.    procedure Set_Decimal_Digits
  58.      (Digs  : in out String;
  59.       NDigs : Natural;
  60.       S     : out String;
  61.       P     : in out Natural;
  62.       Scale : Integer;
  63.       Fore  : Natural;
  64.       Aft   : Natural;
  65.       Exp   : Natural);
  66.    --  This procedure has the same semantics as Set_Image_Decimal, except that
  67.    --  the value in Digs (1 .. NDigs) is given as a string of decimal digits
  68.    --  preceded by either a minus sign or a space (i.e. the integer image of
  69.    --  the value in units of delta). The call may destroy the value in Digs,
  70.    --  which is why Digs is in-out (this happens if rounding is required).
  71.    --  Set_Decimal_Digits is shared by all the decimal image routines.
  72.  
  73. end System.Img_Dec;
  74.