TradingView
RicardoSantos
9 Okt 2021 pukul 08.20

MathComplexEvaluate 

Bitcoin / U.S. dollarBitstamp

Deskripsi

Library "MathComplexEvaluate"
TODO: add library description here

is_op(char) Check if char is a operator.
Parameters:
  • char: string, 1 character string.

Returns: bool.

operator(op, left, right) operation between left and right values.
Parameters:
  • op: string, operator string character.
  • left: float, left value of operation.
  • right: float, right value of operation.



operator_precedence(op) level of precedence of operator.
Parameters:
  • op: string, operator 1 char string.

Returns: int.

eval() evaluate a string with references to a array of arguments.
| @param tokens string, arithmetic operations with references to indices in arguments, ex:"0+1*0+2*2+3" arguments[1, 2, 3]
| @param arguments float array, arguments.
| @Returns float, solution.

Catatan Rilis

v2

Added:
parse(expression)
  Parse a string expression that may contain numbers and complex numbers.
  Parameters:
    expression: string . Expression to evaluate, ex:. `"2i*(3+2-3J)-2.0e3+1.0e-15i"`.
  Returns: Complex number. Solution.

Updated:
eval(expression, arguments)
  evaluate a string with references to a array of arguments.
| @param expression string, arithmetic operations with references to indices in arguments, ex:"0+1*0+2*2+3" arguments[1, 2, 3]
| @param arguments float array, arguments.
| @Returns Complex Number, solution.
  Parameters:
    expression
    arguments

Removed:
is_op(char)
  Check if char is a operator.

operator(op, left, right)
  operation between left and right values.

operator_precedence(op)
  level of precedence of operator.

Catatan Rilis

v3 minor update.
Komentar
RicardoSantos
im aware that the % modulo operator is just doing plain division, atm im not sure what the operator does or if should be removed, it was left behind as to not rewrite the string parser underlying behind.. :)
Lebih lanjut