|
void | GetChunkAddress (const unsigned long long chunk_id, const std::vector< unsigned long long > array_size, const std::vector< size_t > chunk_size, std::vector< unsigned long long > &chunk_start_address, std::vector< unsigned long long > &chunk_end_address) |
| Get the Chunk Address object. More...
|
|
template<typename T > |
void * | InsertOutputVV2WriteV (std::vector< std::vector< T >> &v, std::vector< size_t > &v_shape, std::vector< unsigned long long > &write_start_address, std::vector< unsigned long long > &write_end_address, bool last_chunk_flag, std::vector< size_t > &prev_v_shape) |
| Insert output (vector of vector) into a buffer (vector) to write. More...
|
|
template<typename T > |
void * | InsertOutputVV2WriteV (std::vector< T > &v, std::vector< size_t > &v_shape, std::vector< unsigned long long > &write_start_address, std::vector< unsigned long long > &write_end_address, bool last_chunk_flag, std::vector< size_t > &prev_v_shape) |
|
template<typename T > |
void * | InsertOutputVV2WriteV (T &v, std::vector< size_t > &v_shape, std::vector< unsigned long long > &write_start_address, std::vector< unsigned long long > &write_end_address, bool last_chunk_flag, std::vector< size_t > &prev_v_shape) |
|
template<typename T > |
void * | FlatVector (std::vector< std::vector< T >> &v, OutputVectorFlatDirection direction, std::vector< unsigned long long > &start_address, std::vector< unsigned long long > &end_address, size_t &v_size) |
| flat vector of vector to 1D vector direction specify row-major or colum major AU_FLAT_OUTPUT_ROW (0): row major, e.g., for a 2 by 2 vector of vector v[0][0] v[0][1] v[1][0] v[1][1] AU_FLAT_OUTPUT_COL (1): column major, e.g., for a 2 by 2 vector of vector v[0][0] v[1][0] v[0][1] v[1][1] More...
|
|
template<typename T > |
void * | FlatVector (std::vector< T > &v, OutputVectorFlatDirection direction, std::vector< unsigned long long > &start_address, std::vector< unsigned long long > &end_address, size_t &v_size) |
|
template<typename T > |
void * | FlatVector (T &v, OutputVectorFlatDirection direction, std::vector< unsigned long long > &start_address, std::vector< unsigned long long > &end_address, size_t &v_size) |
|
template<typename T >
void* FlatVector |
( |
std::vector< std::vector< T >> & |
v, |
|
|
OutputVectorFlatDirection |
direction, |
|
|
std::vector< unsigned long long > & |
start_address, |
|
|
std::vector< unsigned long long > & |
end_address, |
|
|
size_t & |
v_size |
|
) |
| |
flat vector of vector to 1D vector direction specify row-major or colum major AU_FLAT_OUTPUT_ROW (0): row major, e.g., for a 2 by 2 vector of vector v[0][0] v[0][1] v[1][0] v[1][1] AU_FLAT_OUTPUT_COL (1): column major, e.g., for a 2 by 2 vector of vector v[0][0] v[1][0] v[0][1] v[1][1]
AU_FLAT_OUTPUT_RC: both row and column major, e.g. for a 2 by 2 vector of vector v[0][0] v[0][1] v[1][0] v[1][1] Then, linearized as v[0][0] v[0][1] v[1][0] v[1][1] It looks like AU_FLAT_OUTPUT_ROW, but the start_address and end_address are handled differently start_address is adjusted by v.size() end_address is adjusted by v[0].size()
AU_FLAT_OUTPUT_CR: both row and column major, e.g. for a 2 by 2 vector of vector
Since this is the support function to WriteEndpoint, It also convert the address associated with it.
- Template Parameters
-
- Parameters
-
v | the vector of vector |
direction | how to flat the data |
start_address | the start address before/after flat, it may chage the # of dimensions |
end_address | the end address before/after flat, it may chage the # of dimensions |
v_size,the | size of each element vector |
- Returns
- void* the flat data