mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-26 09:10:48 +01:00
[solver] Move Poincare::Equal::solve() to Solver app to consider system
instead of single expression
This commit is contained in:
45
apps/solver/equation.cpp
Normal file
45
apps/solver/equation.cpp
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "equation.h"
|
||||
|
||||
using namespace Poincare;
|
||||
|
||||
namespace Solver {
|
||||
|
||||
Equation::Equation() :
|
||||
Shared::ExpressionModel(),
|
||||
m_standardForm(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
Equation& Equation::operator=(const Equation& other) {
|
||||
Shared::ExpressionModel::operator=(other);
|
||||
return *this;
|
||||
}
|
||||
|
||||
Equation::~Equation() {
|
||||
if (m_standardForm) {
|
||||
delete m_standardForm;
|
||||
m_standardForm = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void Equation::setContent(const char * c) {
|
||||
tidy();
|
||||
ExpressionModel::setContent(c);
|
||||
}
|
||||
|
||||
void Equation::tidy() {
|
||||
ExpressionModel::tidy();
|
||||
if (m_standardForm) {
|
||||
delete m_standardForm;
|
||||
m_standardForm = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
Expression * Equation::standardForm(Context * context) const {
|
||||
if (m_standardForm == nullptr) {
|
||||
m_standardForm = static_cast<const Equal *>(expression(context))->standardEquation(*context);
|
||||
}
|
||||
return m_standardForm;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user