xFunc
xFunc copied to clipboard
xFunc provides a powerful parser and analyzer for mathematical expressions. It excels at calculating derivatives, simplifying expressions, and achieving high performance.
**Describe the bug** Is parse() supposed to be able to deal with user input ? Currently it throws several unexpected exceptions on malformed input. I would expect xFunc.Maths.ParseException or xFunc.Maths.TokenizeException....
Any exception thrown by any method from the .NET standard library is returned as is. It is better to wrap them into custom xFunc exceptions: `TokenizeException`/`ParseException`/etc. and set `InnerException` to...
Currently, the rational number is implemented in the following way: it has two `NumberValue`s (numerator and denominator) and can represent only "numerical" rational values, like: `1 // 3`. It provides...
Like: ```csharp public class /* struct */ AddZeroSimplifier : BaseSimplifier { public override IExpression Simplify(Add exp) { var result = AnalyzeBinaryArgument(exp); return result switch { (Number(var number), _) when number...
`2 + 2` is parsed as ``` + / \ 2 2 ``` but it can be parsed as ``` + / \ \ / 2 ``` Because expressions are...
Eg.: ```csharp processor.Parse(@" y := sin(x); z := cos(x); { x, y } ") ```
It's a parent of `IExpression`, needed to limit types that can be used as arguments of other expressions. #304