- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
考虑以下使用 boost 创建多精度 float “a”的代码。
如何使用boost库调用三角函数?比如我希望计算sin(a)。
#include <iostream>
#include "boost/multiprecision/cpp_bin_float.hpp"
using namespace std;
using namespace boost::multiprecision;
typedef number<backends::cpp_bin_float<24, backends::digit_base_2, void, boost::int16_t, -126, 127>, et_off> float32;
int main (void) {
float32 a("0.5");
return 0;
}
最佳答案
图书馆似乎有限制。当精度降得太低时,sin
实现将不再编译。
一些中间计算正在以 double
精度进行。对结果类型的赋值将是有损的,因此无法编译。
您选择的类型actually corresponds到 cpp_bin_float_single
。那不编译。
只要选择 cpp_bin_float_double
(精度为 53 位二进制数字)或更高,就可以了。
我想这个限制在某些方面可以被视为一个错误。您可以将其报告给库开发人员,他们将能够判断相关代码是否可以在那里使用单精度 float 而不影响 sin
近似的收敛。
关于c++ - 将 boost multiprecision 与三角函数结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30470032/
在C语言标准库里面提供了常用的三角函数,在头文件math.h里面可以看到函数的相关定义。 double __cdecl sin(double _X); double __cdecl cos(dou
我这个人可不是“科学怪人”,但是我可爱的朋友们,今天我想和你们谈一谈三角函数与牛顿迭代法。这可不是一件简单的事情哦,就像是找到一片荒芜的沙漠中的绿洲一样。但是别怕,我会用通俗易懂的语言给你们解释清楚的
我想做一个 sin 函数。所以这是我的代码: inline double _cdecl Sin(double Rad) { _asm { fld QWORD PTR [
当我偶然发现这个时,我正在通过为表中的字段预先计算一些三角函数来优化查询: SELECT 6371 * acos( 0.793521289617132 * 0.793521289617132 + 0.
我正在尝试在 Android 上使用 Java 和 LibGDX 做一些基本的三角函数。我花了很长时间在谷歌上搜索“如何找到直角三角形的角度”。我还是不太明白:( 我想给 Actor 子类一个随机的方
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
我目前使用 MSSQL 查询,它允许我查找特定半径内的项目。它看起来像这样: select distinct ID,longitude,latitude, (@unite * ACOS(cos(rad
这个问题类似于斐波那契数列,只是我们将最后三个数字加在一起而不是最后两个数字。它被称为 Tribonacci。 INPUT:序列中 3 个起始数字的数组/列表,以及 (n) 您希望最终模式有多长,例如
我明白如何计算斜边 a^2 + b^2 = c^2,sqrt(c) = 斜边。而且我知道 stackoverflow 上已经有一些相关的答案,但他们沉浸在我作为初学者程序员还不理解的术语中。 由于这更
我正在写一个应该计算角度(以度为单位)的类,经过长时间的尝试我没有让它工作。 When r = 45 & h = 0 sum should be around 77,14° 但它返回 NaN - 为什
我试着算出三角形的角。 如果三角形的一边是100,另一边是100。 我如何使它达到 45 度。 如果我在我的计算器上运行 tan-1(100/100),我得到 45。我如何在 PHP 中执行此操作?
由于 java.lang.Math 中的三角函数非常慢:是否有一个库可以快速且良好地进行近似?在不损失太多精度的情况下,似乎可以将计算速度提高几倍。 (在我的机器上,乘法需要 1.5ns,java.l
我正在尝试计算 SSIS 表达式(作为新列)中的 SIN 和 COS,但找不到任何表达式。 例如: 新加坡(lat_org_rad)COS(long_org_rad)ACOS(long_org_rad
问题: 在简单的 SDL 2.0.4 应用程序(自上而下的移动/旋转尝试)中使用 math.h 三角函数时,我发现三角计算中存在一些小错误,导致“玩家”不动正好在面对的方向,这让我很烦恼。我搜索了为什
我用 Python 编写了这段代码 def hitsin(a): a = a*57.3 return math.sin(a) 所以每当我输入 hitsin(x) 时,x 都会转换为弧度
我的 Enemy 类中有一个名为 huntPlayer 的方法。它需要一个播放器对象 p。在这里: def huntPlayer(self, p): if self.dist2p self.
我遇到了一些应该很容易回答的问题,但我不能 Handlebars 指放在上面。自从我做了一些三角函数以来已经有一段时间了。 double cosValue = -2.7105054312E-20; /
我是一名优秀的程序员,十分优秀!