Bugs item #1122735, was opened at 20050214 14:17
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1122735&group_id=4933
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: askinteger wrong/FIX
Initial Comment:
askinteger((1+%i)*(1%i)) => false (!!)
declare(i1,integer)
askinteger(exp(%i*%pi*i1)) => false (!!)
askinteger(%pi^(sin(x)^2+cos(x)^21) => false (!!)
The problem is that askinteger assumes that if the
expression *syntactically* includes %pi or %i (why not %
e, %gamma, ...?), then it cannot be integral.
Fix is simple: remove the special case. Of course, there
is room to be cleverer here if someone wants to go to
the trouble, but I'd think that it would be more important
to start with cases like sqrt(2), which currently doesn't
know.
BEFORE:
(cond ((or (not (free x '$%pi))
(not (free x '$%i))
(ratnump x))
'$no)
...)
AFTER:
(cond ((ratnump x) '$no)
...)

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1122735&group_id=4933
