guix/gnu/packages/patches/symmetrica-int32.patch
Nicolas Goaziou 75a73bb024
gnu: Add symmetrica.
* gnu/packages/algebra.scm (symmetrica): New variable.
* gnu/packages/patches/symmetrica-bruch.patch:
* gnu/packages/patches/symmetrica-int32.patch:
* gnu/packages/patches/symmetrica-return_values.patch:
* gnu/packages/patches/symmetrica-sort_sum_rename.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add patches.
2019-06-20 10:19:12 +02:00

37 lines
918 B
Diff

diff -ru src/def.h c/def.h
--- src/def.h 2007-12-06 17:30:56.000000000 +0100
+++ c/def.h 2013-10-19 18:42:55.118745730 +0200
@@ -2,14 +2,9 @@
/* INT should always be 4 byte */
#ifndef DEF_H
-
-#ifdef __alpha
-typedef int INT;
-typedef unsigned int UINT;
-#else /* __alpha */
-typedef long INT;
-typedef unsigned long UINT;
-#endif /* __alpha */
+#include <stdint.h>
+typedef int32_t INT;
+typedef uint32_t UINT;
#include <stdio.h>
#include <memory.h>
@@ -65,10 +60,13 @@
/* definitionen fuer object.c */
-typedef INT OBJECTKIND; /* 4 byte */
+/* NOTE: partition code assumes that there is no unused space in the
+ * object struct when an INT is stored. This requires both OBJECTKIND
+ * and OBJECTSELF to have a size equal to a machine word. */
+typedef intptr_t OBJECTKIND;
typedef union {
- INT ob_INT;
+ intptr_t ob_INT;
INT * ob_INTpointer;
char *ob_charpointer;
struct bruch *ob_bruch;