问题标签 [exprtk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2408 浏览

c++ - ExprTk 中的简单数学表达式

我正在尝试使用如下所示的简单表达式,结果应该是 z 的值变为 1。但是似乎没有发生任何关于如何解决此问题的建议?

然而,程序确实在 y = NAN 完成(这是可以理解的,因为表达式是一个条件语句)但是 z 仍然保持为 0。我期待它变成 1

0 投票
2 回答
1344 浏览

c++ - 在多线程程序中使用 exprtk

我需要编写一个程序,其中非常频繁地评估字符串表达式。下面是一个表达式示例:

表达式可以很长,一个字符串可以包含多个这样的表达式。

我使用 C++ 库 exprtk 编写了一些测试代码。

请注意,这是测试代码。实际上,每个线程都将使用一组不同的值来评估表达式。这段代码运行良好,但我需要让它运行得更快。

基于其他一些实验,我发现我无法与多个线程共享单个符号表来更快地计算单个表达式。在多个线程之间共享符号表会导致内存损坏错误。

有人可以就我如何提高性能提供一些建议。

0 投票
1 回答
460 浏览

c++ - 从 exprtk 编译 win32 库

我想从http://partow.net/programming/exprtk/index.html数学表达式库编译一个 win32 .dll 或 .lib。最简单的方法是什么?我正在使用 MS VC++。

该代码只有一个包含所有代码的 .hpp。每次我编译我的程序都需要很长时间,因为它还会编译 exptrk.hpp 文件(超过 1,000kB 的代码)。

0 投票
2 回答
538 浏览

c++ - 精度更高的 ExprTk

我正在尝试以比long double. 我认为最简单的方法是尝试 GCC __float128,但我收到以下编译错误并且不知道如何纠正它。

编辑:

我试过实现我自己的is_true

0 投票
0 回答
224 浏览

parsing - 包含数学解析器“exprtk”的问题

我没有自己编写数学解析器,而是尝试将 exprtk ( exprtk ) 实现到我的项目中。如果我在控制台项目中实现它,它工作正常。但是,它在我的 CLR 项目中失败了。错误显示“调试断言失败 [...] 表达式:_CrtlsValidHeapPointer(block) [...]”。只有当我写下这些行时才会发生错误

或者

一些 Internet 站点说 _CrtlsValidHeapPointer 表达式错误表明内存地址在堆外。但由于 exprtk.hpp 库在控制台应用程序中运行良好,我认为还有另一个问题。你知道真正的问题可能是什么吗?

0 投票
3 回答
6946 浏览

c++ - 在 Qt 中计算数学表达式

我正在尝试创建一个 Qt 应用程序,我需要一个数学表达式评估器来评估这样的事情,例如 (4+5)*2-9/3。我将此库的 .hpp 文件 ( http://www.partow.net/programming/exprtk/ ) 包含到我在 Qt Creator 中的项目中,并尝试启动以下代码示例:

当我尝试编译并运行它时,我得到以下输出:

可能是什么问题呢?

0 投票
1 回答
503 浏览

c++ - Exprtk 解析器无法在 VS 2015 上运行?

我正在尝试使用此站点的解析器:

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

在 VS 2015 上。不幸的是,我在编译 exprtk_simple_example_01(使用解析器下载的示例文件之一)时收到以下错误:

这是为什么?这个解析器与 VS 2015 不兼容吗?

0 投票
1 回答
1266 浏览

c++ - 编译包含 exprTk 的 c++ 文件时遇到的问题

我在编译包括 exprtk 在内的 c++ 代码时遇到了一些麻烦。我想编译一个给定的包示例(我称之为parser.cpp):

因此,我在 cmd 中使用以下命令:

exprtk.hpp文件位于与该文件相同的目录中的包含文件夹中parser.cpp

第一个问题是,parser.o文件非常大(~ 32 Mb),创建 .exe 文件需要很长时间,以至于我中止了编译。此外,如果没有-Wa,-mbig-obj标志,我会收到错误消息。另外我认为不需要链接,因为所有代码都包含在 .hpp 文件中,并且没有 .dll 文件或其他文件。通过删除标志,错误是:

源代码在此处通过 GitHub 提供。如果我在 Makefile 所在文件夹中的 cmd 中运行 make ,则会发生与上述相同的错误。

我错过了什么还是我exprtk.hpp正确导入文件太愚蠢了?有什么建议么?

0 投票
2 回答
358 浏览

c++ - exprtk 中的变量是否区分大小写?

当我在我的 exprtk 字符串中定义一个表达式时,比如

我尝试添加另一个变量

我有冲突吗?提前致谢。

0 投票
1 回答
655 浏览

c++ - ExprTk:表达式的值发生变化时是否必须重新编译

我正在使用不断变化的变量创建一个带有exprtk的表达式。

每次更改变量的值时,是否必须exprtk::expression使用更新来重置和重新编译?exprtk::symbol_table

或者更新的值是否直接由现有的编译表达式评估?