summaryrefslogtreecommitdiffstats
path: root/src/com/android/calculator2/Calculator.java
diff options
context:
space:
mode:
authorHans Boehm <hboehm@google.com>2015-05-26 17:52:32 -0700
committerHans Boehm <hboehm@google.com>2015-05-26 18:10:42 -0700
commite4579121c8a9c9df22a35944ad5066d38dc22b37 (patch)
treea6af1b60ca714e7cf8fb79b0e417f42adc3dca63 /src/com/android/calculator2/Calculator.java
parent2e1f8eb32826914d1dc2501820f237d4399c53b9 (diff)
downloadandroid_packages_apps_ExactCalculator-e4579121c8a9c9df22a35944ad5066d38dc22b37.tar.gz
android_packages_apps_ExactCalculator-e4579121c8a9c9df22a35944ad5066d38dc22b37.tar.bz2
android_packages_apps_ExactCalculator-e4579121c8a9c9df22a35944ad5066d38dc22b37.zip
Improve evaluate-ahead heuristic
Bug: 21447808 This changes the existing heuristics to compute ahead significantly more aggressively. In my testing, this typically managed to prevent blanks from being displayed even during rapid scrolling. We start the next computation once we get near the end of what we've currently computed. By the time we get to the end, the new results are ready. With this change, we typically compute to nearly 100 digits even without scrolling, and the amount we compute ahead increases as we've scrolled further. With the previous asin() CL, that seems to be fine. I suspect, but have not confirmed, that for this size BigInteger operations, much of the latency is fixed, e.g. JNI, overhead, and the number of digits is not yet critical anyway. This should reduce the total amount of computation, and hence battery usage, during "extreme scrolling", since the evaluation precision now increases geometrically. Update a copyright notice. Change-Id: If3a162016b8ffbacc872361aaa99c77c7fd578a2
Diffstat (limited to 'src/com/android/calculator2/Calculator.java')
0 files changed, 0 insertions, 0 deletions