source: trunk/minix/commands/bc/const.h@ 10

Last change on this file since 10 was 9, checked in by Mattia Monga, 14 years ago

Minix 3.1.2a

File size: 2.5 KB
Line 
1/* const.h: Constants for bc. */
2
3/* This file is part of bc written for MINIX.
4 Copyright (C) 1991, 1992 Free Software Foundation, Inc.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License , or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; see the file COPYING. If not, write to
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
19
20 You may contact the author by:
21 e-mail: phil@cs.wwu.edu
22 us-mail: Philip A. Nelson
23 Computer Science Department, 9062
24 Western Washington University
25 Bellingham, WA 98226-9062
26
27*************************************************************************/
28
29
30/* Define INT_MAX and LONG_MAX if not defined. Assuming 32 bits... */
31
32#ifdef NO_LIMITS
33#define INT_MAX 0x7FFFFFFF
34#define LONG_MAX 0x7FFFFFFF
35#endif
36
37
38/* Define constants in some reasonable size. The next 4 constants are
39 POSIX constants. */
40
41#define BC_BASE_MAX INT_MAX
42#define BC_SCALE_MAX INT_MAX
43#define BC_STRING_MAX INT_MAX
44
45
46/* Definitions for arrays. */
47
48#define BC_DIM_MAX 65535 /* this should be NODE_SIZE^NODE_DEPTH-1 */
49
50#define NODE_SIZE 16 /* Must be a power of 2. */
51#define NODE_MASK 0xf /* Must be NODE_SIZE-1. */
52#define NODE_SHIFT 4 /* Number of 1 bits in NODE_MASK. */
53#define NODE_DEPTH 4
54
55
56/* Other BC limits defined but not part of POSIX. */
57
58#define BC_LABEL_GROUP 64
59#define BC_LABEL_LOG 6
60#define BC_MAX_SEGS 16 /* Code segments. */
61#define BC_SEG_SIZE 1024
62#define BC_SEG_LOG 10
63
64/* Maximum number of variables, arrays and functions and the
65 allocation increment for the dynamic arrays. */
66
67#define MAX_STORE 32767
68#define STORE_INCR 32
69
70/* Other interesting constants. */
71
72#define FALSE 0
73#define TRUE 1
74#define SIMPLE 0
75#define ARRAY 1
76#define FUNCT 2
77#define EXTERN extern
78#ifdef __STDC__
79#define CONST const
80#define VOID void
81#else
82#define CONST
83#define VOID
84#endif
85
86/* Include the version definition. */
87#include "version.h"
Note: See TracBrowser for help on using the repository browser.