DiscussionsIssue archiveOCCT:Foundation Classes

Archived issue #0031130

Foundation Classes - Expr_NamedUnknown get wrong Derivative

CommunityOCCT:Foundation Classesnew0 public notes

Search issues

Description

my code like this
                TCollection_AsciiString strExpr("cos(x)");
        Handle(ExprIntrp_GenExp) exprIntrp = ExprIntrp_GenExp::Create();
        Handle(Expr_GeneralExpression) genExpr = NULL;
        exprIntrp->Process(strExpr);
        genExpr = exprIntrp->Expression();
        Handle(Expr_NamedUnknown) var = new Expr_NamedUnknown("x");
        std::cout << genExpr->Contains(var) << std::endl;
        Handle(Expr_GeneralExpression) genExpr1 = genExpr->Derivative(var);
        std::cout << genExpr1->String() << std::endl;
        Handle(Expr_GeneralExpression) genExpr2 = genExpr->NDerivative(var, 2);
        std::cout << genExpr2->String() << std::endl;

the result Derivative is 0,in file Expr_NamedUnknown.cxx line 133 (OCC 7.4.0),the code if (me != X) may can be if(!me.IsIdentical(X))

Public activity

No public notes

Participants are labeled by their role within this record.