Commit Graph

161 Commits

Author SHA1 Message Date
Romain Goyet
4f2c7a3763 [build] Update the i18n processing to fit the out-of-tree build 2019-03-06 15:00:59 +01:00
Romain Goyet
4f1d74f44b [build] Use an out-of-tree build 2019-03-06 15:00:59 +01:00
Émilie Feral
7b5f3c570d [poincare] Change the way Expression are built 2019-02-21 11:29:35 +01:00
Émilie Feral
ac6f23684d [poincare] Clean Expression and Layout builders
Before: Opposite(Opposite(Rational(1))) misleadingly created the
expression "-1"; now, Opposite::Builder(Opposite::Builder(Rational(1)))
creates "--1"
2019-02-21 11:29:35 +01:00
Ruben Dashyan
0943406263 Fix HistoryViewCell and ScrollableExactApproximateExxpressionsCell margins issue
Remove all margins from those cells.
Rather add margins to their respective subviews:
 - ScrollableExpressionView
 - ScrollableExactApproximateExpressionsView.

As a notable consequence, the distance in HistoryViewCell between its
subviews becomes 10 instead of 5.

In passing, replace
 - Metric::HistoryHorizontalMargin = 10
 - ScrollableExactApproximateExpressionsView::k_digitHorizontalMargin = 10
 - HistoryViewCell::k_digitVerticalMargin = 5
 - ScrollableExactApproximateExpressionsCell::k_margin = 5
by
 - Metric::CommonSmallMargin = 5
 - Metric::CommonLargeMargin = 10.
2019-02-18 16:49:58 +01:00
Ruben Dashyan
faae55eb51 [escher/scroll_view] Replace setShowsIndicators by setDecoratorType 2019-02-18 16:49:58 +01:00
Émilie Feral
b3a8441289 [solver] Fix tests on EquationStore: delta discriminant is counted as a
solution
2019-01-10 11:42:05 +01:00
Émilie Feral
c3b335212c [solver] Add a warning message when a polynomial has no real root 2019-01-10 11:42:05 +01:00
Émilie Feral
8cf6006a58 [solver] I18n: add messages "The polynomial has no real root" 2019-01-10 11:42:05 +01:00
Émilie Feral
4ccf1f08a9 [solver] Delta discriminant is counted as a solution to clear the code 2019-01-10 11:42:05 +01:00
Léa Saviot
d6e7f78705 [apps/solver] Clean comments 2019-01-10 11:42:04 +01:00
Léa Saviot
014b481a9b [apps/solver] Fix iteration max index 2019-01-10 11:42:04 +01:00
Émilie Feral
95248edde0 [poincare] Fix tests with new beautify order 2019-01-10 11:42:04 +01:00
Émilie Feral
fe8825df35 [shared] PoincareHelpers: update the complexFormat (force it to
Cartesian with complex input).
2019-01-10 11:42:04 +01:00
Émilie Feral
ab555888aa [solver] Clean and add tests on non-real equations 2019-01-10 11:42:04 +01:00
Émilie Feral
d66d71a152 [solver] Fix tests on unreal equations 2019-01-10 11:42:04 +01:00
Émilie Feral
8ac623be08 [solver] ListController: display a pop up when an equation is 'unreal' 2019-01-10 11:42:04 +01:00
Émilie Feral
64d6450728 [solver] Handle unreal equations and equations whose solutions are
unreal
2019-01-10 11:42:04 +01:00
Émilie Feral
fc6793233f [solver] I18n: add message 'unreal equation' 2019-01-10 11:42:04 +01:00
Émilie Feral
2052ee43ae [apps][poincare] An expression is undefined if it is of type 'unreal' or
'undefined'
2019-01-10 11:42:04 +01:00
Émilie Feral
05ef7008dc [solver] Fix bug: when the number of solutions is infinite, do not try
to find the solution layouts
2019-01-10 11:42:04 +01:00
Émilie Feral
ecf3f2ea0f [poincare] Create a a flag on Expression that is set when the
approximation encouters a complex value

All approximation methods take the complex format into account.
2019-01-10 11:42:04 +01:00
Émilie Feral
26e2e9be0d [poincare] Add complex format as an argument of simplification 2019-01-10 11:42:04 +01:00
Émilie Feral
aa80710f4d [solver] Take into account the complexFormat Real 2019-01-10 11:42:04 +01:00
Émilie Feral
df2f6e3b6e [poincare] Fix tests with complex cas 2019-01-10 11:42:03 +01:00
Émilie Feral
42aad48ec4 [solver] Fix EquationStore::oneDimensialPolynomialSolve 2019-01-10 11:42:03 +01:00
Émilie Feral
c6039423a9 [poincare] When simplifying an expression, also compute the approximation from the reduced
expression to avoid loss of precision.

If an expression is reduced to a ComplexCartesian(a, b), we compute the
approximation from ComplexCartesian(a,b) instead of going through the
potentially complicated expression resulting from beautifying
(sqrt(a^2+b^2)*exp(i*(arctan(b/a) -Pi/2*sign(b)) for example)
2019-01-10 11:42:03 +01:00
Émilie Feral
383ac004cf [poincare] Take into account complex format in simplify 2019-01-10 11:42:03 +01:00
Léa Saviot
29ef8c6d23 [apps/solver] Solutions are indexed from 1, not 0 2019-01-10 11:42:02 +01:00
Léa Saviot
56504525c9 [Makfile] Remove superfluous test_objs
We now build all objects even for test, so we do not need most of the
previous test_objs
2018-12-19 09:44:58 +01:00
Léa Saviot
0ecaea0695 [poincare] Fix power serialization 2018-11-26 14:07:42 +01:00
Émilie Feral
7306e3abcf [solver] ListController: fix textRepresentsAnEquality 2018-11-26 13:46:18 +01:00
Léa Saviot
3e12f83bb1 [tests] Fix with new serializations 2018-11-23 12:04:10 +01:00
Léa Saviot
c30f136fb3 [apps/poincare] Fix cursor position when inserting log(a,b) in 2DEdition 2018-11-23 12:04:09 +01:00
Léa Saviot
53e4a290f7 [poincare] Rename Expression:parse in Parse 2018-11-23 12:04:09 +01:00
Léa Saviot
94603b2b7d [poincare] Layout::serialize is serializeForParsing or ParsedExpression
serializeForParsing serializes the layout once,
serializeParsedExpression serializes the layout, parses it and
serializes it again.
2018-11-23 12:04:09 +01:00
Émilie Feral
0609f0c982 [solver] Test: delete test with too long variable: symbols of more than
7 characters will not be parsed
2018-11-23 12:04:07 +01:00
Léa Saviot
8a272458de [poincare] recursivelyMatches takes replaceSymbols parameter
This fixes:
[7]->a
1+2->a
The second operation would get interrupted because 'a' is a matrix if
symbols are replaced
2018-11-23 12:04:07 +01:00
Léa Saviot
056c78408d [apps/solver] Reove unneeded EquationStore::Error::VariableNameTooLong 2018-11-23 12:04:07 +01:00
Léa Saviot
07d1aabb56 [apps/solver] Remove max variable name size redefinition 2018-11-23 12:04:07 +01:00
Léa Saviot
2b2a3c98b0 [apps/solver] Fix message about number of characters allowed in var name 2018-11-23 12:04:07 +01:00
Léa Saviot
2727485af0 [apps/solver] Add tests with long variable names 2018-11-23 12:04:05 +01:00
Léa Saviot
b622c54d50 [apps/solver] Display the whole solution name when long name 2018-11-23 12:04:05 +01:00
Léa Saviot
041b643b15 [apps/solver] Fix variable name computation problem 2018-11-23 12:04:05 +01:00
Ruben Dashyan
61b1b8a09d [poincare] Add Expression::FunctionHelper class
That class is meant to contain data about named functions (e.g. sin,
tan...) in one place: their name, their number of children and a pointer to
a builder. The derived class corresponding to each such function
contains a private instance (m_functionHelper) and a getter.
The previous parser is removed, along with unecessary
constructors (used by the previous parsers).
2018-11-23 12:04:05 +01:00
Émilie Feral
8770c9010a [poincare] Create Constant inheriting from SymbolAbstrac
pi, e and i are not symbols anymore but constant
2018-11-23 12:04:04 +01:00
Émilie Feral
d0d81c4eca [solver] Fix resolveLinearSystem (special case: no variable) 2018-11-23 12:04:04 +01:00
Émilie Feral
9197e8ffbf [solver] Clean EquationStore 2018-11-23 12:04:04 +01:00
Émilie Feral
432713fbb6 [poincare][solver] Variable whose names are too long are not parsed
anymore
2018-11-23 12:04:04 +01:00
Léa Saviot
bea78aa3b1 [apps/escher] Invocation::Action returns a bool 2018-11-23 12:04:04 +01:00