Yet Another eXchange Tool 0.11.3
|
#include <stdlib.h>
#include <stdio.h>
#include "xt/mergesort.h"
#include "xt/xt_sort.h"
#include "core/ppm_xfuncs.h"
#include "xt_mergesort_base.h"
Go to the source code of this file.
Macros | |
#define | SORT_TYPE idxpos_type |
#define | SORT_TYPE_SUFFIX idxpos |
#define | SORT_TYPE_CMP_LT(a, b, ...) |
#define | SORT_TYPE_CMP_LE(a, b, ...) |
#define | SORT_TYPE_CMP_EQ(a, b, ...) |
#define | SORT_TYPE int |
#define | SORT_TYPE_SUFFIX int |
#define | SORT_TYPE_CMP_LT(a, b, ...) |
#define | SORT_TYPE_CMP_LE(a, b, ...) |
#define | SORT_TYPE_CMP_EQ(a, b, ...) |
#define | SORT_TYPE Xt_int |
#define | SORT_TYPE_SUFFIX xt_int |
#define | SORT_TYPE_CMP_LT(a, b, ...) |
#define | SORT_TYPE_CMP_LE(a, b, ...) |
#define | SORT_TYPE_CMP_EQ(a, b, ...) |
#define | SORT_TYPE Xt_int |
#define | SORT_TYPE_SUFFIX xt_int_permutation |
#define | SORT_TYPE_CMP_LT(u, v, i, j) |
#define | SORT_TYPE_CMP_LE(u, v, i, j) |
#define | SORT_TYPE_CMP_EQ(u, v, i, j) |
#define | XT_SORT_EXTRA_ARGS_DECL , int *restrict permutation |
#define | XT_SORT_EXTRA_ARGS_PASS , permutation |
#define | XT_SORT_EXTRA_ARGS_INNER_DECL , int *restrict permutation_v, int *restrict permutation_w |
#define | XT_SORT_EXTRA_ARGS_INNER_PASS(a, b) |
#define | XT_SORT_EXTRA_ALLOC_SIZE (sizeof(*permutation) * (n+1)) |
#define | XT_SORT_EXTRA_ALLOC_DECL |
#define | XT_SORT_EXTRA_ARGS_SWAP(i, j) |
#define | XT_SORT_ASSIGN(a, p, b, q) |
#define | SORT_TYPE int |
#define | SORT_TYPE_SUFFIX int_permutation |
#define | SORT_TYPE_CMP_LT(u, v, i, j) |
#define | SORT_TYPE_CMP_LE(u, v, i, j) |
#define | SORT_TYPE_CMP_EQ(u, v, i, j) |
#define | XT_SORT_EXTRA_ARGS_DECL , int *restrict permutation |
#define | XT_SORT_EXTRA_ARGS_PASS , permutation |
#define | XT_SORT_EXTRA_ARGS_INNER_DECL , int *restrict permutation_v, int *restrict permutation_w |
#define | XT_SORT_EXTRA_ARGS_INNER_PASS(a, b) |
#define | XT_SORT_EXTRA_ALLOC_SIZE (sizeof(*permutation) * (n+1)) |
#define | XT_SORT_EXTRA_ALLOC_DECL |
#define | XT_SORT_EXTRA_ARGS_SWAP(i, j) |
#define | XT_SORT_ASSIGN(a, p, b, q) |
Functions | |
void | xt_mergesort_xt_int_permutation (Xt_int *a, size_t n, int *restrict permutation) |
void | xt_mergesort_index (Xt_int *restrict v_idx, int n, int *restrict v_pos, int reset_pos) |
static void * | roundPtr (void *p, size_t mult) |
Definition in file mergesort.c.
#define SORT_TYPE idxpos_type |
Definition at line 57 of file mergesort.c.
#define SORT_TYPE int |
Definition at line 57 of file mergesort.c.
#define SORT_TYPE Xt_int |
Definition at line 57 of file mergesort.c.
#define SORT_TYPE Xt_int |
Definition at line 57 of file mergesort.c.
#define SORT_TYPE int |
Definition at line 57 of file mergesort.c.
#define SORT_TYPE_CMP_EQ | ( | a, | |
b, | |||
... ) |
Definition at line 61 of file mergesort.c.
#define SORT_TYPE_CMP_EQ | ( | a, | |
b, | |||
... ) |
Definition at line 61 of file mergesort.c.
#define SORT_TYPE_CMP_EQ | ( | a, | |
b, | |||
... ) |
Definition at line 61 of file mergesort.c.
#define SORT_TYPE_CMP_EQ | ( | u, | |
v, | |||
i, | |||
j ) |
Definition at line 61 of file mergesort.c.
#define SORT_TYPE_CMP_EQ | ( | u, | |
v, | |||
i, | |||
j ) |
Definition at line 61 of file mergesort.c.
#define SORT_TYPE_CMP_LE | ( | a, | |
b, | |||
... ) |
Definition at line 60 of file mergesort.c.
#define SORT_TYPE_CMP_LE | ( | a, | |
b, | |||
... ) |
Definition at line 60 of file mergesort.c.
#define SORT_TYPE_CMP_LE | ( | a, | |
b, | |||
... ) |
Definition at line 60 of file mergesort.c.
#define SORT_TYPE_CMP_LE | ( | u, | |
v, | |||
i, | |||
j ) |
Definition at line 60 of file mergesort.c.
#define SORT_TYPE_CMP_LE | ( | u, | |
v, | |||
i, | |||
j ) |
Definition at line 60 of file mergesort.c.
#define SORT_TYPE_CMP_LT | ( | a, | |
b, | |||
... ) |
Definition at line 59 of file mergesort.c.
#define SORT_TYPE_CMP_LT | ( | a, | |
b, | |||
... ) |
Definition at line 59 of file mergesort.c.
#define SORT_TYPE_CMP_LT | ( | a, | |
b, | |||
... ) |
Definition at line 59 of file mergesort.c.
#define SORT_TYPE_CMP_LT | ( | u, | |
v, | |||
i, | |||
j ) |
Definition at line 59 of file mergesort.c.
#define SORT_TYPE_CMP_LT | ( | u, | |
v, | |||
i, | |||
j ) |
Definition at line 59 of file mergesort.c.
#define SORT_TYPE_SUFFIX idxpos |
Definition at line 58 of file mergesort.c.
#define SORT_TYPE_SUFFIX int |
Definition at line 58 of file mergesort.c.
#define SORT_TYPE_SUFFIX xt_int |
Definition at line 58 of file mergesort.c.
#define SORT_TYPE_SUFFIX xt_int_permutation |
Definition at line 58 of file mergesort.c.
#define SORT_TYPE_SUFFIX int_permutation |
Definition at line 58 of file mergesort.c.
#define XT_SORT_ASSIGN | ( | a, | |
p, | |||
b, | |||
q ) |
Definition at line 143 of file mergesort.c.
#define XT_SORT_ASSIGN | ( | a, | |
p, | |||
b, | |||
q ) |
Definition at line 143 of file mergesort.c.
#define XT_SORT_EXTRA_ALLOC_DECL |
Definition at line 134 of file mergesort.c.
#define XT_SORT_EXTRA_ALLOC_DECL |
Definition at line 134 of file mergesort.c.
#define XT_SORT_EXTRA_ALLOC_SIZE (sizeof(*permutation) * (n+1)) |
Definition at line 126 of file mergesort.c.
#define XT_SORT_EXTRA_ALLOC_SIZE (sizeof(*permutation) * (n+1)) |
Definition at line 126 of file mergesort.c.
#define XT_SORT_EXTRA_ARGS_DECL , int *restrict permutation |
Definition at line 121 of file mergesort.c.
#define XT_SORT_EXTRA_ARGS_DECL , int *restrict permutation |
Definition at line 121 of file mergesort.c.
#define XT_SORT_EXTRA_ARGS_INNER_DECL , int *restrict permutation_v, int *restrict permutation_w |
Definition at line 123 of file mergesort.c.
#define XT_SORT_EXTRA_ARGS_INNER_DECL , int *restrict permutation_v, int *restrict permutation_w |
Definition at line 123 of file mergesort.c.
#define XT_SORT_EXTRA_ARGS_INNER_PASS | ( | a, | |
b ) |
Definition at line 124 of file mergesort.c.
#define XT_SORT_EXTRA_ARGS_INNER_PASS | ( | a, | |
b ) |
Definition at line 124 of file mergesort.c.
#define XT_SORT_EXTRA_ARGS_PASS , permutation |
Definition at line 122 of file mergesort.c.
#define XT_SORT_EXTRA_ARGS_PASS , permutation |
Definition at line 122 of file mergesort.c.
#define XT_SORT_EXTRA_ARGS_SWAP | ( | i, | |
j ) |
Definition at line 136 of file mergesort.c.
#define XT_SORT_EXTRA_ARGS_SWAP | ( | i, | |
j ) |
Definition at line 136 of file mergesort.c.
|
inlinestatic |
Definition at line 128 of file mergesort.c.
void xt_mergesort_index | ( | Xt_int *restrict | v_idx, |
int | n, | ||
int *restrict | v_pos, | ||
int | reset_pos ) |
Definition at line 69 of file mergesort.c.
void xt_mergesort_xt_int_permutation | ( | Xt_int * | a, |
size_t | n, | ||
int *restrict | permutation ) |