I modified difapply to insert a break after the first cond
clause, just before $noprincipal is set. When running the
testsuite, the break is never reached.
We should add some tests for the other cases in difapply.
difapply is called from mtorat and ztorat which is called from ztoinf. This functions sets the variable s to (deg-var d ivar) which is eventually passed to difapply. The first test in difapply is:
Since s is (deg-var d ivar), the arg to $asksign is basically s-s-2 or -2. Thus we always exit difapply here and never execute the rest of the function.
Am I missing something? Is there some other way to get past this first clause?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Note also that difapply is only called when *dflag* is NIL. This is normally the case because *dflag* is only set to T in diffhk, which is only called by difapply at the very end, which we never reach. dintegrate always binds *dflag* to NIL.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
difapply
is called frommtorat
andztorat
which is called fromztoinf
. This functions sets the variables
to(deg-var d ivar)
which is eventually passed todifapply
. The first test indifapply
is:Since
s
is(deg-var d ivar)
, the arg to$asksign
is basicallys-s-2
or-2
. Thus we always exitdifapply
here and never execute the rest of the function.Am I missing something? Is there some other way to get past this first clause?
Note also that
difapply
is only called when*dflag*
isNIL
. This is normally the case because*dflag*
is only set toT
indiffhk
, which is only called bydifapply
at the very end, which we never reach.dintegrate
always binds*dflag*
toNIL
.