a68g-mach.h
1 //! @file a68g-mach.h
2 //! @author J. Marcel van der Veer
3
4 //! @section Copyright
5 //!
6 //! This file is part of Algol68G - an Algol 68 compiler-interpreter.
7 //! Copyright 2001-2024 J. Marcel van der Veer [algol68g@xs4all.nl].
8
9 //! @section License
10 //!
11 //! This program is free software; you can redistribute it and/or modify it
12 //! under the terms of the GNU General Public License as published by the
13 //! Free Software Foundation; either version 3 of the License, or
14 //! (at your option) any later version.
15 //!
16 //! This program is distributed in the hope that it will be useful, but
17 //! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
18 //! or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
19 //! more details. You should have received a copy of the GNU General Public
20 //! License along with this program. If not, see [http://www.gnu.org/licenses/].
21
22 //! @section Synopsis
23 //!
24 //! Machine parameters.
25
26 #if ! defined (__A68G_MACH_H__)
27 #define __A68G_MACH_H__
28
29 #if (A68_LEVEL >= 3)
30 #define A68_MAX_INT (a68g_i64mach (9))
31 #else
32 #define A68_MAX_INT (a68g_i32mach (9))
33 #endif
34
35 #define A68_STDIN (a68g_i32mach (1))
36 #define A68_STDOUT (a68g_i32mach (2))
37 #define A68_STDPUN (a68g_i32mach (3))
38 #define A68_STDERR (a68g_i32mach (4))
39
40 #define A68_REAL_MIN (a68g_r64mach (1))
41 #define A68_REAL_MAX (a68g_r64mach (2))
42 #define A68_REAL_EPS (a68g_r64mach (4))
43 #define A68_REAL_MIN_EXP ((int) a68g_r64mach (6))
44 #define A68_REAL_MAX_EXP ((int) a68g_r64mach (7))
45 #define A68_REAL_DIG ((int) a68g_r64mach (8))
46 #define A68_REAL_MAN ((int) a68g_r64mach (9))
47
48 #define A68_DOUBLE_MIN (a68g_r128mach (1))
49 #define A68_DOUBLE_MAX (a68g_r128mach (2))
50 #define A68_DOUBLE_EPS (a68g_r128mach (4))
51 #define A68_DOUBLE_MIN_EXP ((int) a68g_r128mach (6))
52 #define A68_DOUBLE_MAX_EXP ((int) a68g_r128mach (7))
53 #define A68_DOUBLE_DIG ((int) a68g_r128mach (8))
54 #define A68_DOUBLE_MAN ((int) a68g_r128mach (9))
55
56 int a68g_i32mach (int);
57 GPROC genie_i32mach;
58
59 REAL_T a68g_r64mach (int);
60 GPROC genie_r64mach;
61
62 #if (A68_LEVEL >= 3)
63
64 INT_T a68g_i64mach (int);
65 GPROC genie_i64mach;
66
67 DOUBLE_T a68g_r128mach (int);
68 GPROC genie_r128mach;
69
70 #endif
71
72 #endif
© 2002-2024 J.M. van der Veer (jmvdveer@xs4all.nl)
|