ESYS13  Revision_
Classes | Defines | Typedefs | Functions
Coupler.h File Reference
#include "SharedComponents.h"

Go to the source code of this file.

Classes

struct  Paso_Connector
struct  Paso_Coupler

Defines

#define Paso_Coupler_borrowLocalData(_in_)   (_in_)->data
#define Paso_Coupler_borrowRemoteData(_in_)   (_in_)->recv_buffer
#define Paso_Coupler_getNumSharedComponents(_in_)   ((_in_)->connector->send->numSharedComponents)
#define Paso_Coupler_getNumOverlapComponents(_in_)   ((_in_)->connector->recv->numSharedComponents)
#define Paso_Coupler_getNumSharedValues(_in_)   ( Paso_Coupler_getNumSharedComponents(_in_) * (_in_)->block_size )
#define Paso_Coupler_getNumOverlapValues(_in_)   ( Paso_Coupler_getNumOverlapComponents(_in_) * (_in_)->block_size )
#define Paso_Coupler_getLocalLength(_in_)   ( (_in_)->connector->send->local_length )

Typedefs

typedef struct Paso_Connector Paso_Connector
typedef struct Paso_Coupler Paso_Coupler

Functions

PASO_DLL_API Paso_ConnectorPaso_Connector_alloc (Paso_SharedComponents *send, Paso_SharedComponents *recv)
PASO_DLL_API Paso_ConnectorPaso_Connector_getReference (Paso_Connector *)
PASO_DLL_API Paso_ConnectorPaso_Connector_unroll (Paso_Connector *in, index_t block_size)
PASO_DLL_API Paso_ConnectorPaso_Connector_copy (Paso_Connector *in)
PASO_DLL_API void Paso_Connector_free (Paso_Connector *)
PASO_DLL_API Paso_CouplerPaso_Coupler_alloc (Paso_Connector *, dim_t blockSize)
PASO_DLL_API Paso_CouplerPaso_Coupler_getReference (Paso_Coupler *)
PASO_DLL_API void Paso_Coupler_startCollect (Paso_Coupler *self, const double *in)
PASO_DLL_API double * Paso_Coupler_finishCollect (Paso_Coupler *self)
PASO_DLL_API void Paso_Coupler_free (Paso_Coupler *in)
PASO_DLL_API void Paso_Coupler_copyAll (const Paso_Coupler *src, Paso_Coupler *target)
PASO_DLL_API void Paso_Coupler_fillOverlap (const dim_t n, double *x, Paso_Coupler *coupler)
PASO_DLL_API void Paso_Coupler_max (const dim_t n, double *x, Paso_Coupler *coupler)

Define Documentation

#define Paso_Coupler_borrowLocalData (   _in_)    (_in_)->data
#define Paso_Coupler_borrowRemoteData (   _in_)    (_in_)->recv_buffer
#define Paso_Coupler_getLocalLength (   _in_)    ( (_in_)->connector->send->local_length )

Referenced by Paso_Coupler_copyAll().

#define Paso_Coupler_getNumOverlapComponents (   _in_)    ((_in_)->connector->recv->numSharedComponents)
#define Paso_Coupler_getNumOverlapValues (   _in_)    ( Paso_Coupler_getNumOverlapComponents(_in_) * (_in_)->block_size )
#define Paso_Coupler_getNumSharedComponents (   _in_)    ((_in_)->connector->send->numSharedComponents)
#define Paso_Coupler_getNumSharedValues (   _in_)    ( Paso_Coupler_getNumSharedComponents(_in_) * (_in_)->block_size )

Typedef Documentation

typedef struct Paso_Coupler Paso_Coupler

Function Documentation

PASO_DLL_API void Paso_Coupler_copyAll ( const Paso_Coupler src,
Paso_Coupler target 
)
PASO_DLL_API void Paso_Coupler_fillOverlap ( const dim_t  n,
double *  x,
Paso_Coupler coupler 
)
PASO_DLL_API void Paso_Coupler_max ( const dim_t  n,
double *  x,
Paso_Coupler coupler 
)
PASO_DLL_API void Paso_Coupler_startCollect ( Paso_Coupler self,
const double *  in 
)