Dmytro Kyshchenko
Dmytro Kyshchenko
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
Create a separate project that allows use large numbers (integer and real). Implement +, -, *, /, % and math functions, casting from base types.