⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpicxx.h.in

📁 fortran并行计算包
💻 IN
📖 第 1 页 / 共 5 页
字号:
    {        Prequest v7;        MPIX_CALL( MPI_Bsend_init( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) ));        return v7;    }    virtual Prequest Ssend_init( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        Prequest v7;        MPIX_CALL( MPI_Ssend_init( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) ));        return v7;    }    virtual bool Is_inter( void ) const    {        int v2;        MPIX_CALL( MPI_Comm_test_inter( (MPI_Comm) the_real_comm, &v2 ));        return v2!= 0;    }    virtual Prequest Rsend_init( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        Prequest v7;        MPIX_CALL( MPI_Rsend_init( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) ));        return v7;    }    virtual Request Ibsend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        Request v7;        MPIX_CALL( MPI_Ibsend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) ));        return v7;    }    virtual void Abort( int v2 ) const    {        MPIX_CALL( MPI_Abort( (MPI_Comm) the_real_comm, v2 ));    }    virtual void Free( void )     {        MPIX_CALL( MPI_Comm_free( (MPI_Comm *) &the_real_comm ));    }    virtual Prequest Send_init( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        Prequest v7;        MPIX_CALL( MPI_Send_init( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) ));        return v7;    }    virtual void Recv( void* v1, int v2, const Datatype &v3, int v4, int v5, Status & v7 ) const    {        MPIX_CALL( MPI_Recv( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, (MPI_Status *)&(v7.the_real_status ) ));    }    virtual void Recv( void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        MPIX_CALL( MPI_Recv( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, MPI_STATUS_IGNORE ));    }    virtual void Sendrecv( const void * v1, int v2, const Datatype &v3, int v4, int v5, void * v6, int v7, const Datatype &v8, int v9, int v10, Status & v12 ) const    {        MPIX_CALL( MPI_Sendrecv( (void *)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, v6, v7, (MPI_Datatype)(v8.the_real_datatype), v9, v10, (MPI_Comm) the_real_comm, (MPI_Status *)&(v12.the_real_status ) ));    }    virtual void Sendrecv( const void * v1, int v2, const Datatype &v3, int v4, int v5, void * v6, int v7, const Datatype &v8, int v9, int v10 ) const    {        MPIX_CALL( MPI_Sendrecv( (void *)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, v6, v7, (MPI_Datatype)(v8.the_real_datatype), v9, v10, (MPI_Comm) the_real_comm, MPI_STATUS_IGNORE ));    }    virtual void Sendrecv_replace( void* v1, int v2, const Datatype &v3, int v4, int v5, int v6, int v7, Status & v9 ) const    {        MPIX_CALL( MPI_Sendrecv_replace( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, v6, v7, (MPI_Comm) the_real_comm, (MPI_Status *)&(v9.the_real_status ) ));    }    virtual void Sendrecv_replace( void* v1, int v2, const Datatype &v3, int v4, int v5, int v6, int v7 ) const    {        MPIX_CALL( MPI_Sendrecv_replace( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, v6, v7, (MPI_Comm) the_real_comm, MPI_STATUS_IGNORE ));    }    virtual int Get_topology( void ) const    {        int v2;        MPIX_CALL( MPI_Topo_test( (MPI_Comm) the_real_comm, &v2 ));        return v2;    }    virtual Request Isend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        Request v7;        MPIX_CALL( MPI_Isend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) ));        return v7;    }    virtual void Probe( int v1, int v2, Status & v4 ) const    {        MPIX_CALL( MPI_Probe( v1, v2, (MPI_Comm) the_real_comm, (MPI_Status *)&(v4.the_real_status ) ));    }    virtual void Probe( int v1, int v2 ) const    {        MPIX_CALL( MPI_Probe( v1, v2, (MPI_Comm) the_real_comm, MPI_STATUS_IGNORE ));    }    static int Compare( const Comm &v1, const Comm &v2 )     {        int v3;        MPIX_CALL( MPI_Comm_compare( (MPI_Comm)(v1.the_real_comm), (MPI_Comm)(v2.the_real_comm), &v3 ));        return v3;    }    virtual int Get_size( void ) const    {        int v2;        MPIX_CALL( MPI_Comm_size( (MPI_Comm) the_real_comm, &v2 ));        return v2;    }    virtual Request Issend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        Request v7;        MPIX_CALL( MPI_Issend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) ));        return v7;    }    virtual void Set_errhandler( const Errhandler &v2 )     {        MPIX_CALL( MPI_Comm_set_errhandler( (MPI_Comm) the_real_comm, (MPI_Errhandler)(v2.the_real_errhandler) ));    }    virtual void Send( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        MPIX_CALL( MPI_Send( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm ));    }    virtual Request Irsend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        Request v7;        MPIX_CALL( MPI_Irsend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) ));        return v7;    }    virtual void Ssend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        MPIX_CALL( MPI_Ssend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm ));    }    virtual Prequest Recv_init( void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        Prequest v7;        MPIX_CALL( MPI_Recv_init( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) ));        return v7;    }    virtual bool Iprobe( int v1, int v2, Status & v5 ) const    {        int v4;        MPIX_CALL( MPI_Iprobe( v1, v2, (MPI_Comm) the_real_comm, &v4, (MPI_Status *)&(v5.the_real_status ) ));        return v4!= 0;    }    virtual bool Iprobe( int v1, int v2 ) const    {        int v4;        MPIX_CALL( MPI_Iprobe( v1, v2, (MPI_Comm) the_real_comm, &v4, MPI_STATUS_IGNORE ));        return v4!= 0;    }    virtual void Bsend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        MPIX_CALL( MPI_Bsend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm ));    }    virtual Request Irecv( void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        Request v7;        MPIX_CALL( MPI_Irecv( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) ));        return v7;    }    virtual Errhandler Get_errhandler( void ) const    {        Errhandler v2;        MPIX_CALL( MPI_Comm_get_errhandler( (MPI_Comm) the_real_comm, &(v2.the_real_errhandler) ));        return v2;    }    virtual void Rsend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const    {        MPIX_CALL( MPI_Rsend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm ));    }    virtual void Gatherv( const void* v1, int v2, const Datatype &v3, void* v4, const int * v5, const int * v6, const Datatype &v7, int v8 ) const    {        MPIX_CALL( MPI_Gatherv( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, (int *)v5, (int *)v6, (MPI_Datatype)(v7.the_real_datatype), v8, (MPI_Comm) the_real_comm ));    }    virtual void Disconnect( void )     {        MPIX_CALL( MPI_Comm_disconnect( (MPI_Comm *) &the_real_comm ));    }    virtual void Allreduce( const void* v1, void* v2, int v3, const Datatype &v4, const Op &v5 ) const    {        MPIX_CALL( MPI_Allreduce( (void*)v1, v2, v3, (MPI_Datatype)(v4.the_real_datatype), (MPI_Op)(v5.the_real_op), (MPI_Comm) the_real_comm ));    }    virtual void Alltoallw( const void * v1, const int v2[], const int v3[],  const Datatype v4[], void * v5, const int v6[], const int v7[],  const Datatype v8[] ) const    {        MPI_Datatype *l4 = new MPI_Datatype[Get_size()];        MPI_Datatype *l8 = new MPI_Datatype[Get_size()];        {             int i4;             for (i4=0;i4<Get_size();i4++) {                l4[i4] = v4[i4].the_real_datatype;            }        }        {             int i8;             for (i8=0;i8<Get_size();i8++) {                l8[i8] = v8[i8].the_real_datatype;            }        }        MPIX_CALL( MPI_Alltoallw( (void *)v1, (int *)v2, (int *)v3, l4, v5, (int *)v6, (int *)v7, l8, (MPI_Comm) the_real_comm ));                    delete[] l4;                    delete[] l8;    }    static Intercomm Join( const int v1 ) ;    virtual void Alltoall( const void* v1, int v2, const Datatype &v3, void* v4, int v5, const Datatype &v6 ) const    {        MPIX_CALL( MPI_Alltoall( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Datatype)(v6.the_real_datatype), (MPI_Comm) the_real_comm ));    }    virtual bool Get_attr( int v2, void * v3 ) const    {        int v4;        MPIX_CALL( MPI_Comm_get_attr( (MPI_Comm) the_real_comm, v2, v3, &v4 ));        return v4!= 0;    }    virtual void Barrier( void ) const    {        MPIX_CALL( MPI_Barrier( (MPI_Comm) the_real_comm ));    }    virtual void Bcast( void* v1, int v2, const Datatype &v3, int v4 ) const    {        MPIX_CALL( MPI_Bcast( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, (MPI_Comm) the_real_comm ));    }    virtual void Set_attr( int v2, const void * v3 )     {        MPIX_CALL( MPI_Comm_set_attr( (MPI_Comm) the_real_comm, v2, (void *)v3 ));    }    virtual void Set_name( const char * v2 )     {        MPIX_CALL( MPI_Comm_set_name( (MPI_Comm) the_real_comm, (char *)v2 ));    }    static Intercomm Get_parent( void ) ;    virtual void Alltoallv( const void* v1, const int * v2, const int * v3, const Datatype &v4, void* v5, const int * v6, const int * v7, const Datatype &v8 ) const    {        MPIX_CALL( MPI_Alltoallv( (void*)v1, (int *)v2, (int *)v3, (MPI_Datatype)(v4.the_real_datatype), v5, (int *)v6, (int *)v7, (MPI_Datatype)(v8.the_real_datatype), (MPI_Comm) the_real_comm ));    }    virtual void Reduce_scatter( const void* v1, void* v2, int * v3, const Datatype &v4, const Op &v5 ) const    {        MPIX_CALL( MPI_Reduce_scatter( (void*)v1, v2, v3, (MPI_Datatype)(v4.the_real_datatype), (MPI_Op)(v5.the_real_op), (MPI_Comm) the_real_comm ));    }    virtual void Scatter( const void* v1, int v2, const Datatype &v3, void* v4, int v5, const Datatype &v6, int v7 ) const    {        MPIX_CALL( MPI_Scatter( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Datatype)(v6.the_real_datatype), v7, (MPI_Comm) the_real_comm ));    }    virtual void Call_errhandler( int v2 ) const    {        MPIX_CALL( MPI_Comm_call_errhandler( (MPI_Comm) the_real_comm, v2 ));    }    virtual void Gather( const void* v1, int v2, const Datatype &v3, void* v4, int v5, const Datatype &v6, int v7 ) const    {        MPIX_CALL( MPI_Gather( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Datatype)(v6.the_real_datatype), v7, (MPI_Comm) the_real_comm ));    }    static void Free_keyval( int &v1 )     {        MPIX_CALL( MPI_Comm_free_keyval( &v1 ));    }    virtual void Reduce( const void* v1, void* v2, int v3, const Datatype &v4, const Op &v5, int v6 ) const    {        MPIX_CALL( MPI_Reduce( (void*)v1, v2, v3, (MPI_Datatype)(v4.the_real_datatype), (MPI_Op)(v5.the_real_op), v6, (MPI_Comm) the_real_comm ));    }    virtual void Allgather( const void* v1, int v2, const Datatype &v3, void* v4, int v5, const Datatype &v6 ) const    {        MPIX_CALL( MPI_Allgather( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Datatype)(v6.the_real_datatype), (MPI_Comm) the_real_comm ));    }    virtual void Delete_attr( int v2 )     {        MPIX_CALL( MPI_Comm_delete_attr( (MPI_Comm) the_real_comm, v2 ));    }    virtual void Scatterv( const void* v1, const int * v2, const int * v3, const Datatype &v4, void* v5, int v6, const Datatype &v7, int v8 ) const    {        MPIX_CALL( MPI_Scatterv( (void*)v1, (int *)v2, (int *)v3, (MPI_Datatype)(v4.the_real_datatype), v5, v6, (MPI_Datatype)(v7.the_real_datatype), v8, (MPI_Comm) the_real_comm ));    }    virtual void Get_name( char * v2, int &v3 ) const    {        MPIX_CALL( MPI_Comm_get_name( (MPI_Comm) the_real_comm, v2, &v3 ));    }    virtual void Allgatherv( const void* v1, int v2, const Datatype &v3, void* v4, const int * v5, const int * v6, const Datatype &v7 ) const    {        MPIX_CALL( MPI_Allgatherv( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, (int *)v5, (int *)v6, (MPI_Datatype)(v7.the_real_datatype), (MPI_Comm) the_real_comm ));    }    virtual Comm &Clone(void) const = 0;    typedef int Copy_attr_function(const Comm& oldcomm, int comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, bool& flag);     typedef int Delete_attr_function(Comm& comm, int comm_keyval, void* attribute_val, void* extra_state);     typedef void Errhandler_fn(Comm &, int *, ... );    static int Create_keyval( Copy_attr_function *, Delete_attr_function *,                              void * );              static int NULL_COPY_FN( const Comm &oldcomm, int keyval, void *ex,    void *attr_in, void *attr_out, bool &flag ) { flag = 0; return 0;}    static int NULL_DELETE_FN( Comm &comm, int keyval, void * attr, void *ex )	{ return 0; }    static int DUP_FN( const Comm &oldcomm, int keyval, void *ex,    void *attr_in, void *attr_out, bool &flag ) { flag = 1;     *(void **)attr_out = attr_in; return 0;}     static Errhandler Create_errhandler( Errhandler_fn * );};class Nullcomm : public Comm {  public:    // new/delete    inline Nullcomm(MPI_Comm obj) : Comm(obj) {}    inline Nullcomm(void) : Comm() {}    virtual ~Nullcomm() {}    // copy/assignment    Nullcomm(const Nullcomm &obj) : Comm(obj) {}    Nullcomm& operator=(const Nullcomm &obj) {      the_real_comm = obj.the_real_comm; return *this; }    // C/C++ cast and assignment    inline operator MPI_Comm*() { return &the_real_comm; }    inline operator MPI_Comm() const { return the_real_comm; }    Nullcomm& operator=(const MPI_Comm& obj) {      the_real_comm = obj; return *this; }// If the compiler does not support variable return types, return a // reference to Comm.  The user must then cast this to the correct type// (Standard-conforming C++ compilers support variable return types)#ifdef HAVE_NO_VARIABLE_RETURN_TYPE_SUPPORT    virtual Comm & Clone(void) const {         Comm *clone = new Nullcomm(MPI_COMM_NULL);         return *clone;     };#else    virtual Nullcomm & Clone(void) const {         Nullcomm *clone = new Nullcomm();        return *clone;     };#endif};class Intercomm : public Comm {    friend class Intracomm;  public:    // new/delete    inline Intercomm(MPI_Comm obj) : Comm(obj) {}    inline Intercomm(void) : Comm() {}    virtual ~Intercomm() {}    // copy/assignment    Intercomm(const Intercomm &obj) : Comm(obj) {}    Intercomm& operator=(const Intercomm &obj) {      the_real_comm = obj.the_real_comm; return *this; }    // C/C++ cast and assignment    inline operator MPI_Comm*() { return &the_real_comm; }    inline operator MPI_Comm() const { return the_real_comm; }    Intercomm& operator=(const MPI_Comm& obj) {      the_real_comm = obj; return *this; }    virtual Intracomm Merge( bool v2 ) const;    virtual Group Get_remote_group( void ) const    {        Group v2;        MPIX_CALL( MPI_Comm_remote_group( (MPI_Comm) the_real_comm, &(v2.the_real_group) ));        return v2;    }    virtual int Get_remote_size( void ) const    {        int v2;        MPIX_CALL( MPI_Comm_remote_size( (MPI_Comm) the_real_comm, &v2 ));        return v2;    }    Intercomm Dup( void ) const    {        Intercomm v2;        MPIX_CALL( MPI_Comm_dup( (MPI_Comm) the_real_comm, &(v2.the_real_comm) ));        return v2;    }    virtual Intercomm Split( int v2, int v3 ) const    {        Intercomm v4;        MPIX_CALL( MPI_Comm_split( (MPI_Comm) the_real_comm, v2, v3, &(v4.the_real_comm) ));        return v4;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -