#15312: fix integer overflow (?) in conversion of powersums to Schur functions
-------------------------------------------------+-------------------------
Reporter: zabrocki | Owner:
Type: defect | Status: new
Priority: critical | Milestone: sage-5.13
Component: combinatorics | Resolution:
Keywords: symmetric functions, | Merged in:
symmetrica, memleak | Reviewers:
Authors: | Work issues:
Report Upstream: N/A | Commit:
Branch: | Stopgaps:
Dependencies: |
-------------------------------------------------+-------------------------
Comment (by zabrocki):
OK, the following just looks wrong to me and it is in
`kuerzen_integer_integer` and this same issue seems to appear in several
places.
{{{
ggterg = ggt_i(S_B_UI(bruch),S_B_OI(bruch));
if (ggterg == S_B_UI(bruch)) {
freeself_bruch(bruch);
M_I_I(S_B_OI(bruch) / ggterg,bruch);
goto ende;
}
}}}
It seems to say
(1) calculate the gcd of the numerator (`S_B_OI(bruch)`) and the
denominator (`S_B_UI(bruch)`) (2) if the gcd is equal to the denominator
then `freeself_bruch(bruch)` and then divide ... and at this point I
scream '''wait! don't touch `S_B_OI(bruch)` because `bruch` is already
free!
So I want to change this to the following:
{{{
ggterg = ggt_i(S_B_UI(bruch),S_B_OI(bruch));
if (ggterg == S_B_UI(bruch)) {
tmp = S_B_OI(bruch);
freeself_bruch(bruch);
M_I_I(tmp / ggterg,bruch);
goto ende;
}
}}}
When I do this...guess what!?!?! I don't seem to see the random integer
in the output when I use the test.c from comment 13. I think that this
means I have found the bug.
--
Ticket URL: <http://trac.sagemath.org/ticket/15312#comment:17>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.