guix/gnu/packages/patches/symmetrica-bruch.patch

39 lines
1.1 KiB
Diff

--- 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)))
{