草庐IT

xna-math-library

全部标签

java - Float vs double Math Java

以下是否存在精度差异(假设a和b的值可以在不损失精度的情况下用float表示)。有花车:floata;floatb;doubleresult=1+a*b;double:doublea;doubleb;doubleresult=1+a*b; 最佳答案 简单的例子:floata=16777217;//Largestintexactlyrepresentableinafloat.floatb=16777217;System.out.println((double)(1+a*b));doublec=16777217;doubled=1677

java - 带有 $LD_LIBRARY_PATH 的 Eclipse

我在目录/usr/local/lib/中有一些使用JNI构建的库文件。如果我从luncher启动Eclipse,Eclipse永远不会选择该路径,因此我需要为运行配置指定-Djava.library.path。但是如果我从命令行启动Eclipse。看起来工作正常。有谁知道为什么它会这样,以及如何将它配置为从luncher知道/usr/local/lib/路径。谢谢。我在Ubuntu操作系统上使用EclipseSDK版本:3.6.2。 最佳答案 这可能是因为您的shell在其中一个启动脚本中执行了exportLD_LIBRARY_PA

java - 找不到 JSF 2.1.13 自定义组件 : Tag Library supports namespace: <namsepace> but no tag was defined for name: <compositecomponent>

问题我正在使用JSF2.1.13创建一个原型(prototype),以展示JSF相对于我们当前使用JSP和struts1.1构建的webapp的优势>。我遵循使用JSF2.2.6的代码,但是一旦发现OracleWeblogic12c尚不支持JSF2.2,我不得不降级。使用2.1.13运行代码时,我收到以下错误:/pages/sites/tab-details.xhtml@27,90TagLibrarysupportsnamespace:http://java.sun.com/jsf/composite/ccc,butnotagwasdefinedforname:codedType谷歌搜

java - Math.round MAX 返回值

我正在使用Math.round,我发现它不会返回任何大于(2^32/2)-1的值,但文档说明它可以/将返回长值,即2^64...下面有一段代码。longbTmp=(long)Math.round(4294967296L);System.out.println(bTmp);System.out.println(Long.MAX_VALUE);哪个输出:21474836479223372036854775807我错过了什么吗? 最佳答案 它正在调用Math.round()的重载,它接受一个float并返回一个int。看thejavado

java - Commons-math 四舍五入双倍

我正在使用commons-math3.6.1。我需要将double值四舍五入为小数点后两位假设这是我的双重值(value):doubled=400.54540997260267;现在通过四舍五入我期望的结果400.54相反,如果我的号码是双倍d1=400.54640997260267;我期待的结果是400.55现在我正在使用这段代码:Precision.round(d,2,BigDecimal.ROUND_DOWN);如果我使用roundingMethodBigDecimal.ROUND_DOWN我总是得到最低的四舍五入。我应该使用哪种舍入方法才能得到我期望的结果?我尝试了以下代码:p

java - Eclipse 3.5.1 编译器错误 :The type OutputFormat is not accessible due to restriction on required library . ./rt.jar

这个错误很奇怪,我无法理解它。我已经安装了EclipseRCP3.5.1,JavaSE1.6更新16并切换到SWT3.5。我创建了一个新项目,设置了依赖项并尝试编译。尝试导入时,请使用以下内容:importcom.sun.org.apache.xml.internal.serialize.OutputFormat;importcom.sun.org.apache.xml.internal.serialize.XMLSerializer;我得到错误:Accessrestriction:ThetypeXMLSerializerisnotaccessibleduetorestrictiono

java - 以编程方式(或替代方案)设置 Djava.library.path?

我希望以编程方式设置VM参数Djava.library.path。如果无法做到这一点,有什么替代方案(如果有的话)? 最佳答案 用这个方法很容易解决:publicstaticvoidaddLibraryPath(StringpathToAdd)throwsException{FieldusrPathsField=ClassLoader.class.getDeclaredField("usr_paths");usrPathsField.setAccessible(true);String[]paths=(String[])usrPat

java - Apache Commons Math 的标准偏差

我正在使用ApacheCommonsMath计算vector的SD。问题:我得到的值与手动得到的值不同DescriptiveStatisticsstats=newDescriptiveStatistics();stats.addValue(value1);...stats.addValue(value8);stats.getStandardDeviation();例如,取值[1699.0,1819.0,1699.0,1719.0,1689.0,1709.0,1819.0,1689.0]。SD应为52.067,但CommonsMath=55.662。我做错了什么?

java - JNA UnsatisfiedLinkError - 当我将 java.library.path 设置为虚假值时有效

在Linux上使用JNA4.0.0,我试图加载一个本地库(libmean.so),它位于lib子目录中(该库是只是一个计算两个数字的平均值的简单示例)。我运行以下代码(在Eclipse中),在运行配置中设置了-Djna.library.path=lib。importcom.sun.jna.Library;importcom.sun.jna.Native;publicclassMean{publicinterfaceMeanLibextendsLibrary{MeanLibINSTANCE=(MeanLib)Native.loadLibrary("mean",MeanLib.class)

java - java.lang.Math.PI 等于 GCC 的 M_PI 吗?

我正在用Java和C/C++编写多个引用算法。其中一些算法使用π。我希望每个算法的两种实现都产生相同的结果,而不用不同的四舍五入。到目前为止一直有效的一种方法是使用自定义的pi常量,它在两种语言中完全相同,例如3.14159。然而,当Java和GCC库中已经定义了高精度常量时,定义pi是愚蠢的。我花了一些时间编写快速测试程序、查看每个库的文档以及阅读浮点类型。但我无法说服自己java.lang.Math.PI(或java.lang.StrictMath.PI)等于或不等于math.h中的M_PI。GCC3.4.4(cygwin)math.h包含:#defineM_PI3.1415926