9.0
general documentation
Loading...
Searching...
No Matches
fvm_morton.h File Reference
#include "base/cs_defs.h"
#include <stdio.h>
#include "fvm/fvm_defs.h"
Include dependency graph for fvm_morton.h:

Go to the source code of this file.

Data Structures

struct  fvm_morton_code_t

Typedefs

typedef unsigned int fvm_morton_int_t

Enumerations

enum  fvm_morton_compare_t { FVM_MORTON_EQUAL_ID , FVM_MORTON_SAME_ANCHOR , FVM_MORTON_DIFFERENT_ID }

Functions

void fvm_morton_get_coord_extents (int dim, size_t n_coords, const cs_coord_t coords[], cs_coord_t g_extents[])
void fvm_morton_get_global_extents (int dim, size_t n_extents, const cs_coord_t extents[], cs_coord_t g_extents[])
fvm_morton_code_t fvm_morton_encode (int dim, fvm_morton_int_t level, const cs_coord_t coords[])
void fvm_morton_encode_coords (int dim, fvm_morton_int_t level, const cs_coord_t extents[], size_t n_coords, const cs_coord_t coords[], fvm_morton_code_t m_code[])
void fvm_morton_get_children (int dim, fvm_morton_code_t parent, fvm_morton_code_t children[])
fvm_morton_compare_t fvm_morton_compare (int dim, fvm_morton_code_t code_a, fvm_morton_code_t code_b)
void fvm_morton_local_order (cs_lnum_t n_codes, const fvm_morton_code_t morton_codes[], cs_lnum_t order[])
void fvm_morton_local_sort (cs_lnum_t n_codes, fvm_morton_code_t morton_codes[])
bool fvm_morton_a_gt_b (fvm_morton_code_t a, fvm_morton_code_t b)
bool fvm_morton_a_ge_b (fvm_morton_code_t a, fvm_morton_code_t b)
int fvm_morton_binary_search (cs_lnum_t size, fvm_morton_code_t code, fvm_morton_code_t *codes)
void fvm_morton_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 Morton code.
int fvm_morton_compare_o (const void *elt1, const void *elt2, const void *input)
 Function pointer for comparison of 2 Morton codes.
void fvm_morton_dump (int dim, fvm_morton_code_t code)

Typedef Documentation

◆ fvm_morton_int_t

typedef unsigned int fvm_morton_int_t

Enumeration Type Documentation

◆ fvm_morton_compare_t

Enumerator
FVM_MORTON_EQUAL_ID 
FVM_MORTON_SAME_ANCHOR 
FVM_MORTON_DIFFERENT_ID 

Function Documentation

◆ fvm_morton_a_ge_b()

bool fvm_morton_a_ge_b ( fvm_morton_code_t a,
fvm_morton_code_t b )

◆ fvm_morton_a_gt_b()

bool fvm_morton_a_gt_b ( fvm_morton_code_t a,
fvm_morton_code_t b )

◆ fvm_morton_binary_search()

int fvm_morton_binary_search ( cs_lnum_t size,
fvm_morton_code_t code,
fvm_morton_code_t * codes )

◆ fvm_morton_compare()

fvm_morton_compare_t fvm_morton_compare ( int dim,
fvm_morton_code_t code_a,
fvm_morton_code_t code_b )

◆ fvm_morton_compare_o()

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

Function pointer for comparison of 2 Morton 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_morton_dump()

void fvm_morton_dump ( int dim,
fvm_morton_code_t code )

◆ fvm_morton_encode()

fvm_morton_code_t fvm_morton_encode ( int dim,
fvm_morton_int_t level,
const cs_coord_t coords[] )

◆ fvm_morton_encode_coords()

void fvm_morton_encode_coords ( int dim,
fvm_morton_int_t level,
const cs_coord_t extents[],
size_t n_coords,
const cs_coord_t coords[],
fvm_morton_code_t m_code[] )

◆ fvm_morton_get_children()

void fvm_morton_get_children ( int dim,
fvm_morton_code_t parent,
fvm_morton_code_t children[] )

◆ fvm_morton_get_coord_extents()

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

◆ fvm_morton_get_global_extents()

void fvm_morton_get_global_extents ( int dim,
size_t n_extents,
const cs_coord_t extents[],
cs_coord_t g_extents[] )

◆ fvm_morton_local_order()

void fvm_morton_local_order ( cs_lnum_t n_codes,
const fvm_morton_code_t morton_codes[],
cs_lnum_t order[] )

◆ fvm_morton_local_sort()

void fvm_morton_local_sort ( cs_lnum_t n_codes,
fvm_morton_code_t morton_codes[] )

◆ fvm_morton_s_to_code()

void fvm_morton_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 Morton code.

Parameters
[in]scoordinate between 0 and 1
[out]eltpointer to element
[in]inputpointer to optional (untyped) value or structure; here, this is an interger representing the spatial dimension.