TradingView
RicardoSantos
9 de Oct. de 2021 8:20

MathComplexEvaluate 

Bitcoin / U.S. dollarBitstamp

Descripción

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.

Notas de prensa

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.

Notas de prensa

v3 minor update.
Comentarios
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.. :)
Más