我必须计算一堆像这样的C表达式:
(-2*a*Power(E,-(((a + b)*x3)/n3) + (b*x2 + a*x3)/n3)*Power(n3,2))/Power(a - b,3) + (2*a*Power(E,-(((a + b)*x3)/n3) + (a*x2 + b*x3)/n3)*Power(n3,2))/Power(a - b,3)
这是C实现的一部分。现在我想使用GNU多精度库。我知道它有它自己的特殊语法。我现在在想什么是计算表达式的最佳方法?是否有任何类型的“解析器”来转换整个表达式?我没有找到类似的东西。我还在考虑编写一个脚本来将我的表达式拆分为原子操作,然后将其转换为MP语法,但是想先看看是否还有别的东西。说实话,公式很长,在GNU MP中将其转换为单个操作会创建一个非常长的源代码。不幸的是,我有点卡在这里。我曾经使用过小例子,但不知道如何处理长表达式。
非常感谢。