The expression floor(1/2 + sin(1/x)/10) is 0 everywhere (except at x = 0), but maxima evaluates limit(floor(1/2 + sin(1/x)/10), x, 0) to be ind, rather than 0.
I suspect it may not be feasible to fix this, but it came up as sagemath issue #39819, so I thought I should report it.
Maxima-version: "5.47.0"
Maxima build date: "2025-03-01 01:30:07"
Host type: "x86_64-apple-darwin23.6.0"
Lisp implementation type: "SBCL"
Lisp implementation version: "2.5.2"
User dir: "~/.maxima"
Temp dir: "/var/folders/4p/njwqthhs4clb13nx0pn72q6h0000gn/T"
Object dir: "~/.maxima/binary/5_47_0/sbcl/2_5_2"
Frontend: false
Sorry, there is a typo in the title, but I don't know how to edit it. Instead of two right parentheses at the end of the expression, one of them should be immediately after
10.Thanks for the bug report. A quick fix is:
With this putative fix, we have
Other than these two cases, I have not tested my (quick) fix. And I think that some other parts of this function might need improvements.
Notice that
maxima-integerpdetermines thatindis an integer. At the moment, I'm not sure about the call to$constantp.Again, thanks for the bug report.
Hmm, I don't see that:
?maxima\-integerp(ind)gives mefalse.OK, I was mistaken about
maxima-integerpcalled onind.Fixed by Commit [324e0f] ; test suggested by bug report appended to
rtest_limit_extra. Closing this ticket.Related
Commit: [324e0f]
Thanks for fixing this!!