Commit [08bf62] Maximize Restore History

Fix for bug #2676

The thing that was actually being tickled by the subscript in this
example was ELEMXPT. Unfortunately, I think if you fix that to deal
correctly with subscripted variables... you get a bind stack
overflow. Eugh.

So I went for a stupider fix in SININT itself, where we replace

integrate (f(x[y]), x[y])


integrate (f(z), z)

(where z is a gensym, obviously) and then substitute back at the end. I
think this is probably a much more robust approach than playing
whack-a-mole with all the bits of the integration code that assume
variables are atomic.

I don't replace all non-atomic expressions in this way. Presumably this
replacement would already exist if there weren't some integration tricks
we can do that are cleverer than just substituting.

Rupert Swarbrick Rupert Swarbrick 2014-02-19

changed src
changed src/sin.lisp
changed tests
changed tests/rtest16.mac
src/sin.lisp Diff Switch to side-by-side view
tests/rtest16.mac Diff Switch to side-by-side view