gpt4 book ai didi

mono - Math.Pow() 在单 ARM 构建中损坏?

转载 作者:行者123 更新时间:2023-12-02 03:54:32 25 4
gpt4 key购买 nike

所以我在 BeagleBone(ARM 700MHz 处理器)上运行 Ubuntu 12.04,令我非常惊讶的是,我刚刚发现 Math.Pow() 在该平台上返回不正确的结果(Mono build 2.10.8.1ubuntu2.1 ).

经过一番搜索,我找到了this poster谁表示这是一个已知问题。几乎是随便。我有点震惊,a) 这个问题一开始就出现了,b) 没有 ETA 来修复我认为是核心数学库中一个非常基本的错误。

进一步搜索只找到了几个匹配项,在 https://bugzilla.xamarin.com/ 上没有提及此内容(我打算提交错误报告)。

所以,诚然,我还没有进入源代码(虽然我打算),谁能向我解释解决这个问题的困难,或者它是如何首先被引入的?我的意思是,math.h 中的 pow() 函数按预期工作,所以不能 Math.Pow() 只是包装它吗?我在这里缺少什么?

我想我觉得这背后的浮点运算有一些我不理解的东西,所以这不仅仅是一个错误报告,我想知道根本问题是什么,或者它是否是只是一个被忽视的大问题。

编辑:此页面很好地总结了问题的根源(在 debian 中移植 armhf 的状态): http://wiki.debian.org/ArmHardFloatTodo

妙语:Mono 2.10 被列为未针对 armhf 端口修复,但它正在为 mono 3.0 开发。

最佳答案

有关该问题的一些更详细的背景信息: http://lists.debian.org/debian-arm/2012/02/msg00000.html

但总而言之 - armhf 不是 Mono 的适当支持的 ABI,其 ARM 端口是为 armel ABI 制作的。这意味着调用者和被调用者最终会在函数调用中传递浮点参数的位置上发生分歧。

很少有事情是“只需更改 2 行代码”,而那些通常需要付出大量努力才能找出哪两行代码错误以及它们应该做什么。

关于mono - Math.Pow() 在单 ARM 构建中损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13257119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com