【发布时间】:2010-07-26 09:04:01
【问题描述】:
我需要在我的 C/C++ 程序中嵌入一些东西来解释 x*log(x) 或 sin(x) 之类的公式。我想要一些小而简单的东西,否则我可以嵌入 Python、Ch、Scheme 或你的名字。但我需要的只是简单的公式。我没有运气在网上搜索过。虽然我不需要它,但性能(例如,使用简单的 JIT)将是一个奖励。
【问题讨论】:
标签: c++ c jit embedding formulas
我需要在我的 C/C++ 程序中嵌入一些东西来解释 x*log(x) 或 sin(x) 之类的公式。我想要一些小而简单的东西,否则我可以嵌入 Python、Ch、Scheme 或你的名字。但我需要的只是简单的公式。我没有运气在网上搜索过。虽然我不需要它,但性能(例如,使用简单的 JIT)将是一个奖励。
【问题讨论】:
标签: c++ c jit embedding formulas
使用逆波兰表示法。算法很少:
1. 解析方程并转换为中缀符号(很容易,您只需识别符号链)
2. 使用 Dijkstra 的调车场算法将中缀转换为 RPN。
3.使用DFS计算表达式
我确信网上有很多实现。几年前我什至自己写了(没有函数特性)。
【讨论】:
Lua - 迄今为止嵌入和使用最简单, 是一个非常小且非常快 的带有 JIT 的版本:http://luajit.org/
【讨论】:
FFmpeg 有一个非常不错的,你应该去看看。
【讨论】:
编写自己的简单堆栈机来计算这些公式怎么样?
【讨论】: