Commit Graph

10727 Commits

Author SHA1 Message Date
Émilie Feral
d950e37b22 [build] Emscripten toolchain: do not use a memory-init-file 2020-03-25 14:35:35 +01:00
Romain Goyet
64bab33792 [build] Add apk has a handy target on android 2020-03-25 13:44:10 +01:00
Romain Goyet
5e9543e3b7 Remove whitespace 2020-03-25 13:44:10 +01:00
Romain Goyet
2cdb5d38bf [build/android] Ignore the linter on release builds 2020-03-25 13:44:10 +01:00
Romain Goyet
b36de49b48 [simulator/android] Sign iff signing environment is provided 2020-03-25 13:44:10 +01:00
Romain Goyet
fca1dde44d [simulator/android] Use target-agnostic rules 2020-03-25 13:44:10 +01:00
Romain Goyet
693cff1e23 [build] Defining EXE is not required
Some platforms don't have direct executable formats. For instance, on
Android, there *is* an EXE format for a given ARCH, but .so does not
apply to ARCH-less builds.

And having default rules for %.so on ARCH-less Android would get in
the way when copying the shared obejcts for the APK.
2020-03-25 13:44:10 +01:00
Romain Goyet
964541d645 [build] Don't show any message if official tos have been accepted 2020-03-25 13:44:10 +01:00
Romain Goyet
625afcfd42 [build/android] Unify the behavior with iOS and macOS 2020-03-25 13:44:10 +01:00
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