This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Rename perl_thread to perl_os_thread.
[perl5.git] / handy.h
diff --git a/handy.h b/handy.h
index 056bf2c..379fab8 100644 (file)
--- a/handy.h
+++ b/handy.h
@@ -1,6 +1,6 @@
 /*    handy.h
  *
- *    Copyright (c) 1991-1994, Larry Wall
+ *    Copyright (c) 1991-1997, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
    standard library calls (where we pass an I32 and the library is
    expecting an int), but the disadvantage that an I32 is not 32 bits.
    Andy Dougherty      August 1996
+
+   In the future, we may perhaps want to think about something like
+    #if INTSIZE == 4
+       typedef I32 int;
+    #else
+    #  if LONGSIZE == 4
+           typedef I32 long;
+    #  else
+    #    if SHORTSIZE == 4
+           typedef I32 short;
+    #    else
+           typedef I32 int;
+    #    endif
+    #  endif
+    #endif
+   For the moment, these are mentioned here so metaconfig will
+   construct Configure to figure out the various sizes.
 */
 
 typedef char           I8;
@@ -113,6 +130,10 @@ typedef unsigned short     U16;
 # define U32_MIN PERL_ULONG_MIN
 #endif
 
+#define BIT_DIGITS(N)   (((N)*146)/485 + 1)  /* log2(10) =~ 146/485 */
+#define TYPE_DIGITS(T)  BIT_DIGITS(sizeof(T) * 8)
+#define TYPE_CHARS(T)   (TYPE_DIGITS(T) + 2) /* sign, NUL */
+
 #define Ctl(ch) ((ch) & 037)
 
 #define strNE(s1,s2) (strcmp(s1,s2))
@@ -260,7 +281,7 @@ typedef U16 line_t;
 #define Safefree(d)    safexfree((Malloc_t)d)
 #define NEWSV(x,len)   newSV(x,len)
 
-#define MAXXCOUNT 1200
+#define MAXXCOUNT 1400
 long xcount[MAXXCOUNT];
 long lastxcount[MAXXCOUNT];