Open rtoy opened 1 month ago
Imported from SourceForge on 2024-07-08 21:17:16 Created by robert_dodier on 2022-08-09 15:15:35 Original: https://sourceforge.net/p/maxima/bugs/4014/#d33c
Robert, thanks very much for investigating. After making that change, what result do you get from run_testsuite()
? Are any of the results different? If no existing correct results are made incorrect, then that's a good sign.
Imported from SourceForge on 2024-07-08 21:17:20 Created by rlar on 2022-08-09 19:18:34 Original: https://sourceforge.net/p/maxima/bugs/4014/#d33c/8ea7
Hello, I forgot to mention, there is no change of importance in test-suite.log. I stumbled on comments from rtoy concerning this semirat variable, saying he didn't know what it is good for. Yet I obviously can't simply remove it, my "nil" is just a way to point at some point. I traced through zmtorat etc etc, and guessed the code tried do integrate by residues. Then I spotted incorrect residues and fell into "polelist". skimming through it one cant avoid guessing semirat causing to return exact the opposite of what would have been returned without it. And voila, disabling it the correct result is produced. From there to a proper bug fix is propably quite a bit more difficult. I attach a file in the style of the other "test.mac" files, which I finally used to check the output.
Attachments:
Imported from SourceForge on 2024-07-08 21:17:15 Created by rlar on 2022-08-08 17:31:36 Original: https://sourceforge.net/p/maxima/bugs/4014
produces incorrect output. presumably this would be correct
walking through the code it turns out the variabe "*semirat*" which is used in "(defun polelist ...)" is responsible for this behaviour. It is set in defint.lisp and will cause polelist to return unwanted poles outside the given "region".
If I disable this in residue.lisp
then this
produces the expected result.