From 75a73bb024c840dc7a917a527915ff8d8d918af8 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 19 Jun 2019 07:57:57 +0200 Subject: 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. --- gnu/packages/patches/symmetrica-bruch.patch | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 gnu/packages/patches/symmetrica-bruch.patch (limited to 'gnu/packages/patches/symmetrica-bruch.patch') diff --git a/gnu/packages/patches/symmetrica-bruch.patch b/gnu/packages/patches/symmetrica-bruch.patch new file mode 100644 index 0000000000..ae88b79206 --- /dev/null +++ b/gnu/packages/patches/symmetrica-bruch.patch @@ -0,0 +1,38 @@ +--- 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))) + { -- cgit v1.2.3