Commit Graph

13310 Commits

Author SHA1 Message Date
Gabriel Ozouf
1531f96bb8 [poincare/derivative] Update test on derivation 2020-12-02 16:54:09 +01:00
Gabriel Ozouf
764d14fed1 [poincare/constant] Constants differentiate to 0 2020-12-02 16:54:09 +01:00
Gabriel Ozouf
a178c88e54 [poincare/logarithm] Fix derivative domain of definition
The logarithm function is undefined for negative numbers, but its
derivative, the inverse function, is defined everywhere. We thus need to
virtually limit the domain of definition of the derivative.
2020-12-02 16:54:09 +01:00
Gabriel Ozouf
591f47d6a9 [continuous_function_cache] Coding style 2020-12-02 16:50:17 +01:00
Gabriel Ozouf
937979503a [shared/continous_function] Detach cache of inactive function
When a function that had previously been cached is deactivated, its
cache can be used by another function. When the function is reactivated,
if it tries to reuse its previous cache, it will be filled with values
from another function, and will not be cleared. By detaching the cache
of a function that becomes inactive, we ensure that the next time this
function is cached, the chache will be cleared.

e.g. Define to functions f(x)=x, g(x)=-x, draw them both.
     Deactivate f, the redraw the graph
     Reactivate f, the draw again
2020-12-02 16:50:17 +01:00
Gabriel Ozouf
3501146e35 [shared/continuous_function_cache] Detach cache from function
When three functions or more, the third function and later don't use
caching. But it is still possible for them to have been linked to a
cache (for instance if previous functions had been deactivated earlier).
To avoid a function tapping into another function's cache, we reset the
cache.

e.g. Define 3 functions f(x)=1, g(x)=2, h(x)=3, and deactivate f.
     Draw the graph, come back, reactivate f, then draw again.
---> The space between y=2 and y=3 will be filled with the color of h,
as h "remembers" using cache n°2, wich currently contains the values of
function g.
2020-12-02 16:50:17 +01:00
Gabriel Ozouf
48bd7b6a77 [poincare/logarithm] Factor corner case log(x,0) and log(x,1) 2020-12-02 16:49:09 +01:00
Gabriel Ozouf
f09f06d7ac [poincare/logarithm] Update tests 2020-12-02 16:49:09 +01:00
Gabriel Ozouf
9775953142 [poincare/logarithm] ln(0) = undef
As a consequence, log(x,0) = ln(x)/ln(0) = undef
2020-12-02 16:49:09 +01:00
Gabriel Ozouf
71ac56f8a7 [ion/simulator] Update calculator keyboard image
Remove the "sto" from the x^y/sto->/F key, and add the % symbol to the
Backspace key.
2020-12-01 09:37:09 -05:00
Hugo Saint-Vignes
e295e9ead0 [github/workflows] Update Metrics to remove NumWorksBot
Change-Id: Icfd19cbad5472f6bf81a2a1accb88e79ab7a115b
2020-11-30 14:01:12 +01:00
Joachim Le Fournis
36742789b0 [py] Support round on int 2020-11-30 14:01:12 +01:00
Émilie Feral
312c02fd69 [.github/workflows] ci-workflows: update setup-emscripten 2020-11-30 14:01:12 +01:00
Romain Goyet
bd22c06d98 Use semantic branches on setup-arm-toolchain 2020-11-30 14:01:12 +01:00
ThePythonGuy
b343c5a02c [base.es.i18n] Translated some missing stuff to Spanish (#430)
* Update base.es.i18n

* Update base.es.i18n

* Update base.es.i18n

* Update base.es.i18n

* Update base.es.i18n

* Update apps/home/base.es.i18n

Co-authored-by: Quentin <quentin.guidee@gmail.com>

Co-authored-by: Quentin <quentin.guidee@gmail.com>
2020-11-28 22:40:43 +01:00
Quentin
1f05547437 [github] Update README.md to fix n0100 compilation (#429) 2020-11-27 16:51:08 +01:00
Quentin Guidée
68397ad0a6 [.github/workflows] Fix metrics 2020-11-27 16:42:07 +01:00
Quentin
f0ecb4c833 Merge pull request #428 from Omega-Numworks/omega-bot-for-workflows
[github/workflows] Omega-Robot for workflows
2020-11-27 14:25:01 +01:00
Quentin Guidée
5bbba6cf80 [github/workflows] Reintroduce OmegaRobot 2020-11-27 13:56:02 +01:00
Quentin
7f488b45f1 Merge pull request #427 from quentinguidee/merge-upstream
[upstream] Update
2020-11-27 13:52:03 +01:00
Quentin Guidée
ff029ea785 Merge branch 'omega-dev' into merge-upstream 2020-11-27 13:24:57 +01:00
Quentin Guidée
1347b1a20c [upstream] Update 2020-11-27 13:23:07 +01:00
Hugo Saint-Vignes
1fd970fe50 [apps/regression] Remove TODO and update comment
Change-Id: I049645e03c82e953dde14f363d113b718408efd5
2020-11-26 17:52:42 +01:00
Hugo Saint-Vignes
e9662e4c45 [apps/regression] Compute numberOfPoints automatically
Change-Id: I35a1902aeda06cc80ae8808d886b3e161bae8ad9
2020-11-26 17:52:42 +01:00
Hugo Saint-Vignes
72e8ac7d02 [apps/regression] Add tests for Trigonometric regressions
Change-Id: Ie4363d79a53c09369b24924b35bf26a66e9a8f93
2020-11-26 17:52:42 +01:00
Hugo Saint-Vignes
06d7104776 [apps/regression] Improve initial coefficient value
Change-Id: I2026b8de7e031f7e22921be2def800fa71d7a4e4
2020-11-26 17:52:42 +01:00
Hugo Saint-Vignes
1025fd9937 [apps/regression] Use cmath for sin and cos functions
Change-Id: I670eda49a73d9bf1d1d75194178344adda9b1014
2020-11-26 17:52:42 +01:00
Hugo Saint-Vignes
c55eb6b028 [apps/regression] Fix angleUnit dependent coefficients for trigonometric model
Change-Id: I8027c131b0fd7b020eb502168ac068a0b84da1e4
2020-11-26 17:52:42 +01:00
Gabriel Ozouf
2ba1941270 [poincare/zoom] Float litterals
Change-Id: Ifea5f356b9cee271c43b3d9b9168fd38db78d87a
2020-11-26 17:51:40 +01:00
Gabriel Ozouf
ddfde60982 [poincare/zoom] Update tests for the device
Change-Id: Ied73829ff294dc243ca177c5c2acfb374a7446b9
2020-11-26 17:51:40 +01:00
Gabriel Ozouf
746a781016 [poincare/zoom] Fix coding style
Change-Id: I263e1a95023f650376bf6a1c4bb45426d52d5e4c
2020-11-26 17:51:40 +01:00
Gabriel Ozouf
fdcccde996 [poincare/zoom] Update unit tests
Change-Id: Ic108bfbacd54d43ef6c721589ada813ca648e88e
2020-11-26 17:51:40 +01:00
Gabriel Ozouf
4869383263 [poincare/zoom] Better handling of single points of interest
Functions with a single point of inerest used to be drawn on a tiny
interval around this point.
Now, an orthonormal window is built around the point of interest, giving
a much nicer view.

Change-Id: I7793797aead2695532ddea44d93d62bb7ef870f4
2020-11-26 17:51:40 +01:00
Gabriel Ozouf
229865aff8 [poincare/zoom] Rework unit tests
Change-Id: Id0ff36517d14710701f6a4c1cec8817442b6f946
2020-11-26 17:51:40 +01:00
Gabriel Ozouf
291b400595 [poincare/zoom] Ignore imprecise float value
When looking for extrema in a function, we need to discard results where
the function growth rate is smaller than the precision of the float type
itself : these results are likely to be too noisy, and can cause false
positives.
e.g. : The sqrt(x^2+1)-x function

Change-Id: I6e2c002d7308b41a4c226d274cbb5d9efe4ea7db
2020-11-26 17:51:40 +01:00
Gabriel Ozouf
adf28345b1 [poincare/zoom] Reduce zoom artifact
Do not use the bounds of the interval when computing a refined range.
As the bounds are often integers, the zoom would give strange result on
some non-continuous functions (e.g. f(x) = x!).

Change-Id: Ie127fe15191cb3951cff223adc8dc3172188c789
2020-11-26 17:51:40 +01:00
Gabriel Ozouf
a418602763 [poincare/zoom] Remember points of interest when refining
Change-Id: I229cbffa2577d23bfa0a4c0632bc9ec32ae338e7
2020-11-26 17:51:40 +01:00
Gabriel Ozouf
ca9cb63909 [poincare/zoom] Reduce the step for searching points of interest
The algorithm to search for points of interest will miss some. We reduce
the step to make it more precise, so that tan(x) and tan(x-90) have the
same profile.

Change-Id: Ia1bac1d4e7b98d2d6f36f8ce12ed9dac67d40198
2020-11-26 17:51:40 +01:00
Gabriel Ozouf
540209f1a9 [poincare/zoom] Preserve standard bound when normalizing
Change-Id: I6d736e945eda6982ad26836763feded8a55134a0
2020-11-26 17:51:40 +01:00
Gabriel Ozouf
e4162976e4 [poincare/zoom] Method NextUnit
Change-Id: I8200c38fd44b662dcffa8e9850fc272f3e2dc7e8
2020-11-26 17:51:40 +01:00
Hugo Saint-Vignes
cfc37f1bac [apps/sequence] Factorize sequence row index offsets
Change-Id: Id6fa632521858c48fe7d3daf35fd846bf24a05eb
2020-11-24 13:26:55 +01:00
Hugo Saint-Vignes
387d3c9aa1 [apps/sequence] Fix row offset when returning to previous menu
Change-Id: Ic3eee6bb1ecb991b97dc9190fab95774938d294e
2020-11-24 13:26:55 +01:00
Hugo Saint-Vignes
b08a29cab4 [apps/sequence] Fix typo
Change-Id: Ic34b84073ef268eaddfe4224c3171c9aaa7ca395
2020-11-24 13:26:55 +01:00
Hugo Saint-Vignes
110f333122 [github/workflows] Update Metrics to remove NumWorksBot
Change-Id: Icfd19cbad5472f6bf81a2a1accb88e79ab7a115b
2020-11-24 10:41:59 +01:00
Gabriel Ozouf
4aa19ccd78 [i18n] Fix PT translation for imperial units
Pint -> "Pinto"
Cup -> "Copo"

Change-Id: I96dea0c6f1551db617f017d2121aaf0f2b6d0095
2020-11-24 10:40:56 +01:00
Gabriel Ozouf
56e03aae0c [shared] Remove angleUnitVersion
The angleUnitVersion check is no longer needed, as changing the angle
unit with a trigonometric function set would leave the cursor hanging.

Change-Id: I17d99c05daeacfec953865158cdfe7706635cd32
2020-11-24 09:55:22 +01:00
Gabriel Ozouf
5e679b7bc8 [graph] Change cursor initial position
The cursor now initially aligns with the grid, and tries to avoid points
where the function is not defined.

Change-Id: Ie3b304281f5848102c2f3c0aa5c031b351418186
2020-11-24 09:55:22 +01:00
Joachim Le Fournis
bd5cdb0f65 [py] Support round on int 2020-11-23 12:12:46 +01:00
Émilie Feral
99e63ec30b [.github/workflows] ci-workflows: update setup-emscripten 2020-11-23 11:26:01 +01:00
Hugo Saint-Vignes
962136ce8f [ion/simulator] Temporarly increase stack size on simulator
Change-Id: I0f27277ea704f81e316c7ff78fb7bed8c70ff4ae
2020-11-23 11:26:01 +01:00