The derivative of pow shall use the new pow function as well,
when compat mode LT is selected.
This commit is contained in:
parent
01c4a5dff2
commit
e2defea752
|
|
@ -331,12 +331,22 @@ static INPparseNode *PTdifferentiate(INPparseNode * p, int varnum)
|
||||||
#define b p->right
|
#define b p->right
|
||||||
if (b->type == PT_CONSTANT) {
|
if (b->type == PT_CONSTANT) {
|
||||||
arg1 = PTdifferentiate(a, varnum);
|
arg1 = PTdifferentiate(a, varnum);
|
||||||
newp = mkb(PT_TIMES,
|
if (newcompat.lt) {
|
||||||
mkb(PT_TIMES,
|
newp = mkb(PT_TIMES,
|
||||||
mkcon(b->constant),
|
mkb(PT_TIMES,
|
||||||
mkf(PTF_PWR,
|
mkcon(b->constant),
|
||||||
mkb(PT_COMMA, a, mkcon(b->constant - 1.0)))),
|
mkf(PTF_POW,
|
||||||
arg1);
|
mkb(PT_COMMA, a, mkcon(b->constant - 1.0)))),
|
||||||
|
arg1);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
newp = mkb(PT_TIMES,
|
||||||
|
mkb(PT_TIMES,
|
||||||
|
mkcon(b->constant),
|
||||||
|
mkf(PTF_PWR,
|
||||||
|
mkb(PT_COMMA, a, mkcon(b->constant - 1.0)))),
|
||||||
|
arg1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (a->type == PT_CONSTANT){
|
else if (a->type == PT_CONSTANT){
|
||||||
arg2 = PTdifferentiate(b, varnum);
|
arg2 = PTdifferentiate(b, varnum);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue