quadmath 库没有太多在线文档,我想使用__complex128type 执行两个简单的操作。
- 有没有办法在这种类型的变量中轻松打印值?
- 如何将变量从 转换回
__complex128,complex<double>甚至将单个__float128实部和虚部转换为加倍?
第二个问题更重要,因为如果我可以转换它,我可以简单地使用cout!
编辑:一切都涉及到以下问题。我如何转换__float128为double?
quadmath 库没有太多在线文档,我想使用__complex128type 执行两个简单的操作。
__complex128,complex<double>甚至将单个__float128实部和虚部转换为加倍?第二个问题更重要,因为如果我可以转换它,我可以简单地使用cout!
编辑:一切都涉及到以下问题。我如何转换__float128为double?
将 a 转换__float128为 adouble不需要任何特殊操作:
const __float128 x{};
const double y = x;
为了清楚起见(和更少的警告),您可能需要一个static_cast。
构造一个std::complex<T>from__complex128也不难:
auto bar(__complex128 y)
{
return std::complex<double>{
static_cast<double>(__real__ y),
static_cast<double>(__imag__ y)
};
}
尝试这个:
std::complex<double> x;
__complex128 y;
x.real(__real__ y)
x.imag(__imag__ y)