aboutsummaryrefslogtreecommitdiffstats
path: root/src/grt/grt-to_strings.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-06-01 09:08:59 +0200
committerTristan Gingold <tgingold@free.fr>2019-06-01 11:10:09 +0200
commit2c98c1cfeb1cab4688520a76e9c99f25735c28b3 (patch)
tree1ab70afe408fdab539051bcac233d610149e5384 /src/grt/grt-to_strings.ads
parent5b315ffc640c085c89508bd9bff9f88147ebe04e (diff)
downloadghdl-2c98c1cfeb1cab4688520a76e9c99f25735c28b3.tar.gz
ghdl-2c98c1cfeb1cab4688520a76e9c99f25735c28b3.tar.bz2
ghdl-2c98c1cfeb1cab4688520a76e9c99f25735c28b3.zip
grt: extract grt.to_strings from grt.images
Diffstat (limited to 'src/grt/grt-to_strings.ads')
-rw-r--r--src/grt/grt-to_strings.ads68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/grt/grt-to_strings.ads b/src/grt/grt-to_strings.ads
new file mode 100644
index 000000000..af60f4332
--- /dev/null
+++ b/src/grt/grt-to_strings.ads
@@ -0,0 +1,68 @@
+-- GHDL Run Time (GRT) - to_string subprograms.
+-- Copyright (C) 2002 - 2019 Tristan Gingold
+--
+-- GHDL is free software; you can redistribute it and/or modify it under
+-- the terms of the GNU General Public License as published by the Free
+-- Software Foundation; either version 2, or (at your option) any later
+-- version.
+--
+-- GHDL is distributed in the hope that it will be useful, but WITHOUT ANY
+-- WARRANTY; without even the implied warranty of MERCHANTABILITY or
+-- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+-- for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with GCC; see the file COPYING. If not, write to the Free
+-- Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+-- 02111-1307, USA.
+--
+-- As a special exception, if other files instantiate generics from this
+-- unit, or you link this unit with other files to produce an executable,
+-- this unit does not by itself cause the resulting executable to be
+-- covered by the GNU General Public License. This exception does not
+-- however invalidate any other reasons why the executable file might be
+-- covered by the GNU Public License.
+with Grt.Types; use Grt.Types;
+
+package Grt.To_Strings is
+ -- Write the image of N into STR padded to the right. FIRST is the index
+ -- of the first character, so the result is in STR (FIRST .. STR'last).
+ -- Requires at least 11 characters.
+ procedure To_String (Str : out String; First : out Natural; N : Ghdl_I32);
+
+ -- Write the image of N into STR padded to the right. FIRST is the index
+ -- of the first character, so the result is in STR (FIRST .. STR'last).
+ -- Requires at least 21 characters.
+ procedure To_String (Str : out String; First : out Natural; N : Ghdl_I64);
+
+ -- Write the image of N into STR. LAST is the index of the last character,
+ -- so the result is in STR (STR'first .. LAST).
+ -- Requires at least 24 characters.
+ -- Sign (1) + digit (1) + dot (1) + digits (15) + exp (1) + sign (1)
+ -- + exp_digits (4) -> 24.
+ procedure To_String (Str : out String; Last : out Natural; N : Ghdl_F64);
+
+ -- Write the image of N into STR using NBR_DIGITS digits after the decimal
+ -- point.
+ procedure To_String (Str : out String;
+ Last : out Natural;
+ N : Ghdl_F64;
+ Nbr_Digits : Ghdl_I32);
+
+ subtype String_Real_Format is String (1 .. 128);
+
+ -- Write the image of N into STR using NBR_DIGITS digits after the decimal
+ -- point.
+ procedure To_String (Str : out String_Real_Format;
+ Last : out Natural;
+ N : Ghdl_F64;
+ Format : Ghdl_C_String);
+
+ -- Write the image of VALUE to STR using UNIT as unit. The output is in
+ -- STR (FIRST .. STR'last).
+ subtype String_Time_Unit is String (1 .. 22);
+ procedure To_String (Str : out String_Time_Unit;
+ First : out Natural;
+ Value : Ghdl_I64;
+ Unit : Ghdl_I64);
+end Grt.To_Strings;