75a73bb024
* 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.
38 lines
1.1 KiB
Diff
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)))
|
|
{
|