The days when the calculator had almost 3 thousand visits a day have gone. Since then, there have been several major versions and lots of minor versions.
Somehow, I feel pleased in that the present core algorithm follows the rules of the first I read; of course, extending the simplicity of just adding or multiplying to other operations. After many unsuccessful efforts, version #8 has the ability to parse matrix expressions and, at the same time, derivatives or integration symbols.
Mates8 -Spanish or Catalan equivalent to English 'math8'- perhaps isn't the quickest, nor by far the most complete math library but, in my opinion, has several benefits. Mainly, let me point out, is a .Net library of managed code: if something goes wrong, there will be no leaks of memory, no PC hangs. I could have written some unmanaged code boosting critical sections but, again in my opinion, balancing pros and cons would be of less profit.
So, what can it do and how? I will not do an exhaustive explanation; instead I'll give some basic ideas. I suggest the reader, if interested, to dig experiencing but, if understanding the code snippet below gets difficult, please, reconsider another workaround:
Import mates8.dll to your .Net application:
1. Imports mates8
Set the configuration to your needs:
...
17. MathGlobal8.bCaseSensitive = True
18. MathGlobal8.bFractions = True
...
Let mates8 do the math:
11. Dim mP As matrixParser = Nothing
...
69. Dim strQuery As String = "2*2/3"
70. Dim oVars As VarsAndFns = Nothing
71. Console.WriteLine(N.ToString + ". Parsing and evaluating: " + strQuery)
72.
73. mP = mates8.matrixParser.parse(strQuery, "", Nothing)
74. If mP.errMsg.Length Then
75. Throw New Exception(mP.errMsg)
76. End If
77. Console.WriteLine("Result: " + mP.ToString) ' Result: ' 4/3 (if mathglobal8.fractions=False => =1.333)
78. Console.WriteLine("")
There is a .Pdf document with a bit more extensive explanation under "Download usage explanation for .Net programming" here
Best regards