When launching a firmware without onboarding, starts with International
selected by default instead of Canada.
Change-Id: Ice5cde4210c4c2934c909d97296460707343773f
In Trigonometry::shallowReduceInverseFunction, the reduction of
atan(1/x) used the hard value of pi instead of its equivalent in the
selected angle unit.
This fixes a bug causing atan(1/tan(40°)) to be equal to π/2-40 instead
of 50.
Change-Id: Ifd7df5cd168fadf3146eee168c0bc2136ea15a7b
Units with the same name in all available languages have been moved to
the new file toolbox.universal.i18n.
Change-Id: I82ef362ca335dc61da5f3bca67714a9ae409793d
After parsing the .i18n files, compare the messages and raise an error
if some of them could be factored into a universal file.
Change-Id: I0dcfe309dc4c310555a0ea16b6d1680e51a8e87d
When choosing a language and then pressing back from the country menu to
get back to the language menu, the previously selected language remains
selected.
Change-Id: I018c51cce09d47b15bb4864c135d381a94b2a72f
Do not display the regular view when the main view takes up all the
frame.
This fixes a bug causing the language menu to be briefly visible before
the logo on start-up.
Change-Id: Ia2de44de52ac6f852e0eca05101587042f02913b
u(n+2) = u(n+1) + u(n) + u(2)
u(0) = 2
u(1) = 2
Crashed because the global context was not checking if the sequence was
badly referencing itself
Change-Id: I97f694955e15518bb088db50deb761d7ee09d75f
char buffers m_distribution and m_calculation had too weak an alignment,
causing a crash when starting the web simulator.
Change-Id: Ibfd3c2582bc4de97beb4d6cc51b9fb86300edb5e
Cache did not check that the step was the same before panning, causing
old values to remains cached.
e.g. :
- Type f(x) = x, and plot it.
- Go to Axes, and set Xmax = 0.
- Confirm
Change-Id: Ie8ed10c336cf517a65f19b05bd14866daf8128c2
Temperatures can be converted to and from degree Celsius and Fahrenheit.
When used in non-trivial calculations, they are always reduced to undef,
as the rules for manipulating relative scales are not well defined.
Change-Id: If59e224a0e7f940b421bc894bbe2279c90f38d04
Fix a bug preventing the cursor from moving to other curves using UP and
DOWN when the y value was undef.
To reproduce :
- In Graph, define f(x) = 1 and g(x) = ln(x), then draw the curves
- Press DOWN to select g
- Press LEFT until g is not defined anymore
--> Pressing UP or DOWN won't allow you to select f
Change-Id: I79ed4a57b78ac0b8dac3f66e722e358bd4be18d9
Fixed issues due to copy/paste of empty formulas. When pasted, empty
formulas are now recognized by the parser and apear with the
correct layout
Without this process, copying an empty integral then pasting it gives :
int((), x, (), ()) instead of drawing an empty integral
Change-Id: I680aaf4eea953149e2d57efa8153ab4d3f93e2a7
When a formula is pasted in a script or in the shell, some symbols are
replaced by their equivalent in python :
x turns into *
^ turns into **
√ turns into sqrt
etc
Change-Id: If6f2a22d4f3c148c2655e0892023b0e28058a9a6
When selecting a country, the table would be cropped by the text, with
no separator between the white of the cropped cell and the background
color.
Change-Id: Ia6be40bce40b7cdb3efa064989d45ef5c046e364
The solutions of equations that need numerical approximations to be
solved are now computed base on the undeveloped equation (instead of
fully the expended one used to identify polynomials)
This allow (x-10)^7=0 to yield x=10 as result (9.95 before)
Change-Id: Ia8acbe57a9cfebf0b5016e9c896d21c8ddac7a64
Mixed fractions for negative rational numbers are now computed as the
opposite of their opposite's mixed fraction, as is conventionnal.
ex : -9/5 is now decomposed as -1-4/5 instead of -2+1/5
Change-Id: I6df3dce585ccadd1bcd7cc562576995face98f9c
The Equal sign now triggers a syntax error in all apps but Solver. This
make its behaviour symmetrical with that of < and >.
Change-Id: Ia886c547a315d5627a69f3f2acac2cbce0e202c2
Sequences can now be defined using specific terms form other sequences :
Un = n
Vn = u(3)
Initial values can also depend on other sequences.
Should there be a circular dependency, the sequences concerned will
display "undef" as value
Change-Id: I6fe1f3ff7b500f35d480ddefb42de729c327432e
In UnitConvert::shallowBeautify, an orphan expression would be reduced
without reaffecting the reduction's result. The reduction not being
taken into account would cause problem when handling undef values.
ex : Try to calculate i->_min
Change-Id: I4e53afa40ba838fed8c2fba9944c9c9ed1dc95b4
Implemented std::nextafter to replace hand made one.
Methods next and previous are no longer making the difference between -0
and +0
Change-Id: I42e1a073623b70656d9df954694803840cf3088c
The new zoom implemented for ContinuousFunction is now factorized inside
Function to benefit the Sequence class. The same things is done to code
added to Graph::GraphController, which is moved into
FunctionGraphController.
This removes the reimplementation of several methods, most notably
computeYRange, as the implementation for function is general enough to
work on sequences.
Change-Id: I9b8211354064f46c3fa3dde3191dcb39d627a1d2
The auto zoom did not display the X axis when drawing positive curves
with roots, such as sqrt(x).
Change-Id: Ic80fd3207691dc917f7b64c07d7745ab5df1daa3