YAC 3.6.2
Yet Another Coupler
Loading...
Searching...
No Matches
utils_core.h File Reference
#include "utils_common.h"
Include dependency graph for utils_core.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ASSERT(c)
 
#define COPY_DATA(data, count)
 

Functions

void yac_quicksort_index (int *a, size_t n, int *idx)
 
void yac_quicksort_index_yac_int_size_t (yac_int *a, size_t n, size_t *idx)
 
void yac_quicksort_index_yac_int_yac_int (yac_int *a, size_t n, yac_int *idx)
 
void yac_quicksort_index_size_t_yac_int (size_t *a, size_t n, yac_int *idx)
 
void yac_quicksort_index_yac_int_uint64_t (yac_int *a, size_t n, uint64_t *idx)
 
void yac_quicksort_index_yac_int_int (yac_int *a, size_t n, int *idx)
 
void yac_quicksort_index_size_t_size_t (size_t *a, size_t n, size_t *idx)
 
void yac_quicksort_index_uint64_t_size_t (uint64_t *a, size_t n, size_t *idx)
 
void yac_quicksort_index_int_size_t (int *a, size_t n, size_t *idx)
 
void yac_quicksort_index_size_t_int (size_t *a, size_t n, int *idx)
 
void yac_quicksort_index_size_t_void_p (size_t *a, size_t n, void **idx)
 
void yac_quicksort_index_int_yac_int (int *a, size_t n, yac_int *idx)
 
void yac_quicksort_index_int_double (int *a, size_t n, double *idx)
 
void yac_quicksort_index_size_t_size_t_double (size_t *a, size_t n, size_t *b, double *c)
 
void yac_quicksort_index_yac_int_yac_int_double (yac_int *a, size_t n, yac_int *b, double *c)
 
void yac_quicksort_index_yac_int_yac_int_size_t (yac_int *a, size_t n, yac_int *b, size_t *c)
 
void yac_quicksort_index_int_size_t_size_t (int *a, size_t n, size_t *b, size_t *c)
 
void yac_quicksort_index_int_size_t_yac_int (int *a, size_t n, size_t *b, yac_int *c)
 
void yac_mergesort (void *base, size_t num, size_t size, int(*compar)(const void *, const void *))
 
static void yac_remove_duplicates_uint (unsigned *array, size_t *n)
 
static void yac_remove_duplicates_double (double *array, size_t *n)
 
static void yac_remove_duplicates_size_t (size_t *array, size_t *n)
 
static void yac_remove_duplicates_size_t_2 (size_t(*array)[2], size_t *n)
 
static void yac_remove_duplicates_size_t_3 (size_t(*array)[3], size_t *n)
 
static void yac_remove_duplicates_yac_int (yac_int *array, size_t *n)
 

Macro Definition Documentation

◆ ASSERT

#define ASSERT ( c)
Value:
if (!(c)) {\
fprintf(stderr, "### Assertion violation: %s in %s:%d\n",\
#c, __FILE__, __LINE__);\
abort ();\
}

Definition at line 230 of file utils_core.h.

◆ COPY_DATA

#define COPY_DATA ( data,
count )
Value:
(memcpy( \
xmalloc((size_t)(count) * sizeof(*(data))), \
(data), (size_t)(count) * sizeof(*(data))))
#define xmalloc(size)
Definition ppm_xfuncs.h:66

Definition at line 237 of file utils_core.h.

Function Documentation

◆ yac_mergesort()

void yac_mergesort ( void * base,
size_t num,
size_t size,
int(* compar )(const void *, const void *) )

Natural Merge sort

Definition at line 134 of file mergesort.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_quicksort_index()

void yac_quicksort_index ( int * a,
size_t n,
int * idx )
Examples
test_quicksort.c.
Here is the caller graph for this function:

◆ yac_quicksort_index_int_double()

void yac_quicksort_index_int_double ( int * a,
size_t n,
double * idx )
Here is the caller graph for this function:

◆ yac_quicksort_index_int_size_t()

void yac_quicksort_index_int_size_t ( int * a,
size_t n,
size_t * idx )
Here is the caller graph for this function:

◆ yac_quicksort_index_int_size_t_size_t()

void yac_quicksort_index_int_size_t_size_t ( int * a,
size_t n,
size_t * b,
size_t * c )
Here is the caller graph for this function:

◆ yac_quicksort_index_int_size_t_yac_int()

void yac_quicksort_index_int_size_t_yac_int ( int * a,
size_t n,
size_t * b,
yac_int * c )
Here is the caller graph for this function:

◆ yac_quicksort_index_int_yac_int()

void yac_quicksort_index_int_yac_int ( int * a,
size_t n,
yac_int * idx )
Here is the caller graph for this function:

◆ yac_quicksort_index_size_t_int()

void yac_quicksort_index_size_t_int ( size_t * a,
size_t n,
int * idx )
Here is the caller graph for this function:

◆ yac_quicksort_index_size_t_size_t()

void yac_quicksort_index_size_t_size_t ( size_t * a,
size_t n,
size_t * idx )
Here is the caller graph for this function:

◆ yac_quicksort_index_size_t_size_t_double()

void yac_quicksort_index_size_t_size_t_double ( size_t * a,
size_t n,
size_t * b,
double * c )
Here is the caller graph for this function:

◆ yac_quicksort_index_size_t_void_p()

void yac_quicksort_index_size_t_void_p ( size_t * a,
size_t n,
void ** idx )

◆ yac_quicksort_index_size_t_yac_int()

void yac_quicksort_index_size_t_yac_int ( size_t * a,
size_t n,
yac_int * idx )
Here is the caller graph for this function:

◆ yac_quicksort_index_uint64_t_size_t()

void yac_quicksort_index_uint64_t_size_t ( uint64_t * a,
size_t n,
size_t * idx )

◆ yac_quicksort_index_yac_int_int()

void yac_quicksort_index_yac_int_int ( yac_int * a,
size_t n,
int * idx )

◆ yac_quicksort_index_yac_int_size_t()

void yac_quicksort_index_yac_int_size_t ( yac_int * a,
size_t n,
size_t * idx )
Here is the caller graph for this function:

◆ yac_quicksort_index_yac_int_uint64_t()

void yac_quicksort_index_yac_int_uint64_t ( yac_int * a,
size_t n,
uint64_t * idx )

◆ yac_quicksort_index_yac_int_yac_int()

void yac_quicksort_index_yac_int_yac_int ( yac_int * a,
size_t n,
yac_int * idx )
Here is the caller graph for this function:

◆ yac_quicksort_index_yac_int_yac_int_double()

void yac_quicksort_index_yac_int_yac_int_double ( yac_int * a,
size_t n,
yac_int * b,
double * c )

◆ yac_quicksort_index_yac_int_yac_int_size_t()

void yac_quicksort_index_yac_int_yac_int_size_t ( yac_int * a,
size_t n,
yac_int * b,
size_t * c )
Here is the caller graph for this function:

◆ yac_remove_duplicates_double()

static void yac_remove_duplicates_double ( double * array,
size_t * n )
inlinestatic

remove duplicated entries from a list of integers

Parameters
[in,out]arrayarray containing a sorted (ascending) list of integers
[in,out]nnumber of entries in array

Definition at line 81 of file utils_core.h.

Here is the caller graph for this function:

◆ yac_remove_duplicates_size_t()

static void yac_remove_duplicates_size_t ( size_t * array,
size_t * n )
inlinestatic

remove duplicated entries from a list of integers

Parameters
[in,out]arrayarray containing a sorted (ascending) list of integers
[in,out]nnumber of entries in array

Definition at line 108 of file utils_core.h.

Here is the caller graph for this function:

◆ yac_remove_duplicates_size_t_2()

static void yac_remove_duplicates_size_t_2 ( size_t(*) array[2],
size_t * n )
inlinestatic

remove duplicated entries from a list of integers

Parameters
[in,out]arrayarray containing a sorted (ascending) list of integers
[in,out]nnumber of entries in array

Definition at line 135 of file utils_core.h.

Here is the caller graph for this function:

◆ yac_remove_duplicates_size_t_3()

static void yac_remove_duplicates_size_t_3 ( size_t(*) array[3],
size_t * n )
inlinestatic

remove duplicated entries from a list of integers

Parameters
[in,out]arrayarray containing a sorted (ascending) list of integers
[in,out]nnumber of entries in array

Definition at line 169 of file utils_core.h.

Here is the caller graph for this function:

◆ yac_remove_duplicates_uint()

static void yac_remove_duplicates_uint ( unsigned * array,
size_t * n )
inlinestatic

remove duplicated entries from a list of integers

Parameters
[in,out]arrayarray containing a sorted (ascending) list of integers
[in,out]nnumber of entries in array

Definition at line 54 of file utils_core.h.

◆ yac_remove_duplicates_yac_int()

static void yac_remove_duplicates_yac_int ( yac_int * array,
size_t * n )
inlinestatic

remove duplicated entries from a list of integers

Parameters
[in,out]arrayarray containing a sorted (ascending) list of integers
[in,out]nnumber of entries in array

Definition at line 207 of file utils_core.h.