This seems bizarre. If the denom is not zero, why should it
return 0? My limited understanding is that sin-cos-intsubs1
is supposed to substitute the limits of the integral into
the indefinite integral. (Which, by the way is correctly
computed by antideriv.)
Changing it to read (equal ($asksign denom) '$zero)) makes
more sense, but I don't know about returning zero as the
result. Undefined or infinity seems better, if a choice
must be made.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Logged In: YES
user_id=28849
The hint that the result is correct if cos(x) is declared
zero is key.
It seems the problem is in sin-cos-intsubs1 in defint.lisp.
There's a clause there:
This seems bizarre. If the denom is not zero, why should it
return 0? My limited understanding is that sin-cos-intsubs1
is supposed to substitute the limits of the integral into
the indefinite integral. (Which, by the way is correctly
computed by antideriv.)
Changing it to read (equal ($asksign denom) '$zero)) makes
more sense, but I don't know about returning zero as the
result. Undefined or infinity seems better, if a choice
must be made.
Logged In: YES
user_id=28849
Fixed as described, but we return '$undefined instead of 0,
for want of a better solution. Seems better than 0 anyway.