aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2023-02-09 10:41:33 -0330
committerSam Anthony <sam@samanthony.xyz>2023-02-09 10:41:33 -0330
commitec0c61cd1f33423a4fcc33e6dd99c96c5ea08471 (patch)
tree8bbe940fb62fa033bebece82a805525eb7a1cdc5
parent18d2de963b04e26c597189f0ccfa0fbd81bd7059 (diff)
downloadpfc-ec0c61cd1f33423a4fcc33e6dd99c96c5ea08471.zip
cos and tan functions
-rw-r--r--src/input.rs10
-rw-r--r--src/ui.rs2
2 files changed, 11 insertions, 1 deletions
diff --git a/src/input.rs b/src/input.rs
index 4aae623..1dde8d5 100644
--- a/src/input.rs
+++ b/src/input.rs
@@ -59,6 +59,16 @@ impl Calculator {
*f = f.sin();
}
}
+ "cos" => {
+ if let Some(f) = self.stack.last_mut() {
+ *f = f.cos();
+ }
+ }
+ "tan" => {
+ if let Some(f) = self.stack.last_mut() {
+ *f = f.tan();
+ }
+ }
_ => {
if self.input_buffer.len() > 0 {
self.stack.push(self.input_buffer.parse::<f64>().unwrap());
diff --git a/src/ui.rs b/src/ui.rs
index 7222935..dd3bfc5 100644
--- a/src/ui.rs
+++ b/src/ui.rs
@@ -17,7 +17,7 @@ use crate::Calculator;
const WIDTH: u16 = 32;
-const FUNCTIONS: [&str; 1] = ["sin"];
+const FUNCTIONS: [&str; 3] = ["sin", "cos", "tan"];
impl Calculator {
pub fn draw<B: Backend>(&self, f: &mut Frame<B>) {