aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2023-02-09 15:26:30 -0330
committerSam Anthony <sam@samanthony.xyz>2023-02-09 15:26:30 -0330
commit1f6fa5a58030f4ff2adde61e7652d1956e407510 (patch)
tree35dc8b7ba5693daaad8eaf5b4e18bba235af988d
parent9c04c7b1f8d6911b5a148398d5b4ab416f2136f5 (diff)
downloadpfc-1f6fa5a58030f4ff2adde61e7652d1956e407510.zip
simplify Function method and rename Calculator method
-rw-r--r--src/input.rs4
-rw-r--r--src/lib.rs10
2 files changed, 7 insertions, 7 deletions
diff --git a/src/input.rs b/src/input.rs
index a80ce11..e7783fb 100644
--- a/src/input.rs
+++ b/src/input.rs
@@ -33,7 +33,7 @@ impl Calculator {
KeyCode::Enter if self.input_buffer.len() > 0 => {
if let Ok(func) = Function::parse(&self.input_buffer) {
if let Some(f) = self.stack.pop() {
- self.stack.push(func.func()(f));
+ self.stack.push(func.call_on(f));
}
} else {
self.stack.push(self.input_buffer.parse::<f64>().unwrap());
@@ -56,7 +56,7 @@ impl Calculator {
} else if let Ok(op) = Operator::parse(c) {
self.stack.push(self.input_buffer.parse::<f64>().unwrap());
self.input_buffer = String::new();
- self.op(op);
+ self.perform_operation(op);
} else {
self.input_buffer.push(c);
}
diff --git a/src/lib.rs b/src/lib.rs
index a7186e6..a871788 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -8,7 +8,7 @@ pub struct Calculator {
}
impl Calculator {
- fn op(&mut self, op: Operator) {
+ fn perform_operation(&mut self, op: Operator) {
let rhs = match self.stack.pop() {
Some(f) => f,
None => {
@@ -70,11 +70,11 @@ impl Function {
}
}
- fn func(&self) -> impl Fn(f64) -> f64 {
+ fn call_on(&self, f: f64) -> f64 {
match self {
- Self::Sin => |f: f64| f.sin(),
- Self::Cos => |f: f64| f.cos(),
- Self::Tan => |f: f64| f.tan(),
+ Self::Sin => f.sin(),
+ Self::Cos => f.cos(),
+ Self::Tan => f.tan(),
}
}
}