My Project
programmer's documentation
Functions
fvm_hilbert.c File Reference
#include "cs_defs.h"
#include <assert.h>
#include <float.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "bft_mem.h"
#include "bft_printf.h"
#include "fvm_hilbert.h"
Include dependency graph for fvm_hilbert.c:

Functions

void fvm_hilbert_get_coord_extents (int dim, size_t n_coords, const cs_coord_t coords[], cs_coord_t g_extents[])
 
void fvm_hilbert_encode_coords (int dim, const cs_coord_t extents[], cs_lnum_t n_coords, const cs_coord_t coords[], fvm_hilbert_code_t h_code[])
 
void fvm_hilbert_local_order (cs_lnum_t n_codes, const fvm_hilbert_code_t hilbert_codes[], cs_lnum_t order[])
 
void fvm_hilbert_local_order_coords (int dim, const cs_coord_t extents[], cs_lnum_t n_coords, const cs_coord_t coords[], cs_lnum_t order[])
 
void fvm_hilbert_s_to_code (double s, void *elt, const void *input)
 Function pointer for conversion of a double precision value in range [0, 1] to a given Hilbert code. More...
 
int fvm_hilbert_compare (const void *elt1, const void *elt2, const void *input)
 Function pointer for comparison of 2 Hilbert codes. More...
 

Function Documentation

◆ fvm_hilbert_compare()

int fvm_hilbert_compare ( const void *  elt1,
const void *  elt2,
const void *  input 
)

Function pointer for comparison of 2 Hilbert codes.

This function is the same type as that used by qsort_r.

Parameters
[in]elt1coordinate between 0 and 1
[in]elt2pointer to optional (untyped) value or structure.
[in]inputpointer to optional (untyped) value or structure.
Returns
< 0 if elt1 < elt2, 0 if elt1 == elt2, > 0 if elt1 > elt2

◆ fvm_hilbert_encode_coords()

void fvm_hilbert_encode_coords ( int  dim,
const cs_coord_t  extents[],
cs_lnum_t  n_coords,
const cs_coord_t  coords[],
fvm_hilbert_code_t  h_code[] 
)

◆ fvm_hilbert_get_coord_extents()

void fvm_hilbert_get_coord_extents ( int  dim,
size_t  n_coords,
const cs_coord_t  coords[],
cs_coord_t  g_extents[] 
)

◆ fvm_hilbert_local_order()

void fvm_hilbert_local_order ( cs_lnum_t  n_codes,
const fvm_hilbert_code_t  hilbert_codes[],
cs_lnum_t  order[] 
)

◆ fvm_hilbert_local_order_coords()

void fvm_hilbert_local_order_coords ( int  dim,
const cs_coord_t  extents[],
cs_lnum_t  n_coords,
const cs_coord_t  coords[],
cs_lnum_t  order[] 
)

◆ fvm_hilbert_s_to_code()

void fvm_hilbert_s_to_code ( double  s,
void *  elt,
const void *  input 
)

Function pointer for conversion of a double precision value in range [0, 1] to a given Hilbert code.

Parameters
[in]scoordinate between 0 and 1
[out]eltpointer to element
[in]inputpointer to optional (untyped) value or structure.