Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
sparse_cholesky.h File Reference
#include <limits.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "common/darktable.h"
#include "develop/pixelpipe_hb.h"
+ Include dependency graph for sparse_cholesky.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _sp_chol_t
 

Functions

static void _sp_chol_free (_sp_chol_t *factor)
 
static void _sp_nd_order (int *const restrict unknown_ids, const int count, const int *const restrict unknown_x, const int *const restrict unknown_y, const int reach)
 
static void _sp_etree (const int dimension, const int *const restrict col_ptr, const int *const restrict row_index, int *const restrict parent, int *const restrict ancestor)
 
static int _sp_ereach (const int dimension, const int *const restrict col_ptr, const int *const restrict row_index, const int k, const int *const restrict parent, int *const restrict pattern_stack, int *const restrict mark)
 
static _sp_chol_t_sp_chol_factor (const int dimension, const int *const restrict matrix_col_ptr, const int *const restrict matrix_row_index, const double *const restrict matrix_values, const dt_dev_pixelpipe_t *pipe)
 
static void _sp_chol_solve (const _sp_chol_t *const factor, double *const restrict rhs)
 

Function Documentation

◆ _sp_chol_factor()

static _sp_chol_t * _sp_chol_factor ( const int  dimension,
const int *const restrict  matrix_col_ptr,
const int *const restrict  matrix_row_index,
const double *const restrict  matrix_values,
const dt_dev_pixelpipe_t pipe 
)
inlinestatic

◆ _sp_chol_free()

static void _sp_chol_free ( _sp_chol_t factor)
inlinestatic

◆ _sp_chol_solve()

static void _sp_chol_solve ( const _sp_chol_t *const  factor,
double *const restrict  rhs 
)
inlinestatic

Definition at line 388 of file sparse_cholesky.h.

References dimension(), and factor.

Referenced by _aniso_div_solve(), _biharmonic_dome(), _sp_chol_cl_selftest(), and _sp_pde_solve().

◆ _sp_ereach()

static int _sp_ereach ( const int  dimension,
const int *const restrict  col_ptr,
const int *const restrict  row_index,
const int  k,
const int *const restrict  parent,
int *const restrict  pattern_stack,
int *const restrict  mark 
)
inlinestatic

Definition at line 222 of file sparse_cholesky.h.

References dimension(), i, and k.

Referenced by _sp_chol_factor(), and _sp_chol_factor_cl().

◆ _sp_etree()

static void _sp_etree ( const int  dimension,
const int *const restrict  col_ptr,
const int *const restrict  row_index,
int *const restrict  parent,
int *const restrict  ancestor 
)
inlinestatic

Definition at line 182 of file sparse_cholesky.h.

References dimension(), i, and k.

Referenced by _sp_chol_factor(), and _sp_chol_factor_cl().

◆ _sp_nd_order()

static void _sp_nd_order ( int *const restrict  unknown_ids,
const int  count,
const int *const restrict  unknown_x,
const int *const restrict  unknown_y,
const int  reach 
)
inlinestatic

Definition at line 85 of file sparse_cholesky.h.

References i, MAX, and MIN.

Referenced by _aniso_div_solve(), _biharmonic_dome(), and _sp_pde_assemble().