Commit Graph

10895 Commits

Author SHA1 Message Date
Neven Sajko
201ecaef5b Performance fixes relating to floating point: erf and erfc
erf and erfc are missing float versions, so I import them from
openlibm. erf is used from Poincare::NormalDistribution::
StandardNormalCumulativeDistributiveFunctionAtAbscissa<float>, and erfc
is used (?) just from MicroPython.

To clarify, if there is no float version of a function like erf, but
there is a double version, C++ promotes the possible float parameter to
double and soft-float hilarity ensues.
2020-04-09 13:58:56 +02:00
Neven Sajko
c0c73accef [probability] Prevent soft-float in StudentDistribution::lnCoefficient 2020-04-09 13:58:56 +02:00
Neven Sajko
bdc5be94b6 Performance fixes relating to floating point
Removes unneccesary usage of soft-float double usage. The reason for the
useless double math being done were broken standard C++ functions:
atanh<float>, sqrt<float>, asinh<float>, operator/<float>. This was in
turn caused by missing float versions of C++ functions hypot, atan2,
logb, scalbn.

A logbf implementation was missing from the libm, so I added one from
openlibm.
2020-04-09 13:58:56 +02:00
Neven Sajko
c92b770112 Performance fixes relating to floating point constants
This replaces unnecessary double-precision soft-float operations with
single-precision floating-point operations, mainly by casting.

In a couple places I also replace a function call with a constant.
2020-04-09 13:58:56 +02:00
Émilie Feral
068325d151 Coding style: remove unecessary 'virtual' keyword when 'override' is
present 2/2
2020-04-09 11:36:51 +02:00
Émilie Feral
82c4936e04 Coding style: remove unecessary 'virtual' keyword when 'override' is
present 1/2
2020-04-09 11:36:51 +02:00
Romain Goyet
64a1094edf [escher/layout_field] Use IsMoveEvent 2020-04-09 09:47:43 +02:00
Romain Goyet
ec4def61c3 [escher/layout_field] Avoid calling the same method over and over again 2020-04-09 09:47:43 +02:00
Jean-Baptiste Boric
2f61b823d0 [poincare] Remove statically-allocated buffers 2020-04-08 10:09:47 +02:00
Jean-Baptiste Boric
2768ac2b48 [escher] Remove statically-allocated buffers 2020-04-08 10:09:47 +02:00
Jean-Baptiste Boric
64d0b3107f [apps] Remove statically-allocated buffers 2020-04-08 10:09:47 +02:00
FloMiau
b59085bd7f Update German language file
replace "Testmodus" with "Prüfungsmodus"
Real: "Reel" -> "Reell"
Gradians: "Gone" -> "Gon"
2020-04-08 10:09:24 +02:00
Romain Goyet
743eb104bf [ion] Replace Ion::Events::Event::id() by an explicit cast operator 2020-04-08 09:56:33 +02:00
Romain Goyet
35d446353f [escher] Avoid long switches on Left/Up/Right/Down 2020-04-08 09:56:33 +02:00
Romain Goyet
ed7e6bec9d [build/device] Generate a RAM map 2020-04-07 17:15:05 +02:00
David
9272d4e75f Increase Brightness Levels to 12 2020-04-07 15:10:22 +02:00
Aleks ANDRÉ
3ae1dcd9bf retours à la ligne aidant à la lecture 2020-04-07 14:42:38 +02:00
Émilie Feral
c363231673 [build] --silent option in rule_for_arch_executable prevent from running
'make V=1' and getting the expected output
2020-04-07 14:22:33 +02:00
Aleks ANDRÉ
ee56f02f2b Margin, messages 2020-04-07 13:57:47 +02:00
Aleks ANDRÉ
b30eb20ac2 Margins, message 2020-04-07 13:57:27 +02:00
Aleks ANDRÉ
53e15787cd Margins, message 2020-04-07 13:57:06 +02:00
Aleks ANDRÉ
1fd216c97e Margins, message 2020-04-07 13:56:46 +02:00
Aleks ANDRÉ
73f34f8f3d Relecture
– zéro → racine. Il s’agit de la terminologie du programme de [1re spécialité](https://cache.media.education.gouv.fr/file/SP1-MEN-22-1-2019/16/8/spe632_annexe_1063168.pdf)
– homogénéisation avec autres applications
2020-04-07 13:55:24 +02:00
Aleks ANDRÉ
e399472577 Anglicismes 2020-04-07 13:46:11 +02:00
wow
42fa0e7fbc More friendly french translations 2020-04-07 11:46:30 +02:00
Émilie Feral
7df8c2935a [python] upgrade to micropython 1.12 2020-04-07 11:28:32 +02:00
Émilie Feral
010fb1894f [python] Remove mpversion useless header 2020-04-07 11:28:32 +02:00
Émilie Feral
26aab94ac0 [apps/shared] Avoid signed/unsigned int comparison warning 2020-04-07 09:51:39 +02:00
Émilie Feral
e1d7b6bb04 [apps] Avoid unsigned/signed comparison: storeChecksumAtIndex takes an
int as parameter
2020-04-07 09:51:39 +02:00
Émilie Feral
154625a945 [python] Fix warning: comparisons between signed and unsigned integers 2020-04-07 09:51:39 +02:00
Romain Goyet
e314f2eb65 [ci] Use steps to pass the binary_size result 2020-04-06 19:18:47 -04:00
Joachim LF
7e02a90b2a Don't scan not loaded script in toolbox 2020-04-06 18:31:32 +02:00
Joachim LF
77af9ab92b I18NWarn 2020-04-06 18:29:48 +02:00
Neven Sajko
bc7d598517 [ion] do not increment volatile variable in isr_systick
In 2019 a proposal was approved which is deprecating this and other
harmful usage of volatile in C++ in 2020. See web links at the end.

Note that this did not at all change the GCC-generated machine code.

Deprecating volatile (adopted in 2019 for C++20):
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1152r0.html
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1152r4.html

Related, but less relevant:

volatile_load<T> and volatile_store<T>:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1382r1.pdf

Deprecating volatile: library:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1831r0.html
2020-04-06 17:18:03 +02:00
Neven Sajko
1c9b402645 [ion] Remove volatile qualifier from millis return type
Qualification of an integer return type as volatile is ignored by the
compiler. To clarify, an integer value (not a variable), which is what
the return type is, can not be assigned to anyway, so qualification as
volatile does not make sense.
2020-04-06 17:18:03 +02:00
Romain Goyet
e34811ff18 [ci] Report metrics on each PR 2020-04-06 15:29:03 +02:00
Romain Goyet
02738ba06a [build] Add a tool to compare the size of two ELF files 2020-04-06 15:29:03 +02:00
Léa Saviot
efff509e2a [apps/global_preferences] DefaultLanguage is the first of the locales
Not EN, because we might build without the EN locale
2020-04-06 13:35:18 +02:00
Léa Saviot
19b5653851 [apps/i18n] Remove Language::Default
We never translate a i18n message to something else than the currrent
language selected
2020-04-06 13:35:18 +02:00
Émilie Feral
c58456a058 [python] matplotlib: add comment WIP 2020-04-06 12:30:52 +02:00
Émilie Feral
b7392dbd95 [python] matplotlib: clean implementation (by using
mp_obj_float_binary_op)
2020-04-06 12:30:52 +02:00
Émilie Feral
190802aa23 [python] Remove unused duplicate file 2020-04-06 12:30:52 +02:00
Aleks ANDRÉ
5348640925 Traduction 2020-04-06 10:37:34 +02:00
Romain Goyet
bfb39618e1 [poincare] Add some missing std::move 2020-04-06 10:13:14 +02:00
Romain Goyet
84f6b179de [build] rule_for now takes both "local" and "global" parameters
Previous the build would fail on macOS if you had an epsilon.elf file in
at the root of the project. Indeed, the %.elf -> %.bin rule would get
triggered, but this rule should only operate on generated (intermediate)
elf file.
2020-04-06 10:12:54 +02:00
Romain Goyet
7d5cad32b1 [build/all] Q isn't defined (and isn't needed either) 2020-04-06 10:02:06 +02:00
Romain Goyet
edde8e8eba [build/all] Re-sourcing emsdk isn't needed 2020-04-06 10:02:06 +02:00
Romain Goyet
f450e36e65 [build/all] Use the short iOS and Android targets 2020-04-06 10:02:06 +02:00
Romain Goyet
88912be9a8 [build] The all target can live in a standalone Makefile 2020-04-06 10:02:06 +02:00
Romain Goyet
a840e7fb05 [liba] Define SEEK_CUR
For some reason it was defined in Python and raised re-def errors
2020-04-06 09:51:04 +02:00