
#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().
1.5.5