/*
- Time-stamp: <Mon Mar 05 2001 22:39:27 Stardate: [-30]6284.72 hwloidl>
+ Time-stamp: <2004-11-08 12:17:01 simonmar>
RTS specific types.
*/
#ifndef RTS_TYPES_H
#define RTS_TYPES_H
+#if SIZEOF_VOID_P == 8
+typedef unsigned long nat; /* at least 32 bits (like int) */
+#else
typedef unsigned int nat; /* at least 32 bits (like int) */
+#endif
typedef unsigned long lnat; /* at least 32 bits */
+#ifndef _MSC_VER
typedef unsigned long long ullong; /* at least 32 bits */
+typedef long long llong;
+#else
+typedef unsigned __int64 ullong; /* at least 32 bits */
+typedef __int64 llong;
+#endif
/* ullong (64|128-bit) type: only include if needed (not ANSI) */
#if defined(__GNUC__)
Types specific to the parallel runtime system.
*/
+typedef ullong rtsTime;
+
#if defined(PAR)
/* types only needed in the parallel system */
typedef struct hashtable ParHashTable;
// typedef W_ TIME;
// typedef GlobalTaskId Proc;
typedef int GlobalTaskId;
-typedef ullong rtsTime;
typedef GlobalTaskId PEs;
typedef unsigned int rtsWeight;
typedef int rtsPacket;