[shared] Fix PoincareHelpers

This commit is contained in:
Émilie Feral
2018-08-10 10:13:25 +02:00
parent 4ae72d68d8
commit 7c1649670a
4 changed files with 15 additions and 15 deletions

View File

@@ -97,7 +97,7 @@ bool App::textInputIsCorrect(const char * text) {
}
Expression::ReplaceSymbolWithExpression(&exp, Symbol::SpecialSymbols::Ans, static_cast<Snapshot *>(snapshot())->calculationStore()->ansExpression(localContext()));
char buffer[Calculation::k_printedExpressionSize];
int length = PoincareHelpers::WriteTextInBuffer(exp, buffer, sizeof(buffer));
int length = PoincareHelpers::Serialize(exp, buffer, sizeof(buffer));
delete exp;
/* if the buffer is totally full, it is VERY likely that writeTextInBuffer
* escaped before printing utterly the expression. */

View File

@@ -60,11 +60,11 @@ void Calculation::setContent(const char * c, Context * context, Expression * ans
Expression::ReplaceSymbolWithExpression(&m_input, Symbol::SpecialSymbols::Ans, ansExpression);
/* We do not store directly the text enter by the user because we do not want
* to keep Ans symbol in the calculation store. */
PoincareHelpers::WriteTextInBuffer(m_input, m_inputText, sizeof(m_inputText));
PoincareHelpers::Serialize(m_input, m_inputText, sizeof(m_inputText));
m_exactOutput = PoincareHelpers::ParseAndSimplify(m_inputText, *context);
PoincareHelpers::WriteTextInBuffer(m_exactOutput, m_exactOutputText, sizeof(m_exactOutputText));
PoincareHelpers::Serialize(m_exactOutput, m_exactOutputText, sizeof(m_exactOutputText));
m_approximateOutput = PoincareHelpers::Approximate<double>(m_exactOutput, *context);
PoincareHelpers::WriteTextInBuffer(m_approximateOutput, m_approximateOutputText, sizeof(m_approximateOutputText));
PoincareHelpers::Serialize(m_approximateOutput, m_approximateOutputText, sizeof(m_approximateOutputText));
}
KDCoordinate Calculation::height(Context * context) {

View File

@@ -7,8 +7,8 @@ namespace Shared {
namespace PoincareHelpers {
inline Poincare::LayoutRef CreateLayout(const Poincare::Expression * e) {
return e->createLayout(Poincare::Preferences::sharedPreferences()->displayMode(), Poincare::Preferences::sharedPreferences()->numberOfSignificantDigits());
inline Poincare::LayoutRef CreateLayout(const Poincare::Expression e) {
return e.createLayout(Poincare::Preferences::sharedPreferences()->displayMode(), Poincare::Preferences::sharedPreferences()->numberOfSignificantDigits());
}
template <class T>
@@ -16,18 +16,18 @@ inline int ConvertFloatToText(T d, char * buffer, int bufferSize, int numberOfSi
return Poincare::PrintFloat::convertFloatToText(d, buffer, bufferSize, numberOfSignificantDigits, Poincare::Preferences::sharedPreferences()->displayMode());
}
inline int WriteTextInBuffer(const Poincare::Expression * e, char * buffer, int bufferSize, int numberOfSignificantDigits = Poincare::PrintFloat::k_numberOfStoredSignificantDigits) {
return e->serialize(buffer, bufferSize, Poincare::Preferences::sharedPreferences()->displayMode(), numberOfSignificantDigits);
inline int Serialize(const Poincare::Expression e, char * buffer, int bufferSize, int numberOfSignificantDigits = Poincare::PrintFloat::k_numberOfStoredSignificantDigits) {
return e.serialize(buffer, bufferSize, Poincare::Preferences::sharedPreferences()->displayMode(), numberOfSignificantDigits);
}
template <class T>
inline Poincare::Expression * Approximate(const Poincare::Expression * e, Poincare::Context & context) {
return e->approximate<T>(context, Poincare::Preferences::sharedPreferences()->angleUnit(), Poincare::Preferences::sharedPreferences()->complexFormat());
inline Poincare::Expression Approximate(const Poincare::Expression e, Poincare::Context & context) {
return e.approximate<T>(context, Poincare::Preferences::sharedPreferences()->angleUnit(), Poincare::Preferences::sharedPreferences()->complexFormat());
}
template <class T>
inline T ApproximateToScalar(const Poincare::Expression * e, Poincare::Context & context) {
return e->approximateToScalar<T>(context, Poincare::Preferences::sharedPreferences()->angleUnit());
inline T ApproximateToScalar(const Poincare::Expression e, Poincare::Context & context) {
return e.approximateToScalar<T>(context, Poincare::Preferences::sharedPreferences()->angleUnit());
}
template <class T>
@@ -35,11 +35,11 @@ inline T ApproximateToScalar(const char * text, Poincare::Context & context) {
return Poincare::Expression::approximateToScalar<T>(text, context, Poincare::Preferences::sharedPreferences()->angleUnit());
}
inline Poincare::Expression * ParseAndSimplify(const char * text, Poincare::Context & context) {
inline Poincare::Expression ParseAndSimplify(const char * text, Poincare::Context & context) {
return Poincare::Expression::ParseAndSimplify(text, context, Poincare::Preferences::sharedPreferences()->angleUnit());
}
inline void Simplify(Poincare::Expression ** expressionAddress, Poincare::Context & context) {
inline void Simplify(Poincare::Expression* expressionAddress, Poincare::Context & context) {
return Poincare::Expression::Simplify(expressionAddress, context, Poincare::Preferences::sharedPreferences()->angleUnit());
}

View File

@@ -142,7 +142,7 @@ void VariableBoxController::ContentViewController::willDisplayCellForIndex(Highl
if (m_currentPage == Page::Scalar) {
myCell->displayExpression(false);
char buffer[PrintFloat::k_maxComplexBufferLength];
PoincareHelpers::WriteTextInBuffer(evaluation, buffer, PrintFloat::k_maxComplexBufferLength, Constant::ShortNumberOfSignificantDigits);
PoincareHelpers::Serialize(evaluation, buffer, PrintFloat::k_maxComplexBufferLength, Constant::ShortNumberOfSignificantDigits);
myCell->setSubtitle(buffer);
return;
}