comments and cleanup logic in process_func_str
This commit is contained in:
parent
d5e5cd1c4a
commit
5671b9c172
@ -120,27 +120,22 @@ pub fn process_func_str(function_in: &str) -> String {
|
|||||||
let prev_letters_var = prev_char_is_variable | LETTERS.contains(&prev_char);
|
let prev_letters_var = prev_char_is_variable | LETTERS.contains(&prev_char);
|
||||||
|
|
||||||
if prev_char == ')' {
|
if prev_char == ')' {
|
||||||
// cases like `)x` like `(2x+3)x`
|
// cases like `)x`, `)2`, and `)(`
|
||||||
if c_letters_var {
|
if c_letters_var | c_is_number | (c == '(') {
|
||||||
add_asterisk = true;
|
add_asterisk = true;
|
||||||
} else if c_is_number {
|
|
||||||
// cases like `(x+1)2`
|
|
||||||
add_asterisk = true;
|
|
||||||
} else if c == '(' {
|
|
||||||
// cases such as `)(` like `(x+1)(x-3)`
|
|
||||||
add_asterisk = true
|
|
||||||
}
|
}
|
||||||
} else if c == '(' {
|
} else if c == '(' {
|
||||||
if (prev_char_is_variable | (')' == prev_char) | prev_char_is_number)
|
// cases like `x(` and `2(`
|
||||||
&& !LETTERS.contains(&prev_prev_char)
|
if (prev_char_is_variable | prev_char_is_number) && !LETTERS.contains(&prev_prev_char) {
|
||||||
{
|
|
||||||
add_asterisk = true;
|
add_asterisk = true;
|
||||||
}
|
}
|
||||||
} else if prev_char_is_number {
|
} else if prev_char_is_number {
|
||||||
if (c == '(') | c_letters_var {
|
// cases like `2x` and `2sin(x)`
|
||||||
|
if c_letters_var {
|
||||||
add_asterisk = true;
|
add_asterisk = true;
|
||||||
}
|
}
|
||||||
} else if c_is_letter {
|
} else if c_is_letter {
|
||||||
|
// cases like `e2` and `xx`
|
||||||
if prev_char_is_number
|
if prev_char_is_number
|
||||||
| (prev_char_is_variable && c_is_variable)
|
| (prev_char_is_variable && c_is_variable)
|
||||||
| prev_char_is_variable
|
| prev_char_is_variable
|
||||||
@ -148,6 +143,7 @@ pub fn process_func_str(function_in: &str) -> String {
|
|||||||
add_asterisk = true;
|
add_asterisk = true;
|
||||||
}
|
}
|
||||||
} else if (c_is_number | c_letters_var) && prev_letters_var {
|
} else if (c_is_number | c_letters_var) && prev_letters_var {
|
||||||
|
// cases like `x2` and `xx`
|
||||||
add_asterisk = true;
|
add_asterisk = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user