作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个问题与此处提供的问题(和答案)相关: C++ Boost Interval and cos
上面链接中提供的解决方案适用于大多数三角函数,包括一次双曲函数。但是,如果我尝试使用一次这个双曲线的反函数,让我们以 asinh() 为例,我会得到以下编译器错误:
error C2784: "boost::numeric::interval<T,Policies>
boost::numeric::asinh(const boost::numeric::interval<T,Policies> &)":
could not deduce template argument for "const
boost::numeric::interval<T,Policies> &" from "const double"
产生错误的代码是
#include "stdafx.h"
#include <boost/numeric/interval.hpp>
#include <boost/numeric/interval/rounded_arith.hpp>
using namespace std;
using namespace boost::numeric::interval_lib;
using namespace boost::numeric;
typedef interval<double, policies<save_state<rounded_transc_std<double> >,
checking_base<double> > > Interval;
int _tmain(int argc, _TCHAR* argv[])
{
Interval test = asinh(Interval(1, 1.1));
return 0;
}
我正在使用 boost 1_65_1 库。如何让双曲函数的反函数运行?
当然,一种解决方法是使用身份
Interval test = log(Interval(1, 1.1) + sqrt(pow(Interval(1, 1.1),2)+1.));
这工作得很好并且产生了正确的结果。但是,必须可以直接使用已实现的 asinh 函数。
最佳答案
可能存在与 MSVC 相关的错误,因为它适用于使用 GCC 或 clang 的我:
#include <boost/numeric/interval.hpp>
#include <boost/numeric/interval/io.hpp>
#include <boost/numeric/interval/rounded_arith.hpp>
#include <iostream>
namespace bn = boost::numeric;
namespace bni = bn::interval_lib;
typedef bn::interval<double, bni::policies<bni::save_state<bni::rounded_transc_std<double> >,
bni::checking_base<double> > > Interval;
int main()
{
Interval test = asinh(Interval(1, 1.1));
std::cout << test;
}
打印
[0.881374,0.950347]
关于C++ boost 间隔和 asinh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47529041/
我有一个问题与此处提供的问题(和答案)相关: C++ Boost Interval and cos 上面链接中提供的解决方案适用于大多数三角函数,包括一次双曲函数。但是,如果我尝试使用一次这个双曲线的
我试图在不同的操作系统上保持一致的浮点计算结果,但在较新的系统上进行测试时,我遇到了关于 numpy 和 arcsinh 的奇怪回归。这是一个最小的工作示例,它在不同系统中表现不同。 #!/usr/b
这将替代对数刻度,以便它可以处理负数。虽然我一直在尝试使用 d3 的对数刻度源作为起点,但还没有看到很多自定义刻度的例子。 最佳答案 据我所知,没有办法在 D3 中制作自定义比例(至少不是您正在寻找的
我是一名优秀的程序员,十分优秀!