guix/gnu/packages/patches/symmetrica-bruch.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

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