问题标签 [symja]

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 回答
82 浏览

java - 如何在 Symja 中修复精度?

我正在使用Symja

http://matheclipse.org/上,当我运行以下公式时:

我得到:815.31

运行以下 Java 代码时

我得到:815.3100000000001

我错过了什么?

0 投票
1 回答
289 浏览

java - 为了与 Elasticsearch 服务器模块一起工作,需要如何使用 Gradle 导入库“Symja”?

对于我想扩展 Elasticsearch 的项目,因此需要使用包Symja。在 Symja 的 Github 中,提供了使用 Maven 的手册

由于 Elasticsearch 存储库是使用 Gradle 构建的,因此我还需要使用 Gradle 而不是 Maven。测试建议的示例 Symja project,以下build.gradle(我基本上是通过使用gradle init和调整生成的)完美地导入了库:

现在,我想将 Symja 添加到我的 Elasticsearch fork 到server模块中。

但是,当我尝试构建它时,导入

未检测到 Symja 示例:java: package org.matheclipse.parser.client does not exist. 可能出了什么问题?

我更新build.gradleserver模块如下所示:

编辑: 在遵循@axelclk 的添加建议之后implementation "org.matheclipse:matheclipse-frontend:1.0.0-SNAPSHOT",我的 IDE 现在检测到了这些包。虽然,如果我构建build.gradle(同时包含 Symja 示例中的方法org.elasticsearch.index.query.BoolQueryBuilder.java),会出现以下错误:

似乎不知何故,该toString方法无法正常工作。此外,如果我使用 运行 Elasticsearch fork gradlew run -Dtests.es.xpack.security.enabled=false -Dtests.heap.size=1G,构建将失败并显示以下输出:

编辑2:我按照@axelclk 的建议添加implementation "org.matheclipse:matheclipse-external:1.0.0-SNAPSHOT"和替换mavenLocal()mavenCentral()这不会导致任何不同的结果。

编辑 3:我再次根据@axelclk 的建议添加了 - 由 和 的文件pom.xml描述的实现:matheclipse-externalmatheclipse-core

现在,server构建似乎工作。但是,如果我现在使用 using 运行gradlew run -Dtests.es.xpack.security.enabled=false -Dtests.heap.size=1G,则会有不同的任务失败:

我觉得这很好奇,因为我没有对我的 Elasticsearch 分支的这些部分进行任何更改。这里发生了什么?

编辑 4:在 Elasticsearch 的“jar hell”功能出现一些问题后,我设法在@IanGabes 的帮助下通过repositoriesbuild.gradle. 问题是,Symja 类似乎还没有工作。我有一个normalize当前执行以下操作的方法:

该方法在调用BoolQueryBuilder.doToQuery()之前在 Elasticsearch 中addBooleanClauses调用。现在我正在POST学习一个BooleanQuery. "I'm here!"正如预期的那样,有输出。之后,会发生以下情况:

我看不出用于初始化 Symja 类的几个命令如何在这里造成任何伤害。但是当我将它们注释掉时,一切正常,所以问题似乎出在这个地方。目前包含以下依赖gradle.build项(或分别注释掉,如果它们与不同模块的其他依赖项发生冲突):