Commit Graph

432 Commits

Author SHA1 Message Date
Arthur Camouseigt
1d71a14d2c [Context] Modifying context method signature for sequences
This allows sequences to be used in functions by calling u(x)

Change-Id: I336e84a19bf9b3dd0f2e435d1aaebda3c9e71ec8
2020-11-04 15:32:58 +01:00
Arthur Camouseigt
3dca515441 [VariableBox] Added sequences to the variable box
It is now possible to call the value of a defined sequence anywhere.

Change-Id: I1990e93c50f9add175b7ea274e07004ba63289e5
2020-11-04 15:32:58 +01:00
Gabriel Ozouf
5749d871b0 [apps/i18n] Moved country preferences
Instead of being hardcoded in the python script, preferences specific to
each country are defined in the country_preferences.h and .csv files.

Change-Id: I71e276341e1586935b4d5814be5b1be80fa170a0
2020-11-04 15:11:44 +01:00
Gabriel Ozouf
2b59509fdd [apps/i18n] Derive preferences from country
Each country comes with an set of preferences, built at compile time by
apps/i18n.py, used to define :
  - the exam mode
  - the method for computing quartiles
  - the unit system in which to output the results with units
Functions to access those preferences are available in
via sharedGlobalPreferences.

Change-Id: I220ebaa9b9e8954dfe33cd51936f47505b98978d
2020-11-04 15:11:44 +01:00
Gabriel Ozouf
ea127cdfa9 [apps/statistics] Added tests for all countries
As some definitions now depend on the selected country, tests for the
statistics app now check that the right method is used for each country,
and that each method yields the correct results.

Change-Id: Ia5ad091136746f3284f7524376301fac0c582364
2020-11-04 15:11:44 +01:00
Gabriel Ozouf
86f7a87d45 [apps/statistics] International quartiles
Implemented a new method for computing quartiles, used for all countries
except France and Italy. Quartiles are now computed as the medians of
the lower half and upper half of the dataset.

Change-Id: Idfb89a617799eca1d23326ebbcfbbea58e6236b8
2020-11-04 15:11:44 +01:00
Arthur Camouseigt
1e82d5012b [Stats] Moved sort messages to shared+NL translation
This allows compilation without stats app

Change-Id: I0f564ee46756420f0cff5da91ed77677b22cdee0
2020-11-04 15:07:20 +01:00
Hugo Saint-Vignes
e27c668c40 [apps,escher,kandinsky,poincare,python] Replace every "grey" with "gray"
Change-Id: I60a232849dce90f70e6977b6024d6e9b1ce1b731
2020-11-04 15:07:20 +01:00
Arthur Camouseigt
09e39ad890 [Stat+Reg] Allowing lists of values to be sorted
Change-Id: I181bb55443bf87356d127eb6c56ff6140806fdea
2020-11-04 14:45:35 +01:00
Hugo Saint-Vignes
3db1cad18b [poincare] Move IsApproximatelyEqual to a better helper
Change-Id: I056a96b3721005e01c6ef3f166a80a08195ff338
2020-11-04 14:45:34 +01:00
Hugo Saint-Vignes
eed1648363 [apps/statistics] Improve variance accuracy for statistics
Change-Id: Ie8f6f93c8e95940662e72a23619b53ac4ab0d6b6
2020-11-04 14:45:34 +01:00
Hugo Saint-Vignes
29b0e86225 [quiz] Improve test possibilities for regression and statistics
Change-Id: I4414fad24e10dcbd56cd9aff1e35e00ba66dda2c
2020-11-04 14:45:34 +01:00
Roberta Rabotti
981c627bc4 [IT]changed Sample standard deviation 2020-06-25 17:15:09 +02:00
Léa Saviot
e803ada15f [apps/Makefiles] Automatize i18n adding for different locales 2020-06-04 14:50:02 +02:00
Roberta Rabotti
549f537ff6 [it] Add i18n files to Makefiles 2020-06-04 14:50:02 +02:00
Roberta Rabotti
3ef28ec155 [it] new translation files 2020-06-04 14:50:02 +02:00
Serenela Moreira
a64ad87146 [pt] corrected settings and statistics 2020-06-04 14:50:02 +02:00
Jorick Alberga
b1e737879d [nl] Translation Epsilon 2020-06-04 14:50:02 +02:00
Jorick Alberga
7f561b0a3d [nl] Update translation Epsilon 2020-06-04 14:50:02 +02:00
Jorick Alberga
8a37096680 [nl] Start translation 2020-06-04 14:50:01 +02:00
Léa Saviot
ed753b793b [apps/statistics] Do not initRangeParameters too often 2020-06-04 14:50:00 +02:00
Léa Saviot
51b5edbe69 [apps/statistics] Remove too strict condition
One could not set the bin with / x start to a value that would not show
any data
-> The condition was asymetrical, as nextFirstDrawnBarAbscissa could not
be higher to the biggest data, but could have been too small to display
any data
-> We restricted the user
2020-06-04 14:50:00 +02:00
Léa Saviot
59aea9ca83 [apps/statistics] Factorize HistogramParamCtrlr::setParamAtIdx 2020-06-04 14:50:00 +02:00
Léa Saviot
250f4ec3dd [apps/statistics] Clean code 2020-06-04 14:50:00 +02:00
Romain Goyet
84768472bd Explicit std::min/max template usage
This is unfortunately required in several cases:
 - Sometimes when we use either float and double (this should be changed)
 - Because KDCoordinate is not an int, so any arithmemtic promotes it to
an int
 - Because we mix pointer differences and ints
2020-04-14 09:31:02 -04:00
Romain Goyet
950862f8d0 Use std::min and std::max 2020-04-14 09:31:02 -04:00
Romain Goyet
ada205b1a7 [build] Use variants
- Move helpers functions into build/helpers.mak
- Move official warning into official targets only
2020-04-03 22:26:55 -04:00
Émilie Feral
aaf71328ba [apps/shared] CurveView: resolve name conflict -
drawHorizontalOrVerticalSegment & drawSegment -
2020-04-01 10:18:08 +02:00
Léa Saviot
8168a125e6 [apps/statistics] Remove unused variable in HistogramView
It is unused as HistogramView now inherits Shared::HorizontallyLabeledCurveView
2020-03-11 13:58:41 +01:00
Romain Goyet
2bf83c43a8 [apps/shared] Factorize CurveView::label
There was a lot of code duplication.
I removed the initialization of xLabel{} and yLabels{} because those are
scratch buffers that shouldn't be accessed before being written to
anyway.
2020-03-11 09:51:33 +01:00
Léa Saviot
22afe4df2d [apps/statistics] EXE should open the histogram param controller
The OK button already does it.
2020-02-25 15:15:03 +01:00
Romain Goyet
5dee4a8166 [apps] Add screen telemetry identification 2020-02-17 10:31:24 -05:00
Romain Goyet
7f43b73049 [apps] Don't forget to call viewWillAppear
At the moment ViewController::viewWillAppear doesn't do anything, so
there is no real impact. But if we want to use it it needs to be called
from subclasses.
2020-02-17 10:31:24 -05:00
Léa Saviot
6f4a51a56d [apps/poincare] Use IEEE754::exponentBase10 instead of floor(log10) 2020-02-12 15:13:26 +01:00
Léa Saviot
c9f83f6e7e [apps/statistics] Fix bar width computation
There was a float -> double conversion lack of precision, which resulted
in akward results
Scenario:
Data
V N    Then display the histogram: the second bar is [1.9;2[ but
1 1    contains the 2 value
2 1
2020-02-12 15:13:26 +01:00
Léa Saviot
db0e7f0d8b [apps/solver] Display user variables in the solutions 2020-02-12 15:13:23 +01:00
Léa Saviot
88ab0e686c [apps] Less operations in willExitResponderChain if exiting app
If nextFirstResponder is nullptr, it means we are exiting the app, so
there is no need to relayout, reselect, ...
We did it bbefore because a long time ago, we used to keep all apps side
by side so they had to be thouroughly cleaned when exiting
2020-02-12 15:13:22 +01:00
Émilie Feral
60048cb9a9 [poincare] Create a ContextWithParent that implements expressionTypeForIdentifier 2020-02-12 15:13:22 +01:00
Émilie Feral
dfd4811136 [apps/shared] CurveView: change API to expose 'drawLabel' and
'drawLabelsAndGraduations'
2020-02-12 15:13:20 +01:00
Léa Saviot
9f018eb9d9 [escher/view] setFrame and layoutSubviews can be forced 2020-02-12 15:13:15 +01:00
Émilie Feral
4d593a6149 [poincare] PrintFloat: take into account the distinction between char
and glyph length in ConvertFloatToText
2019-09-26 11:26:48 +02:00
Émilie Feral
743bf7cf28 [escher] EvenOddMessageTextCell wraps the message view with a 2-pixel
margins (avoid almost duplicate classes)
2019-09-26 11:26:48 +02:00
Ruben Dashyan
38a4a44633 [apps/statistics/store] Fix typo 2019-09-26 10:35:06 +02:00
Léa Saviot
4caf9f5197 [coding style] Make some methods const 2019-09-09 20:05:14 +02:00
Émilie Feral
709479552a [apps/statistics] Store: when changing x/y range, we need to update
xGridUnit (even if the range is supposed to be constant, it might be
clipped or modified to assert min < max)
2019-09-06 16:16:10 +02:00
Émilie Feral
caa368ba41 [apps/statistics] Fix uninitialized values 2019-09-06 14:51:00 +02:00
Léa Saviot
553c649a80 [apps] Fix Stores margins 2019-09-04 13:43:37 +02:00
Émilie Feral
45d42287e2 [apps/shared] MemoizedCurveViewRange is composed of two Range1D to
factorize setters and getters
2019-09-03 15:34:35 +02:00
Émilie Feral
6de497c2ed [apps/shared] Templatize FloatParameterController to handle float/double
parameters.

Fix bug: when entering "e^234" as a parameter of a model keeping floats,
the FloatParameterController would accept the number (because e^234 is
defined in double) and store an undefined value in the model (because
e^234 is undefined in float).
2019-09-02 16:55:39 +02:00
Ruben Dashyan
766951b943 [apps/statistics/histogram_controller] Refactor initRangeParameters and initBarParameters 2019-08-29 15:13:41 +02:00