Compare commits

...

2 Commits

Author SHA1 Message Date
gbrochar ed44fba94f chore(): Cargo config 2023-11-26 18:48:08 +01:00
gbrochar 5b64cddc01 fix(lib|main): fix format 2023-11-26 18:47:33 +01:00
3 changed files with 14 additions and 6 deletions

View File

@ -5,4 +5,5 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
[profile.dev]
overflow-checks=false

View File

@ -8,16 +8,19 @@ pub mod parser;
pub mod maths;
pub fn format(v: &Vec<GaussianRational>) -> String {
pub fn format(v: &[GaussianRational]) -> String {
let mut format;
format = v[0].format(false);
if v.len() > 1 {
let mut format2 = v[1].format(true);
if format2 == "" {
if format == "" {
format = format!("{}x", v[1].format(true));
format = format!("{}x", format2);
} else {
format = format!("{format} + {}x", v[1].format(true));
format = format!("{format} + {}x", format2);
}
}
}
for i in 2..v.len() {
let tmp = v[i].format(true);
if tmp != "" {
@ -41,7 +44,7 @@ pub fn parse(query: &str) -> Result<Node, Box<dyn Error>> {
Ok(ast)
}
fn print_reduced_form(equation: &Vec<f64>) {
fn print_reduced_form(equation: &[f64]) {
let mut string = String::from("Reduced form: ");
for (i, n) in equation.iter().enumerate() {

View File

@ -17,7 +17,11 @@ fn main() {
process::exit(1);
});
if is_equation {
println!("{} = 0", computorv1::format(&evaluated));
let mut format = computorv1::format(&evaluated);
if format == "" {
format = String::from("0");
}
println!("{} = 0", format);
computorv1::maths::solver::solve(evaluated);
} else {
println!("{} is equal to:", args[1]);