[poincare] Get rid of AngleUnit::Default

This commit is contained in:
Émilie Feral
2018-04-23 17:52:23 +02:00
parent 2e7c08241a
commit e61a408a0a
39 changed files with 198 additions and 187 deletions

View File

@@ -152,14 +152,14 @@ void Sequence::setInitialRank(int rank) {
Poincare::Expression * Sequence::firstInitialConditionExpression(Context * context) const {
if (m_firstInitialConditionExpression == nullptr) {
m_firstInitialConditionExpression = Poincare::Expression::ParseAndSimplify(m_firstInitialConditionText, *context);
m_firstInitialConditionExpression = PoincareHelpers::ParseAndSimplify(m_firstInitialConditionText, *context);
}
return m_firstInitialConditionExpression;
}
Poincare::Expression * Sequence::secondInitialConditionExpression(Context * context) const {
if (m_secondInitialConditionExpression == nullptr) {
m_secondInitialConditionExpression = Poincare::Expression::ParseAndSimplify(m_secondInitialConditionText, *context);
m_secondInitialConditionExpression = PoincareHelpers::ParseAndSimplify(m_secondInitialConditionText, *context);
}
return m_secondInitialConditionExpression;
}
@@ -336,32 +336,32 @@ T Sequence::approximateToNextRank(int n, SequenceContext * sqctx) const {
{
ctx.setValueForSymbol(un, &unSymbol);
ctx.setValueForSymbol(vn, &vnSymbol);
return expression(sqctx)->approximateWithValueForSymbol(symbol(), (T)n, ctx);
return expression(sqctx)->approximateWithValueForSymbol(symbol(), (T)n, ctx, Poincare::Preferences::sharedPreferences()->angleUnit());
}
case Type::SingleRecurrence:
{
if (n == m_initialRank) {
return firstInitialConditionExpression(sqctx)->template approximateToScalar<T>(*sqctx);
return PoincareHelpers::ApproximateToScalar<T>(firstInitialConditionExpression(sqctx), *sqctx);
}
ctx.setValueForSymbol(un, &un1Symbol);
ctx.setValueForSymbol(unm1, &unSymbol);
ctx.setValueForSymbol(vn, &vn1Symbol);
ctx.setValueForSymbol(vnm1, &vnSymbol);
return expression(sqctx)->approximateWithValueForSymbol(symbol(), (T)(n-1), ctx);
return expression(sqctx)->approximateWithValueForSymbol(symbol(), (T)(n-1), ctx, Poincare::Preferences::sharedPreferences()->angleUnit());
}
default:
{
if (n == m_initialRank) {
return firstInitialConditionExpression(sqctx)->template approximateToScalar<T>(*sqctx);
return PoincareHelpers::ApproximateToScalar<T>(firstInitialConditionExpression(sqctx), *sqctx);
}
if (n == m_initialRank+1) {
return secondInitialConditionExpression(sqctx)->template approximateToScalar<T>(*sqctx);
return PoincareHelpers::ApproximateToScalar<T>(secondInitialConditionExpression(sqctx), *sqctx);
}
ctx.setValueForSymbol(unm1, &un1Symbol);
ctx.setValueForSymbol(unm2, &unSymbol);
ctx.setValueForSymbol(vnm1, &vn1Symbol);
ctx.setValueForSymbol(vnm2, &vnSymbol);
return expression(sqctx)->approximateWithValueForSymbol(symbol(), (T)(n-2), ctx);
return expression(sqctx)->approximateWithValueForSymbol(symbol(), (T)(n-2), ctx, Poincare::Preferences::sharedPreferences()->angleUnit());
}
}
}