问题标签 [floating-point-exceptions]
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.
macos - 在 Mac OS X Intel 上启用浮点中断
在 Linux 上,feenableexcept 和 fedisableexcept 可用于控制浮点异常时 SIGFPE 中断的生成。如何在 Mac OS X Intel 上执行此操作?
http://developer.apple.com/documentation/Performance/Conceptual/Mac_OSX_Numerics/Mac_OSX_Numerics.pdf , pp. 7-15中提供了用于启用浮点中断的内联汇编,但仅适用于 PowerPC 汇编。
floating-point - 哪些语言向开发人员公开了 IEEE 754 陷阱?
为了教育目的,我想玩这些陷阱。
数值演算中默认行为的一个常见问题是我们“错过”出现在错误运算中的 Nan(或 +-inf)。默认行为是通过计算进行传播,但是一些操作(如比较)会破坏链并松开 Nan,并且其余的处理继续进行而不承认算法前面步骤中的奇异性。
有时我们有办法对这种事件做出反应:延长函数(“在我的情况下为 0/0 = 12”),或者在时域模拟中放弃步骤并尝试其他设置(如预测器、步骤大小或其他)。
所以这是我的问题:您知道将 IEEE754 陷阱暴露给开发人员的语言吗?我不想为此与 ASM 搞混。
c - int数组上的浮点异常-C
int sudoku[9][9] 声明为全局变量, used_numbers[9] 为 int。在数独矩阵中,行从 0 到 2,每行从 0 到 2,其中有数字 > 0
此时我得到“浮点异常”,如何解决这个问题?对不起,我的英语不好...
c++ - C++中rand()引起的浮点异常
我有一个我似乎无法解决的问题。我随机生成数字以确定我的数字是否是相对素数。
这是给我一个浮点异常的函数:
我通过执行以下操作在不同的函数中随机播种:
非常感谢您的帮助!
c++ - 使用 icc 编译器的浮动异常
我正在通过以下命令编译我的代码:
然后当我运行程序时:
我得到一个“浮动异常”。以下是我在异常之前和之后的 C++ 代码:
这是布尔代数......所以 (j < E[i]) 要么是 0 要么是 1,所以乘法将导致 0 或 foo() 结果。我不明白为什么这会导致浮动异常。这就是 foo() 的作用:
foo() 不是我编写的函数,所以我不太确定它的作用……但我认为问题不在于函数 foo()。是否有一些关于布尔代数的东西我不理解,或者在 C++ 中的工作方式与我所知道的不同?任何想法为什么这会导致异常?
谢谢, 赫里斯托
c++ - Visual Studio C++ 2008 / 2010 - 浮点 NaN 中断
有什么方法可以设置 Visual Studio(刚刚从 2008 年升级到 2010 年)在任何浮点数变为 NaN、QNAN、INF 等时中断,就像断言失败一样?
到目前为止,我一直在使用 assert(x == x) 技巧,但我宁愿使用一些隐含的东西,这样我就不必到处添加断言了。
很惊讶我无法通过谷歌找到答案。关于“浮点异常”的一些内容,但我不确定它们是否相同,并且我已经尝试在 Visual Studio 中启用它们,但程序不会中断,直到由于 NaN 而发生灾难性事件之后在执行中。
c++ - 强制所有 QNaN 改为普通 NaN (SNaN),以便引发异常
我已将 Visual Studio 配置为通过 _controlfp 函数引发浮点异常。这适用于 NAN 和 INF,但不适用于 QNAN。即安静的 NaN 不会引发异常。Visual Studio 2008/2010 是否有任何功能或配置选项会强制 QNAN 改为 NAN,从而引发异常?
floating-point - 在没有 epsilon 的情况下使用浮点数总是有代码味道吗?
这个问题很简单。它与以下内容有关,但绝对不是:
大多数未打补丁的 Tomcat 网络服务器都容易受到攻击,谁的错?
看到浮点数可能出错的惊人数量(包括但不限于不同架构上的不同结果、错误使用时的错误结果、影响两种不同语言的两次拒绝服务崩溃等)我'我想知道一个非常简单的问题:
在没有 epsilon 的情况下使用浮点数是否总是代码气味或规格气味?
(也就是说:浮点数真的应该只用于科学计算,其余的都应该使用固定数量的精度来完成吗?)
c++ - C++ 应用程序中不引发浮点异常的 NaN 的原因
为了找到在我的 C++ 程序中将浮点变量设置为 NaN 的原因,我启用了浮点异常,如下所示:
我知道它有效,因为当我写的时候:
在我的程序中,出现了一个浮点异常。但是 NaN 正在通过我的程序的浮点计算“传播”,我不知道哪个变量首先设置为 NaN。
存在什么原因导致变量 beeeing 设置为 NaN,不会导致浮点异常?
c++ - 奇怪的浮点异常
经过一些更改后,我在大型应用程序中遇到了浮点异常。我试图评论我的更改,发现当我启用一个简单的函数调用时会发生 FPE。
它只是返回值。看起来像这样
这是静态成员函数。当我将其移至头文件时,一切正常。我很困惑,这可能是什么原因?看起来 API 在另一个模块中并作为动态库链接,但这怎么会导致问题呢?
添加
有一个函数 maxBox() 是模板并在api.h
头文件中实现。这个函数调用getMaxSize()
这是调用代码
如果我启用 getMaxSize() 调用,程序开始抛出 FPE,但实际上从未调用 getMaxSize()。
添加了
Found FPE in box * scale
,无法理解为什么它在没有getMaxSize()
调用的情况下工作,但是问题已经解决。谢谢大家。
提前致谢。