diff options
author | Hans Boehm <hboehm@google.com> | 2015-05-31 12:19:05 -0700 |
---|---|---|
committer | Hans Boehm <hboehm@google.com> | 2015-06-02 11:51:09 -0700 |
commit | 4db31b490443e4454d98a5ae2bc44b87149accfe (patch) | |
tree | 9843640804505c092ea1f883928b5871f7b56591 /res | |
parent | e125edff83b7f73cadaa7a0a007cccec6bd059b2 (diff) | |
download | android_packages_apps_ExactCalculator-4db31b490443e4454d98a5ae2bc44b87149accfe.tar.gz android_packages_apps_ExactCalculator-4db31b490443e4454d98a5ae2bc44b87149accfe.tar.bz2 android_packages_apps_ExactCalculator-4db31b490443e4454d98a5ae2bc44b87149accfe.zip |
Implement percent and new inverse functions
Bug: 21493470
Add x^2 10^x and e^x functions, to make the recently added INV key
work as expected.
Implement % functionality.
10^x is essentially just macro expansions for now.
% and x^2 need trivial evaluator support to provide reasonable display
syntax.
We decided to add evaluator support for exp() as well.
Add corresponding exp() support to BoundedRational and its tests.
Tiny incidental changes for problems uncovered in the process:
Fix bug in tests/README.txt
Evaluate the constant e only once.
Add one more power test along with the exp() test.
Fix proguard.flags so BRTest runs again.
Change-Id: I26cfcaf6d99aeec11387297cc5586e2ddcab6add
Diffstat (limited to 'res')
-rw-r--r-- | res/layout/pad_advanced.xml | 27 | ||||
-rw-r--r-- | res/layout/pad_advanced_tablet_port.xml | 27 | ||||
-rw-r--r-- | res/values/strings.xml | 33 |
3 files changed, 81 insertions, 6 deletions
diff --git a/res/layout/pad_advanced.xml b/res/layout/pad_advanced.xml index bd2f30a..0d6168a 100644 --- a/res/layout/pad_advanced.xml +++ b/res/layout/pad_advanced.xml @@ -107,6 +107,15 @@ android:text="@string/fun_ln" /> <Button + android:id="@+id/fun_exp" + style="@style/PadButtonStyle.Advanced" + android:layout_row="2" + android:layout_column="0" + android:contentDescription="@string/desc_fun_exp" + android:text="@string/fun_exp" + android:visibility="gone" /> + + <Button android:id="@+id/fun_log" style="@style/PadButtonStyle.Advanced" android:layout_row="2" @@ -115,6 +124,15 @@ android:text="@string/fun_log" /> <Button + android:id="@+id/fun_10pow" + style="@style/PadButtonStyle.Advanced" + android:layout_row="2" + android:layout_column="1" + android:contentDescription="@string/desc_fun_10pow" + android:text="@string/fun_10pow" + android:visibility="gone" /> + + <Button android:id="@+id/op_fact" style="@style/PadButtonStyle.Advanced" android:layout_row="2" @@ -170,4 +188,13 @@ android:contentDescription="@string/desc_op_sqrt" android:text="@string/op_sqrt" /> + <Button + android:id="@+id/op_sqr" + style="@style/PadButtonStyle.Advanced" + android:layout_row="4" + android:layout_column="2" + android:contentDescription="@string/desc_op_sqr" + android:text="@string/op_sqr" + android:visibility="gone" /> + </GridLayout> diff --git a/res/layout/pad_advanced_tablet_port.xml b/res/layout/pad_advanced_tablet_port.xml index 00b0a70..bccc44c 100644 --- a/res/layout/pad_advanced_tablet_port.xml +++ b/res/layout/pad_advanced_tablet_port.xml @@ -107,6 +107,15 @@ android:text="@string/fun_ln" /> <Button + android:id="@+id/fun_exp" + style="@style/PadButtonStyle.Advanced" + android:layout_row="1" + android:layout_column="1" + android:contentDescription="@string/desc_fun_exp" + android:text="@string/fun_exp" + android:visibility="gone" /> + + <Button android:id="@+id/fun_log" style="@style/PadButtonStyle.Advanced" android:layout_row="1" @@ -115,6 +124,15 @@ android:text="@string/fun_log" /> <Button + android:id="@+id/fun_10pow" + style="@style/PadButtonStyle.Advanced" + android:layout_row="1" + android:layout_column="2" + android:contentDescription="@string/desc_fun_10pow" + android:text="@string/fun_10pow" + android:visibility="gone" /> + + <Button android:id="@+id/op_fact" style="@style/PadButtonStyle.Advanced" android:layout_row="1" @@ -170,4 +188,13 @@ android:contentDescription="@string/desc_op_sqrt" android:text="@string/op_sqrt" /> + <Button + android:id="@+id/op_sqr" + style="@style/PadButtonStyle.Advanced" + android:layout_row="2" + android:layout_column="4" + android:contentDescription="@string/desc_op_sqr" + android:text="@string/op_sqr" + android:visibility="gone" /> + </GridLayout> diff --git a/res/values/strings.xml b/res/values/strings.xml index 3dad1c0..f44ad2d 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -78,23 +78,37 @@ <!-- Subtraction operator (e.g. "1 - 2"). [CHAR_LIMIT=1] --> <string name="op_sub" translatable="false">−</string> - <!-- Abbrev. name of cosine function (e.g. "cos(π)". [CHAR_LIMIT=4] --> + <!-- Abbrev. name of cosine function (e.g. "cos(π)"). [CHAR_LIMIT=4] --> <string name="fun_cos" translatable="false">cos</string> <!-- Natural logarithm function (e.g. "ln(2)"). [CHAR_LIMIT=4] --> <string name="fun_ln" translatable="false">ln</string> <!-- Logarithm function (e.g. "log(10)"). [CHAR_LIMIT=4] --> <string name="fun_log" translatable="false">log</string> - <!-- Abbrev. name of sine function (e.g. "sin(π)". [CHAR_LIMIT=4] --> + <!-- Abbrev. name of sine function (e.g. "sin(π)"). [CHAR_LIMIT=4] --> <string name="fun_sin" translatable="false">sin</string> - <!-- Abbrev. name of tangent function (e.g. "tan(π)". [CHAR_LIMIT=4] --> + <!-- Abbrev. name of tangent function (e.g. "tan(π)"). [CHAR_LIMIT=4] --> <string name="fun_tan" translatable="false">tan</string> - <!-- Abbrev. name of cosine function (e.g. "arccos(π)". [CHAR_LIMIT=5] --> + <!-- Abbrev. name of cosine function (e.g. "arccos(π)"). [CHAR_LIMIT=5] --> <string name="fun_arccos" translatable="false">cos\u207B\u00B9</string> - <!-- Abbrev. name of sine function (e.g. "arcsin(π)". [CHAR_LIMIT=5] --> + <!-- Abbrev. name of sine function (e.g. "arcsin(π)"). [CHAR_LIMIT=5] --> <string name="fun_arcsin" translatable="false">sin\u207B\u00B9</string> - <!-- Abbrev. name of tangent function (e.g. "arctan(π)". [CHAR_LIMIT=5] --> + <!-- Abbrev. name of tangent function (e.g. "arctan(π)"). [CHAR_LIMIT=5] --> <string name="fun_arctan" translatable="false">tan\u207B\u00B9</string> + <!-- Abbrev. name of base 10 exponential function (e.g. "10^6"). [CHAR_LIMIT=5] --> + <string name="fun_10pow" translatable="false">10\u02E3</string> + <!-- Abbrev. name of exponential function (e.g. "e^6"). [CHAR_LIMIT=5] --> + <string name="fun_exp" translatable="false">e\u02E3</string> + <!-- Abbrev. name of suffix square function on key (e.g. "17^2"). [CHAR_LIMIT=5] --> + <string name="op_sqr" translatable="false">x\u00B2</string> + <!-- + Abbrev. name of suffix square function in formula. + "^2" does not work, since it blends into a later constant. + --> + <string name="squared" translatable="false">²</string> + <!-- Abbrev. name of exponential function in formula. --> + <string name="exponential" translatable = "false">exp</string> + <!-- Abbrev. name of degree mode [CHAR_LIMIT=4] --> <string name="mode_deg">deg</string> <!-- Abbrev. name of radian mode. [CHAR_LIMIT=4] --> @@ -139,6 +153,13 @@ <!-- Content description for 'arctan' button. [CHAR_LIMIT=NONE] --> <string name="desc_fun_arctan">inverse tangent</string> + <!-- Content description for 10^ button. [CHAR_LIMIT=NONE] --> + <string name="desc_fun_10pow">ten to the power of</string> + <!-- Content description for e^ button. [CHAR_LIMIT=NONE] --> + <string name="desc_fun_exp">exponential function</string> + <!-- Content description for ^2 button. [CHAR_LIMIT=NONE] --> + <string name="desc_op_sqr">squared</string> + <!-- Content description for '+' button. [CHAR_LIMIT=NONE] --> <string name="desc_op_add">plus</string> <!-- Content description for '÷' button. [CHAR_LIMIT=NONE] --> |