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; 
}