#include "cs_defs.h"
#include <stdio.h>
Go to the source code of this file.
|
void | cs_sort_partition_dest_rank_id (cs_lnum_t sampling_factor, size_t elt_size, cs_lnum_t n_elts, const void *elts, const cs_lnum_t *weight, const cs_lnum_t order[], int dest_rank_id[], cs_sort_partition_s_to_elt_t s_to_elt, cs_sort_partition_compare_t compare, const void *f_input, MPI_Comm comm) |
| Determine to which rank data elements should be sent for parallel sorting or ordering. More...
|
|
◆ cs_sort_partition_compare_t
typedef int() cs_sort_partition_compare_t(const void *elt1, const void *elt2, const void *input) |
function pointer for comparison of 2 elements.
This function is the same type as that used by qsort_r.
- Parameters
-
[in] | elt1 | coordinate between 0 and 1 |
[in] | elt2 | pointer to optional (untyped) value or structure. |
[in] | input | pointer to optional (untyped) value or structure. |
- Returns
- < 0 if elt1 < elt2, 0 if elt1 == elt2, > 0 if elt1 > elt2
◆ cs_sort_partition_s_to_elt_t
typedef void() cs_sort_partition_s_to_elt_t(double s, void *elt, const void *input) |
function pointer for conversion of a double precision value in range [0, 1] to a given element.
- Parameters
-
[in] | s | coordinate between 0 and 1 |
[out] | elt | pointer to element |
[in] | input | pointer to optional (untyped) value or structure. |
◆ cs_sort_partition_dest_rank_id()
void cs_sort_partition_dest_rank_id |
( |
cs_lnum_t |
sampling_factor, |
|
|
size_t |
elt_size, |
|
|
cs_lnum_t |
n_elts, |
|
|
const void * |
elts, |
|
|
const cs_lnum_t * |
weight, |
|
|
const cs_lnum_t |
order[], |
|
|
int |
dest_rank_id[], |
|
|
cs_sort_partition_s_to_elt_t |
s_to_elt, |
|
|
cs_sort_partition_compare_t |
compare, |
|
|
const void * |
f_input, |
|
|
MPI_Comm |
comm |
|
) |
| |
Determine to which rank data elements should be sent for parallel sorting or ordering.
- Parameters
-
[in] | sampling_factor | number of samples per rank |
[in] | elt_size | size associated with each element |
[in] | n_elts | number of elements to be indexed |
[in] | elts | array of elements |
[in] | weight | optional weight of each element, or NULL |
[in] | order | ordering array |
[out] | dest_rank_id | destination rank id (size: n_elts) |
[in] | s_to_elt | coordinate to element conversion function |
[in] | compare | comparison function |
[in] | f_input | optional input to s_to_elt and compare, or NULL |
[in] | comm | MPI communicator on which we build the global index |