#include <idxl_layout.h>
Public Member Functions | |
IDXL_Layout (void) | |
IDXL_Layout (const int b, const int v=1, const int i=0, const int fd=0, const int id=0) | |
void | pup (PUP::er &p) |
int | userBytes (void) const |
Return the total number of bytes per user data record. | |
int | compressedBytes (void) const |
Return the total number of bytes per compressed record. | |
void | gather (int nNodes, const int *nodes, const void *v_in, void *v_out) const |
For each record in nodes[0. | |
void | scatter (int nNodes, const int *nodes, const void *v_in, void *v_out) const |
For each record in nodes[0. | |
void | scatteradd (int nNodes, const int *nodes, const void *v_in, void *v_out) const |
For each record in nodes[0. | |
Static Public Member Functions | |
static int | type_size (int dataType, const char *callingRoutine="") |
Return the total number of bytes required by this IDXL_* data type. | |
static const char * | type_name (int dataType, const char *callingRoutine="") |
Return a human-readable string describing this IDXL_* data type. | |
Data Fields | |
int | type |
IDXL data type, like IDXL_INT or IDXL_DOUBLE. | |
int | width |
Number of data fields per record. | |
int | offset |
Bytes to jump from start of the array to first field. | |
int | distance |
Bytes per record. | |
int | skew |
Bytes between start of each field. |
It's used to read and write values from the user data structure.
This structure must be layout-compatible with a 5-integer array.
Definition at line 20 of file idxl_layout.h.
IDXL_Layout::IDXL_Layout | ( | void | ) | [inline] |
IDXL_Layout::IDXL_Layout | ( | const int | b, | |
const int | v = 1 , |
|||
const int | i = 0 , |
|||
const int | fd = 0 , |
|||
const int | id = 0 | |||
) | [inline] |
Definition at line 29 of file idxl_layout.h.
References compressedBytes(), distance, fd, offset, skew, type, type_size(), and width.
void IDXL_Layout::pup | ( | PUP::er & | p | ) | [inline] |
Return the total number of bytes required by this IDXL_* data type.
Definition at line 16 of file idxl_layout.C.
References float, IDXL_Abort(), and int.
Referenced by compressedBytes(), IDXL_Layout(), and mesh_data().
const char * IDXL_Layout::type_name | ( | int | dataType, | |
const char * | callingRoutine = "" | |||
) | [static] |
Return a human-readable string describing this IDXL_* data type.
Definition at line 31 of file idxl_layout.C.
int IDXL_Layout::userBytes | ( | void | ) | const [inline] |
Return the total number of bytes per user data record.
Definition at line 47 of file idxl_layout.h.
References distance.
int IDXL_Layout::compressedBytes | ( | void | ) | const [inline] |
Return the total number of bytes per compressed record.
Definition at line 52 of file idxl_layout.h.
References type, type_size(), and width.
Referenced by IDXL_Layout(), and IDXL_Comm::post().
void IDXL_Layout::gather | ( | int | nIndices, | |
const int * | indices, | |||
const void * | v_user, | |||
void * | v_compressed | |||
) | const |
For each record in nodes[0.
.nNodes-1], copy the user data in v_in into the compressed data in v_out.
Definition at line 219 of file idxl_layout.C.
References gatherUserData(), and type.
void IDXL_Layout::scatter | ( | int | nIndices, | |
const int * | indices, | |||
const void * | v_compressed, | |||
void * | v_user | |||
) | const |
For each record in nodes[0.
For each field in the list nodes[0.
.nNodes-1], copy the compressed data from v_in into the user data in v_out.
Definition at line 247 of file idxl_layout.C.
References scatterUserData(), and type.
Referenced by IDXL_Comm::wait().
void IDXL_Layout::scatteradd | ( | int | nIndices, | |
const int * | indices, | |||
const void * | v_compressed, | |||
void * | v_user | |||
) | const |
For each record in nodes[0.
For each field in the list nodes[0.
.nNodes-1], add the compressed data from v_in into the user data in v_out.
Definition at line 277 of file idxl_layout.C.
References scatterAddUserData(), and type.
Referenced by IDXL_Comm::wait().
IDXL data type, like IDXL_INT or IDXL_DOUBLE.
Definition at line 22 of file idxl_layout.h.
Referenced by compressedBytes(), gather(), FEM_Attribute::get(), IDXL_Layout(), pup(), reduction_combine(), reduction_initialize(), FEM_Attribute::register_data(), scatter(), scatteradd(), and FEM_Attribute::set().
Number of data fields per record.
Definition at line 23 of file idxl_layout.h.
Referenced by compressedBytes(), gatherUserData(), FEM_Attribute::get(), IDXL_Layout(), pup(), reduction_initialize(), FEM_Attribute::register_data(), scatterAddUserData(), scatterUserData(), and FEM_Attribute::set().
Bytes to jump from start of the array to first field.
Definition at line 24 of file idxl_layout.h.
Referenced by IDXL_Layout(), and pup().
Bytes per record.
Definition at line 25 of file idxl_layout.h.
Referenced by IDXL_Layout(), pup(), and userBytes().
Bytes between start of each field.
Definition at line 26 of file idxl_layout.h.
Referenced by IDXL_Layout(), and pup().