Package: symmetrica / 2.0+ds-6

upstream-sage-bruch.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Description: temporary storage for bruch
 Store integers in a temporary variable before freeing memory.
Origin: sage
Last-Update: 2013-10-22

--- src/bruch.c	2007-12-06 11:30:00.000000000 -0500
+++ b/bruch.c	2013-10-22 08:37:43.000000000 -0400
@@ -975,14 +975,16 @@
     ggterg = ggt_i(S_B_UI(bruch),S_B_OI(bruch));
 
     if (ggterg == S_B_UI(bruch)) {
+        INT tmp = S_B_OI(bruch);
         freeself_bruch(bruch);
-        M_I_I(S_B_OI(bruch) / ggterg,bruch);
+        M_I_I(tmp / ggterg,bruch);
         goto ende;
         }
 
     if (-ggterg == S_B_UI(bruch)) {
+        INT tmp = S_B_OI(bruch);
         freeself_bruch(bruch);
-        M_I_I(- S_B_OI(bruch) / ggterg,bruch);
+        M_I_I(- tmp / ggterg,bruch);
         goto ende;
         }
 
@@ -1032,12 +1034,14 @@
 
     if (S_O_K(S_B_U(bruch)) == INTEGER)
         if (S_B_UI(bruch) == 1) { 
+            INT tmp = S_B_OI(bruch);
             freeself_bruch(bruch);
-            M_I_I(S_B_OI(bruch),bruch); 
+            M_I_I(tmp,bruch); 
             goto ende; }
         else if (S_B_UI(bruch) == -1) { 
+            INT tmp = S_B_OI(bruch);
             freeself_bruch(bruch);
-            M_I_I( - S_B_OI(bruch),bruch); 
+            M_I_I( - tmp,bruch); 
             goto ende; }
     if (NEGP(S_B_O(bruch)) && NEGP(S_B_U(bruch)))
         {