In Calculation, keeping the BACK key pressed can lead to iffy
simplifications and uninitialized expressions beign passed to
ShouldDisplayAdditionalOutputs and SetAdditionalExpressions methods.
Change-Id: If248ab193c471ff433828fc841e01a391e0c052d
Additional results are proposed for all units combinations that include
a non-base unit, in addition to units with special results.
Change-Id: I91f2a1a43c72bad0327132396534a223e87b06a2
When tuning the representative without tuning the prefix, the prefix
would not be reset to its default value, causing a problem for masses,
whose base prefix depend on the representative (k for grams, none for
the rest).
Fixes a crash when typing sqrt(_N) with country set to US.
Change-Id: Iade900de5fb31e06fdfafef34ae27da3f36983fa
In metric, sqrt(N) would be simplified to _N_kg^-0.5_m^-0.5_s instead of
_kg^0.5_m^0.5_s^-1.
We solve this issue by preventing simplification using derived units
in presence of rational exponents.
Change-Id: I97118bb32c963809c8d176b7b297d1682965e9af
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