var searchIndex = {}; searchIndex["meval"] = {"doc":"This [Rust] crate provides a simple math expression parsing and evaluation. Its main goal is to\nbe convenient to use, while allowing for some flexibility. Currently works only with `f64`\ntypes.","items":[[3,"Expr","meval","Representation of a parsed expression.",null,null],[3,"Builtins","","Built-in functions and constants.",null,null],[3,"CustomFunc","","A custom function of one variable.",null,null],[12,"0","","",0,null],[12,"1","","",0,null],[3,"CustomFunc2","","A custom function of two variables.",null,null],[12,"0","","",1,null],[12,"1","","",1,null],[3,"CustomFunc3","","A custom function of three variables.",null,null],[12,"0","","",2,null],[12,"1","","",2,null],[3,"CustomFuncN","","A custom function of N variables.",null,null],[12,"0","","",3,null],[12,"1","","",3,null],[4,"FuncEvalError","","Function evaluation error.",null,null],[13,"TooFewArguments","","",4,null],[13,"TooManyArguments","","",4,null],[13,"NumberArgs","","",4,null],[13,"UnknownFunction","","",4,null],[4,"Error","","An error produced during parsing or evaluation.",null,null],[13,"UnknownVariable","","",5,null],[13,"Function","","",5,null],[13,"ParseError","","An error returned by the parser.",5,null],[13,"RPNError","","The shunting-yard algorithm returned an error.",5,null],[5,"eval_str","","Evaluates a string with built-in constants.",null,{"inputs":[{"name":"s"}],"output":{"name":"result"}}],[5,"eval_str_with_context","","Evaluates a string with the given context.",null,{"inputs":[{"name":"s"},{"name":"c"}],"output":{"name":"result"}}],[5,"builtin","","Returns the build-in constants in a form that can be used as a `Context`.",null,{"inputs":[],"output":{"name":"builtins"}}],[0,"tokenizer","","Tokenizer that converts a mathematical expression in a string form into a series of `Token`s.",null,null],[4,"ParseError","meval::tokenizer","An error reported by the parser.",null,null],[13,"UnexpectedToken","","A token that is not allowed at the given location (contains the location of the offending\ncharacter in the source string).",6,null],[13,"MissingRParen","","Missing right parentheses at the end of the source string (contains the number of missing\nparens).",6,null],[13,"MissingArgument","","Missing operator or function argument at the end of the expression.",6,null],[13,"Unexpected","","",6,null],[4,"Operation","","Mathematical operations.",null,null],[13,"Plus","","",7,null],[13,"Minus","","",7,null],[13,"Times","","",7,null],[13,"Div","","",7,null],[13,"Rem","","",7,null],[13,"Pow","","",7,null],[4,"Token","","Expression tokens.",null,null],[13,"Binary","","Binary operation.",8,null],[13,"Unary","","Unary operation.",8,null],[13,"LParen","","Left parenthesis.",8,null],[13,"RParen","","Right parenthesis.",8,null],[13,"Comma","","Comma: function argument separator",8,null],[13,"Number","","A number.",8,null],[13,"Var","","A variable.",8,null],[13,"Func","","A function with name and number of arguments.",8,null],[5,"tokenize","","Tokenize a given mathematical expression.",null,{"inputs":[{"name":"s"}],"output":{"name":"result"}}],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"clone","","",6,null],[11,"fmt","","",6,null],[11,"clone","","",7,null],[11,"eq","","",7,null],[11,"fmt","","",7,null],[11,"clone","","",8,null],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"fmt","","",8,null],[0,"shunting_yard","meval","Implementation of the shunting-yard algorithm for converting an infix expression to an\nexpression in reverse Polish notation (RPN).",null,null],[4,"RPNError","meval::shunting_yard","An error produced by the shunting-yard algorightm.",null,null],[13,"MismatchedLParen","","An extra left parenthesis was found.",9,null],[13,"MismatchedRParen","","An extra right parenthesis was found.",9,null],[13,"UnexpectedComma","","Comma that is not separating function arguments.",9,null],[13,"NotEnoughOperands","","Too few operands for some operator.",9,null],[13,"TooManyOperands","","Too many operands reported.",9,null],[5,"to_rpn","","Converts a tokenized infix expression to reverse Polish notation.",null,null],[11,"eq","","",9,null],[11,"ne","","",9,null],[11,"clone","","",9,null],[11,"fmt","","",9,null],[11,"clone","meval","",10,null],[11,"fmt","","",10,null],[11,"from_str","","Constructs an expression by parsing a string.",10,{"inputs":[{"name":"s"}],"output":{"name":"result"}}],[11,"eval","","Evaluates the expression with variables given by the argument.",10,null],[11,"bind","","Creates a function of one variable based on this expression, with default constants and\nfunctions.",10,null],[11,"bind_with_context","","Creates a function of one variable based on this expression.",10,null],[11,"bind2","","Creates a function of two variables based on this expression, with default constants and\nfunctions.",10,null],[11,"bind2_with_context","","Creates a function of two variables based on this expression.",10,null],[11,"bind3","","Creates a function of three variables based on this expression, with default constants and\nfunctions.",10,null],[11,"bind3_with_context","","Creates a function of three variables based on this expression.",10,null],[11,"deref","","",10,null],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"clone","","",4,null],[11,"fmt","","",4,null],[11,"fmt","","",4,null],[11,"get_var","","",11,null],[11,"eval_func","","",11,null],[11,"eval_func","","",0,null],[11,"eval_func","","",1,null],[11,"eval_func","","",2,null],[11,"eval_func","","",3,null],[8,"Context","","Values of variables (and constants) for substitution into an evaluated expression.",null,null],[11,"get_var","","",12,null],[11,"eval_func","","",12,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"clone","","",5,null],[11,"fmt","","",5,null],[11,"fmt","","",5,null],[11,"from","","",5,{"inputs":[{"name":"parseerror"}],"output":{"name":"error"}}],[11,"from","","",5,{"inputs":[{"name":"rpnerror"}],"output":{"name":"error"}}],[11,"get_var","","",12,null],[11,"eval_func","","",12,null]],"paths":[[3,"CustomFunc"],[3,"CustomFunc2"],[3,"CustomFunc3"],[3,"CustomFuncN"],[4,"FuncEvalError"],[4,"Error"],[4,"ParseError"],[4,"Operation"],[4,"Token"],[4,"RPNError"],[3,"Expr"],[3,"Builtins"],[8,"Context"]]}; initSearch(searchIndex);