Какая библиотека может анализировать и решать простые математические выражения в С++

У меня есть произвольное выражение в строке. Скажем: у = 12 * х + 34 У меня будет x или y, и мне нужно решить для другого. muParser делает блестящую работу по решению первой формы, данной x, но она и все другие математические парсеры, которые я нашел, не могут выполнять какие-либо манипуляции, чтобы превратить выражение в: x = (y-34)/12, чтобы другой можно было решить, если бы вместо y был y.

Есть ли библиотека C/С++, которая не обременена GNU, которая может быть использована для решения этой проблемы?

Ответы

Ответ 1

Похоже, вы хотите встроить правильный CAS. Попробуйте GiNaC, если он недостаточно мощный, подумайте о внедрении Maxima или Axiom (оба они очень тяжелы и работают поверх Common Lisp).