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
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
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
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
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
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
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.
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.
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
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
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).