c++数学表达式解析求值库推荐

让程序支持自定义的数学计算器是常用功能,找了几个用来数学表达式解析求值的库,有几个看起来很不错。

各个数学表达式求值的综合对比

对比结果如下,ExprTK得分最高, TinyExpr得分最低,

GitHub - ArashPartow/math-parser-benchmark-project: C++ Mathematical Expression Parser Benchmark

1、TinyExpr

TinyExpr is a very small recursive descent parser and evaluation engine for math expressions. It's handy when you want to add the ability to evaluate math expressions at runtime without adding a bunch of cruft to your project.

In addition to the standard math operators and precedence, TinyExpr also supports the standard C math functions and runtime binding of variables.

https://github.com/codeplea/tinyexpr

2、Exprtk

C++数学表达式工具包库(ExprTk)是一个通用、易于使用、易于集成、运行时效率极高的数学表达式解析器和评估引擎。ExprTk支持多种形式的函数、逻辑和向量处理语义,并且非常容易扩展。

http://www.partow.net/programming/exprtk/

3、Muparser

许多应用程序需要解析数学表达式。muparser的主要目标是提供一种快速、简单和安全的方法来完成这一任务。muparser是一个用C++编写的可扩展的高性能数学表达式解析器库。它的工作原理是将数学表达式转换为字节码,并预先计算表达式的常量部分。为了获得最佳性能,muparser允许使用OpenMP并行计算表达式。使用OpenMP并行计算表达式。

该库在设计时考虑了可移植性,应该在每个标准兼容的C++编译器上编译。构建系统基于CMake。该代码在32位和64位架构上运行,并已使用Visual Studio 2019,CLANG和GCC进行了测试。提供代码示例是为了帮助您了解其用法。该库是开源的,并根据BSD -第2条“简化”许可证分发。最新稳定版本的源代码存档可在此处下载:

muparser库处于“生产”状态。代码更改保持在最低限度,几乎没有主动开发。主要的重点放在bug修复和保持归档与当前一代的C++编译器兼容。

https://beltoforion.de/en/muparser/

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oceanstonetree

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值