mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[apps/calculation] Remove unneeded arguments
This commit is contained in:
committed by
EmilieNumworks
parent
6c5b0def7b
commit
ed5a6d4a03
@@ -53,7 +53,7 @@ KDCoordinate Calculation::height(Context * context) {
|
||||
if (shouldOnlyDisplayApproximateOutput(context)) {
|
||||
m_height = inputHeight+approximateOutputHeight;
|
||||
} else {
|
||||
Layout exactLayout = createExactOutputLayout(context);
|
||||
Layout exactLayout = createExactOutputLayout();
|
||||
KDCoordinate exactOutputHeight = exactLayout.layoutSize().height();
|
||||
KDCoordinate outputHeight = max(exactLayout.baseline(), approximateLayout.baseline()) + max(exactOutputHeight-exactLayout.baseline(), approximateOutputHeight-approximateLayout.baseline());
|
||||
m_height = inputHeight + outputHeight;
|
||||
@@ -102,7 +102,7 @@ void Calculation::tidy() {
|
||||
m_equalSign = EqualSign::Unknown;
|
||||
}
|
||||
|
||||
Expression Calculation::exactOutput(Context * context) {
|
||||
Expression Calculation::exactOutput() {
|
||||
/* Because the angle unit might have changed, we do not simplify again. We
|
||||
* thereby avoid turning cos(Pi/4) into sqrt(2)/2 and displaying
|
||||
* 'sqrt(2)/2 = 0.999906' (which is totally wrong) instead of
|
||||
@@ -114,8 +114,8 @@ Expression Calculation::exactOutput(Context * context) {
|
||||
return exactOutput;
|
||||
}
|
||||
|
||||
Layout Calculation::createExactOutputLayout(Context * context) {
|
||||
return PoincareHelpers::CreateLayout(exactOutput(context));
|
||||
Layout Calculation::createExactOutputLayout() {
|
||||
return PoincareHelpers::CreateLayout(exactOutput());
|
||||
}
|
||||
|
||||
Expression Calculation::approximateOutput(Context * context) {
|
||||
@@ -136,7 +136,7 @@ bool Calculation::shouldOnlyDisplayApproximateOutput(Context * context) {
|
||||
if (strcmp(m_exactOutputText, "undef") == 0) {
|
||||
return true;
|
||||
}
|
||||
return input().isApproximate(*context) || exactOutput(context).isApproximate(*context);
|
||||
return input().isApproximate(*context) || exactOutput().isApproximate(*context);
|
||||
}
|
||||
|
||||
Calculation::EqualSign Calculation::exactAndApproximateDisplayedOutputsAreEqual(Poincare::Context * context) {
|
||||
@@ -145,7 +145,7 @@ Calculation::EqualSign Calculation::exactAndApproximateDisplayedOutputsAreEqual(
|
||||
}
|
||||
char buffer[k_printedExpressionSize];
|
||||
Preferences * preferences = Preferences::sharedPreferences();
|
||||
m_equalSign = exactOutput(context).isEqualToItsApproximationLayout(approximateOutput(context), buffer, k_printedExpressionSize, preferences->angleUnit(), preferences->displayMode(), preferences->numberOfSignificantDigits(), *context) ? EqualSign::Equal : EqualSign::Approximation;
|
||||
m_equalSign = exactOutput().isEqualToItsApproximationLayout(approximateOutput(context), buffer, k_printedExpressionSize, preferences->angleUnit(), preferences->displayMode(), preferences->numberOfSignificantDigits(), *context) ? EqualSign::Equal : EqualSign::Approximation;
|
||||
return m_equalSign;
|
||||
}
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ public:
|
||||
Poincare::Expression input();
|
||||
Poincare::Layout createInputLayout();
|
||||
Poincare::Expression approximateOutput(Poincare::Context * context);
|
||||
Poincare::Expression exactOutput(Poincare::Context * context);
|
||||
Poincare::Layout createExactOutputLayout(Poincare::Context * context);
|
||||
Poincare::Expression exactOutput();
|
||||
Poincare::Layout createExactOutputLayout();
|
||||
Poincare::Layout createApproximateOutputLayout(Poincare::Context * context);
|
||||
bool isEmpty();
|
||||
void tidy();
|
||||
|
||||
@@ -101,13 +101,13 @@ Expression CalculationStore::ansExpression(Context * context) {
|
||||
* To avoid turning 'ans->A' in '2->A->A' (or 2->A=A) which cannot be parsed),
|
||||
* ans is replaced by the approximation output in when any Store or Equal
|
||||
* expression appears.*/
|
||||
bool exactOuptutInvolvesStoreEqual = lastCalculation->exactOutput(context).recursivelyMatches([](const Expression e, Context & context) {
|
||||
return e.type() == ExpressionNode::Type::Store || e.type() == ExpressionNode::Type::Equal;
|
||||
}, *context);
|
||||
bool exactOuptutInvolvesStoreEqual = lastCalculation->exactOutput().recursivelyMatches([](const Expression e, Context & context) {
|
||||
return e.type() == ExpressionNode::Type::Store || e.type() == ExpressionNode::Type::Equal;
|
||||
}, *context);
|
||||
if (lastCalculation->input().isApproximate(*context) || exactOuptutInvolvesStoreEqual) {
|
||||
return lastCalculation->approximateOutput(context);
|
||||
}
|
||||
return lastCalculation->exactOutput(context);
|
||||
return lastCalculation->exactOutput();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ void HistoryViewCell::setCalculation(Calculation * calculation) {
|
||||
m_exactOutputLayout = Poincare::Layout();
|
||||
}
|
||||
if (!calculation->shouldOnlyDisplayApproximateOutput(calculationApp->localContext())) {
|
||||
m_exactOutputLayout = calculation->createExactOutputLayout(calculationApp->localContext());
|
||||
m_exactOutputLayout = calculation->createExactOutputLayout();
|
||||
}
|
||||
m_approximateOutputLayout = calculation->createApproximateOutputLayout(calculationApp->localContext());
|
||||
m_scrollableOutputView.setLayouts(m_approximateOutputLayout, m_exactOutputLayout);
|
||||
|
||||
Reference in New Issue
Block a user