www.pudn.com > MathHead > Algebra.cpp
#include "StdAfx.h"
#include "MathSys.h"
int CMathSys::Algebra::SubVariable(CMathNode * pExpr, CMathNode * pVarName, CMathNode* pValue)
{
if (pVarName->m_Type != CMathNode::Node_Var)
return MATHSYS__BAD_INPUT;
return SubVariable(pExpr, pVarName->m_Var, pValue);
}
int CMathSys::Algebra::SubVariable(CMathNode * pExpr, wchar_t wcVarName, CMathNode * pValue)
{
if (pExpr->m_Type == CMathNode::Node_Op)
for (unsigned int i = 0; i < pExpr->m_nSubs; i++)
SubVariable(&pExpr->m_pSubArray[i], wcVarName, pValue);
else if (pExpr->m_Type== CMathNode::Node_Var)
if (pExpr->m_Var == wcVarName)
pValue->CopyTo(pExpr);
return MATHSYS__SUCCESS;
}