Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ std::complex的boost-mpi-reduce<;长双>;排列_C++_Boost - Fatal编程技术网

C++ std::complex的boost-mpi-reduce<;长双>;排列

C++ std::complex的boost-mpi-reduce<;长双>;排列,c++,boost,C++,Boost,有没有人想到使用boost为std::complex数组进行reduce 我收到错误“struct std::complex”没有名为“serialize”的成员 对于以下代码: #include <boost/mpi.hpp> #include<complex> namespace mpi = boost::mpi; int main() { mpi::environment env; mpi::communicator world; const int N = 4;

有没有人想到使用boost为
std::complex
数组进行reduce

我收到错误
“struct std::complex”没有名为“serialize”的成员

对于以下代码:

#include <boost/mpi.hpp>
#include<complex>
namespace mpi = boost::mpi;

int main() {
mpi::environment env;
mpi::communicator world;
const int N = 4;

std::complex<long double>  a[N]={};


 if (world.rank() == 0) {
    std::complex<long double>  sum[N] = {};
    mpi::reduce(world, a,sum, std::plus<>(), 0);

    for(int i=0;i<N;i++) std::cout<<a[i]<<std::endl; 
} 

}
#包括
#包括
名称空间mpi=boost::mpi;
int main(){
环境环境;
mpi::通信器世界;
常数int N=4;
std::复合物a[N]={};
if(world.rank()==0){
std::复数和[N]={};
mpi::reduce(world,a,sum,std::plus(),0);

对于(int i=0;i库中的一种常见设计,可以选择使用外来类型,如SC++L类型、您可能没有的现代标准类型或其他来源的类型,除非您明确包含标头,否则不提供该功能

Boost这样做是为了融合和序列化,以避免为您的翻译单元中可能不需要或甚至不存在的内容引入沉重的SC++L标题

很可能存在类似于
boost/serialization/complex.hpp的头,您可能需要查找并包含它