From 1e541b8313a675f19183b5b02e3b4c384a219db2 Mon Sep 17 00:00:00 2001 From: Kasper Date: Sat, 28 Dec 2019 01:59:29 +0100 Subject: [PATCH] Fixed evaluation of exponents --- src/evaluator.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/evaluator.rs b/src/evaluator.rs index 6ac850f..1735d18 100644 --- a/src/evaluator.rs +++ b/src/evaluator.rs @@ -293,10 +293,10 @@ fn evaluate_node(ast_node: &AstNode) -> Result { Caret => { if left.unit == Unit::NoUnit && right.unit == Unit::NoUnit { // 3 ^ 2 - return Ok(Answer::new(left.value ^ right.value, left.unit)) + return Ok(Answer::new(left.value.pow(right.value), left.unit)) } else if right.unit == Unit::NoUnit && left.unit != Unit::NoUnit { // 1 km ^ 3 - return Ok(Answer::new(left.value ^ right.value, left.unit)) + return Ok(Answer::new(left.value.pow(right.value), left.unit)) } else { return Err(format!("Cannot multiply {:?} and {:?}", left.unit, right.unit)) }