Romain Goyet
46647cc35c
[build] Allow building official targets on CI environments
2020-03-25 13:44:10 +01:00
Émilie Feral
3245a0060e
[build] Fix target all_official: get rif of .mem
2020-03-24 16:44:20 +01:00
Émilie Feral
f84b3dc5c1
[poincare] Power approximation: avoid approximating a power to 0 when
...
one of the real/imaginary part was not null
2020-03-24 16:22:43 +01:00
Émilie Feral
7c79c70890
[poincare] When simplification has been interrupted, escape the end of
...
simplification. Otherwise we can be stuck in infinite loop.
This fixes the following bug: when simplifying an expression as
'bigRational1^x*bigRational2^x', we use the rule a^x*b^x --> (a¨b)^x. However,
in this case, a*b can't be reduce (resulting rational would be too big) and
we're stuck in the loop a^x*b^x --> (a¨b)^x --> a^x*b^x --> (a¨b)^x...
2020-03-24 16:22:43 +01:00
Émilie Feral
c0f73e97d2
[ion] Android Makefile: simplify rule_for_gradle
2020-03-24 10:26:59 -04:00
Émilie Feral
43bf89c6e4
[ion] Android build: specify libepsilon libraries' name when building
...
the apk
2020-03-24 10:26:59 -04:00
Romain Goyet
62324b9cac
[build/emscripten] Don't use memory init files anymore
...
Those provide a really small size gain and are painful to deploy
2020-03-24 15:02:10 +01:00
Romain Goyet
ca89c06ffe
[build/emscripten] We now use the newer #canvas convention
2020-03-24 15:02:10 +01:00
Romain Goyet
fd629de548
[build] Clean the "all" targets
...
Remove "DEBUG=0" because it's the default
Use handy targets when possible
2020-03-24 15:02:10 +01:00
Romain Goyet
eadfe4aa56
[ion/simulator/web] Name the target "epsilon.zip" to match other targets
...
This way it's consistent with epsilon.ipa on TARGET=ios and epsilon.apk
on TARGET=android
2020-03-24 15:02:10 +01:00
Romain Goyet
edbd879b4b
[ion] Modularize the HTML simulator
2020-03-24 15:02:10 +01:00
Léa Saviot
05d24e0c61
[ion/android] Longer comment on Home button hiding fix
2020-03-24 10:10:02 +01:00
Léa Saviot
f31de20039
[ion/android] Hide the status bar and navigation buttons
...
This is a hack, we should find why this was broken after v12.
2020-03-24 10:10:02 +01:00
Émilie Feral
5f5636fe4d
[build] Fix all_official target
2020-03-20 09:32:24 +01:00
Émilie Feral
1809037273
[ion] Fix epsilon.official.ipa dependencies
2020-03-19 13:36:10 +01:00
Romain Goyet
81cd18ad67
[build] Signing android apps is easier
...
Signing parameters can be passed on the command line, e.g. "ANDROID_SIGNING_STORE_FILE=foobar", or they can be written to a ~/.gradle/gradle.properties file using the "EPSILON_SIGNING_STORE_FILE=foobar" syntax.
2020-03-18 17:30:20 +01:00
Émilie Feral
5f8f1d96ee
[build] Actually use the mobileprovision file stored in build/artifacts/
2020-03-16 18:07:01 +01:00
Émilie Feral
8c370b409c
[build] Add the .mem files to all_official/
2020-03-16 18:07:01 +01:00
Émilie Feral
d2f40130b2
[build] Change folder name: stable_release --> all_official
2020-03-16 18:07:01 +01:00
Jacob Young
a8783fe21f
Remove a duplicate function, cleanup sorting and use consistent argument names in math.h.
...
Add missing math.h tests and make each test a single line for easier comparison with math.h.
Add missing cmath undefs and functions and use constexpr instead of static.
2020-03-16 15:00:40 +01:00
Léa Saviot
e828491171
[apps/probability] Test on finite integral computations
2020-03-16 11:40:40 +01:00
Léa Saviot
29b4c75227
[apps/probability] Assert discrete distributions override evaluation
2020-03-16 11:40:40 +01:00
Léa Saviot
5c70fdc7a6
[apps/probability] Handle a == b case in finite integral computation
...
For non continuous distributions, P(a <= X <= a) is not necessarily
null.
2020-03-16 11:40:40 +01:00
Émilie Feral
d222d13156
[poincare] CHange name PowerNode::tryComputeRealRootOfRationalPow -->
...
PowerNode::computeNotPrincipalRealRootOfRationalPow
2020-03-16 11:36:37 +01:00
Léa Saviot
da6306cb11
[poincare/multiplication] Interrupt reduction if overflow
...
When the overflow is due to the max size a rational can hold, stop the
reduction, otherwise some false results can appear.
For instance: 1.0092^50*ln(1.0092) was computed to 0 due to this problem
2020-03-13 14:16:43 +01:00
Léa Saviot
f00bd4d1c5
[poincare/multiplication] Factorize code
2020-03-13 14:16:43 +01:00
Léa Saviot
1e11650122
[poincare/test] Fix precision in approximation test
2020-03-13 14:16:43 +01:00
Léa Saviot
e636a2c315
[poincare/test] Add failing tests (commented but to fix later!)
2020-03-13 14:16:43 +01:00
Léa Saviot
313cbf6767
[poincare/arithmetic] Shortcut the LCM and GCD computation if equal
...
This fixes: LCM(7.88861e+169, 7.88861e+169), which overflowed at some
point during the computation
2020-03-13 14:16:43 +01:00
Léa Saviot
97d94d9e56
[poincare/test] Add failing test on multiplication simplification
2020-03-13 14:16:43 +01:00
LeaNumworks
13b2deb714
[poincare/approximation_helper] Clearer code
...
This should do the same output.
2020-03-12 14:41:50 +01:00
Léa Saviot
576d1dcd6b
[poincare/power] Rename and comment computeRealRootOfRationalPow
2020-03-12 14:41:50 +01:00
Léa Saviot
175af27ea9
[poincare/approximation_helper] Factorize some code
2020-03-12 14:41:50 +01:00
Émilie Feral
879c1e3bf1
[poincare] ApproximationHelper: fix precision threshold of
...
NeglectRealOrImaginaryPartIfNeglectable
2020-03-12 14:41:50 +01:00
Émilie Feral
d431642e60
[poincare] Add tests on atanh approximation
2020-03-12 14:41:50 +01:00
Émilie Feral
a2e9d8efd6
[poincare] Improve trigonometry functions and power functions
...
approximations. We neglect the real or imaginary parts when it is
neglectable compared to the input.
2020-03-12 14:41:50 +01:00
Émilie Feral
9936d99411
[poincare] Add comment on Power::templatedApproximate
2020-03-12 14:41:50 +01:00
Émilie Feral
12a5f5499c
[poincare] Handle real root finding in Power and NthRoot in order to
...
remove beautifying x^(p/q) -> root(x,q)^p. This triggered precision
loss!
2020-03-12 14:41:50 +01:00
Émilie Feral
5407709798
[poincare] Add approximation tests that fails because of precision loss
2020-03-12 14:41:50 +01:00
Émilie Feral
515405a5df
[poincare] In Power::approximation and SquareRoot::approximation, the
...
real (or imaginary) part negligence should depend on the argument value
relatively to some other values (norms of the parameters) and not of its
value absolutely!
2020-03-12 14:41:50 +01:00
Léa Saviot
ebdac63681
[poincare/parser] u_ v_ w_ are not special identifiers anymore
2020-03-12 11:48:54 +01:00
Léa Saviot
90f2e5beed
[ion/sdl] Do not process more than one buffered event
...
Scenario:
Make an infinite loop script (while 1 : 1+1) and run it. Input 1234567
then press Back to interrupt the infinite loop -> the script execution
stops, then 1234567 is input in the input line, which is quite weird. It
is even weirder when the key pressed during the [script execution / a
long computation] result in navigation inside the calculator apps.
2020-03-11 15:36:52 +01:00
Léa Saviot
9ab3558cfe
[ion/events_keyboard] Remove unused cases
2020-03-11 15:36:52 +01:00
Léa Saviot
1242258992
[ion] Handle key events in all simulators as in EPSILON_SDL_SCREEN_ONLY
...
This way, physical keyboard events can be caught by python on all
simulators
2020-03-11 15:36:52 +01:00
Léa Saviot
4a4ba52e38
[ion/events] Better handling of Shift on the web target
2020-03-11 15:36:52 +01:00
Léa Saviot
18f3054b50
[ion/simulator/web] Do not duplicate events in scan and getPlatformEvent
...
Some events were caught by bith scan() and getPlatformEvent()
2020-03-11 15:36:52 +01:00
Léa Saviot
a7d419c4bd
[ion/emscripten] Get physical keyboard events in scan()
2020-03-11 15:36:52 +01: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
Léa Saviot
702772a7c9
[apps/reg] Store::m_seriesChecksum is Snapshot::m_prevModelsVersions
...
Share these objects instead of duplicating them
2020-03-11 11:43:36 +01:00
Léa Saviot
53705fb333
[apps/graph_ctrlr] Reload range if no previous model is present
...
We memoize the checksum of the x first models, and we check that one of
these models is still present when the graph view appears. If so, we do
not reload the range, other wise we reload it.
Scenario:
f(t) = [t^2 t+1] in parametric
Display the graph
f(x) = 1 on ]-inf;0]
g(x) = 2 on [0;inf[
Display the graph -> the range did not change
2020-03-11 11:43:36 +01:00