feat(maths::evaluator): prep evaluator
This commit is contained in:
		
							parent
							
								
									5fdc0a1231
								
							
						
					
					
						commit
						f9833263ef
					
				|  | @ -7,6 +7,11 @@ fn main() { | ||||||
|         println!("Error during parsing: {e}"); |         println!("Error during parsing: {e}"); | ||||||
|         process::exit(1); |         process::exit(1); | ||||||
|     }); |     }); | ||||||
|  |     println!("{:?}", equation); | ||||||
|  |     let is_equation = computorv1::maths::evaluator::is_equation(&equation); | ||||||
|     let evaluated = computorv1::maths::evaluator::evaluate(equation); |     let evaluated = computorv1::maths::evaluator::evaluate(equation); | ||||||
|     computorv1::pretty(evaluated); |     computorv1::pretty(evaluated); | ||||||
|  |     if is_equation { | ||||||
|  |         computorv1::maths::solver::solve(evaluated); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| use std::ops; | use std::ops; | ||||||
| 
 | 
 | ||||||
| pub mod evaluator; | pub mod evaluator; | ||||||
|  | pub mod solver; | ||||||
| 
 | 
 | ||||||
| //TODO slow ? check Stein's algorithm (binaryGCD)
 | //TODO slow ? check Stein's algorithm (binaryGCD)
 | ||||||
| fn gcd(a: i128, b: i128) -> i128 { | fn gcd(a: i128, b: i128) -> i128 { | ||||||
|  |  | ||||||
|  | @ -147,3 +147,10 @@ pub fn evaluate(ast: Node) -> Vec<GaussianRational> { | ||||||
|         Node::Leaf(value) => value, |         Node::Leaf(value) => value, | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | pub fn is_equation(ast: &Node) -> bool { | ||||||
|  |     match ast { | ||||||
|  |         Node::Binary { operator, lhs: _, rhs: _ } => *operator == Token::Equal(), | ||||||
|  |         _ => false, | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | use super::*; | ||||||
|  | 
 | ||||||
|  | pub fn solve(equation: Vec<GaussianRational>) -> Vec<GaussianRational> { | ||||||
|  |     vec![] | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue