differentiate tan and tanh in safe way without cos and cosh
This commit is contained in:
parent
f33c3f0751
commit
3dd94ba15c
|
|
@ -461,16 +461,16 @@ static INPparseNode *PTdifferentiate(INPparseNode * p, int varnum)
|
||||||
p->left)));
|
p->left)));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PTF_TAN: /* 1 / (cos(u) ^ 2) */
|
case PTF_TAN: /* 1 + (tan(u) ^ 2) */
|
||||||
arg1 = mkb(PT_DIVIDE, mkcon(1.0), mkb(PT_POWER,
|
arg1 = mkb(PT_PLUS, mkcon(1.0), mkb(PT_POWER,
|
||||||
mkf(PTF_COS,
|
mkf(PTF_TAN,
|
||||||
p->left),
|
p->left),
|
||||||
mkcon(2.0)));
|
mkcon(2.0)));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PTF_TANH: /* 1 / (cosh(u) ^ 2) */
|
case PTF_TANH: /* 1 - (tanh(u) ^ 2) */
|
||||||
arg1 = mkb(PT_DIVIDE, mkcon(1.0), mkb(PT_POWER,
|
arg1 = mkb(PT_MINUS, mkcon(1.0), mkb(PT_POWER,
|
||||||
mkf(PTF_COSH,
|
mkf(PTF_TANH,
|
||||||
p->left),
|
p->left),
|
||||||
mkcon(2.0)));
|
mkcon(2.0)));
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue