Re: Towards 64bit DataHandles
- From: Tim Janik <timj gtk org>
- To: Stefan Westerfeld <stefan space twc de>
- Cc: beast gnome org
- Subject: Re: Towards 64bit DataHandles
- Date: Fri, 20 Jan 2006 23:48:33 +0100 (CET)
On Sat, 21 Jan 2006, Stefan Westerfeld wrote:
[...]
the most part of the patch is trivial and can go in.
Index: sfi/sfitypes.h
===================================================================
RCS file: /cvs/gnome/beast/sfi/sfitypes.h,v
retrieving revision 1.17
diff -u -p -r1.17 sfitypes.h
--- sfi/sfitypes.h 20 May 2004 12:23:17 -0000 1.17
+++ sfi/sfitypes.h 20 Jan 2006 20:19:48 -0000
@@ -25,14 +25,30 @@ G_BEGIN_DECLS
/* --- Sfi typedefs --- */
+
+/* 64 bit types - FIXME: assert in configure script that sizeof (long long) == 8 */
+typedef long long sfi_int64;
+typedef unsigned long long sfi_uint64;
+#define SFI_MININT64 (0x8000000000000000LL)
+#define SFI_MAXINT64 (0x7fffffffffffffffLL)
+#define SFI_MAXUINT64 (0xffffffffffffffffULL)
+
+#if (1) /* internal: do not make these available when compiling third party code */
+#define int64 sfi_int64
+#define uint64 sfi_uint64
+#define MININT64 SFI_MININT64
+#define MAXINT64 SFI_MAXINT64
+#define MAXUINT64 SFI_MAXUINT64
+#endif
+
eek, the above is a mess, but can go in as a temporary measure
(albeit with as little definitions/typedefs as possible) until
i commit a wider range of new typedefs.
also, you should decide on what constants you want, in the above
code, you used G_MAXINT64, and here you define SFI_MAXINT64 and
MAXINT64, allthough we already have SFI_MAXNUM.
best is probably to keep using G_MAXINT64 and not define SFI_MAXINT64
or MAXINT64 at all.
typedef gboolean SfiBool;
typedef gint SfiInt;
#define SFI_MAXINT (+2147483647)
#define SFI_MININT (-SFI_MAXINT - 1)
-typedef gint64 SfiNum;
-#define SFI_MAXNUM ((SfiNum) +9223372036854775807LL)
-#define SFI_MINNUM (-SFI_MAXNUM - 1)
-typedef gint64 SfiTime;
+typedef sfi_int64 SfiNum;
+#define SFI_MINNUM SFI_MININT64
+#define SFI_MAXNUM SFI_MAXINT64
+typedef sfi_int64 SfiTime;
but please don't mess with the existing definition, touvhing this
code is entirely unneccessary for your changes.
typedef SfiInt SfiNote;
typedef gdouble SfiReal;
#define SFI_MINREAL (2.2250738585072014e-308) /* IEEE754 double */
---
ciaoTJ
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]