5761887 [rkeene@sledge /home/rkeene/devel/old/bc-dos/h]$ cat -n const.h
  1 /* const.h: Constants for bc. */
  2 
  3 /*  This file is part of GNU bc.
  4     Copyright (C) 1991, 1992, 1993, 1994, 1997 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 #ifndef INT_MAX
 33 #define INT_MAX 0x7FFFFFFF
 34 #endif
 35 #ifndef LONG_MAX
 36 #define LONG_MAX 0x7FFFFFFF
 37 #endif
 38 
 39 
 40 /* Define constants in some reasonable size.  The next 4 constants are
 41    POSIX constants. */
 42 
 43 #ifdef BC_BASE_MAX
 44   /* <limits.h> on a POSIX.2 system may have defined these.  Override. */
 45 # undef BC_BASE_MAX
 46 # undef BC_SCALE_MAX
 47 # undef BC_STRING_MAX
 48 # undef BC_DIM_MAX
 49 #endif
 50 
 51 #define BC_BASE_MAX   INT_MAX
 52 #define BC_SCALE_MAX  INT_MAX
 53 #define BC_STRING_MAX INT_MAX
 54 
 55 
 56 /* Definitions for arrays. */
 57 
 58 #define BC_DIM_MAX    65535       /* this should be NODE_SIZE^NODE_DEPTH-1 */
 59 
 60 #define   NODE_SIZE        16     /* Must be a power of 2. */
 61 #define   NODE_MASK       0xf     /* Must be NODE_SIZE-1. */
 62 #define   NODE_SHIFT        4     /* Number of 1 bits in NODE_MASK. */
 63 #define   NODE_DEPTH        4
 64 
 65 
 66 /* Other BC limits defined but not part of POSIX. */
 67 
 68 #define BC_LABEL_GROUP 64
 69 #define BC_LABEL_LOG    6
 70 #define BC_MAX_SEGS    16    /* Code segments. */
 71 #define BC_SEG_SIZE  1024
 72 #define BC_SEG_LOG     10
 73 
 74 /* Maximum number of variables, arrays and functions and the
 75    allocation increment for the dynamic arrays. */
 76 
 77 #define MAX_STORE   32767
 78 #define STORE_INCR     32
 79 
 80 /* Other interesting constants. */
 81 
 82 #define FALSE 0
 83 #define TRUE  1
 84 
 85 /* for use with lookup (). */
 86 #define SIMPLE   0
 87 #define ARRAY    1
 88 #define FUNCT    2
 89 #define FUNCTDEF 3
 90 
 91 #define EXTERN extern
 92 #ifdef __STDC__
 93 #define CONST const
 94 #define VOID  void
 95 #else
 96 #define CONST
 97 #define VOID
 98 #endif
 99 
100 /* Include the version definition. */
101 #include "version.h"
5761888 [rkeene@sledge /home/rkeene/devel/old/bc-dos/h]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 1997-04-10 21:32:16