#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include "common/darktable.h"
#include "common/imagebuf.h"
#include "develop/imageop_math.h"
Go to the source code of this file.
|
| static int | choleski_decompose_fast (const float *const restrict A, float *const restrict L, size_t n) |
| |
| static int | choleski_decompose_safe (const float *const restrict A, float *const restrict L, size_t n) |
| |
| static int | triangular_descent_fast (const float *const restrict L, const float *const restrict y, float *const restrict b, const size_t n) |
| |
| static int | triangular_descent_safe (const float *const restrict L, const float *const restrict y, float *const restrict b, const size_t n) |
| |
| static int | triangular_ascent_fast (const float *const restrict L, const float *const restrict b, float *const restrict x, const size_t n) |
| |
| static int | triangular_ascent_safe (const float *const restrict L, const float *const restrict b, float *const restrict x, const size_t n) |
| |
| static int | solve_hermitian (const float *const restrict A, float *const restrict y, const size_t n, const int checks) |
| |
| static int | transpose_dot_matrix (float *const restrict A, float *const restrict A_square, const size_t m, const size_t n) |
| |
| static int | transpose_dot_vector (float *const restrict A, float *const restrict y, float *const restrict y_square, const size_t m, const size_t n) |
| |
| static int | pseudo_solve (float *const restrict A, float *const restrict y, const size_t m, const size_t n, const int checks) |
| |
◆ choleski_decompose_fast()
| static int choleski_decompose_fast |
( |
const float *const restrict |
A, |
|
|
float *const restrict |
L, |
|
|
size_t |
n |
|
) |
| |
|
inlinestatic |
◆ choleski_decompose_safe()
| static int choleski_decompose_safe |
( |
const float *const restrict |
A, |
|
|
float *const restrict |
L, |
|
|
size_t |
n |
|
) |
| |
|
inlinestatic |
◆ pseudo_solve()
| static int pseudo_solve |
( |
float *const restrict |
A, |
|
|
float *const restrict |
y, |
|
|
const size_t |
m, |
|
|
const size_t |
n, |
|
|
const int |
checks |
|
) |
| |
|
inlinestatic |
References A, dt_alloc_align_float(), dt_control_log(), dt_free_align, dt_simd_memcpy(), error(), m, n, solve_hermitian(), transpose_dot_matrix(), and transpose_dot_vector().
Referenced by commit_params(), set_new_params_interactive(), and update_curve_lut().
◆ solve_hermitian()
| static int solve_hermitian |
( |
const float *const restrict |
A, |
|
|
float *const restrict |
y, |
|
|
const size_t |
n, |
|
|
const int |
checks |
|
) |
| |
|
inlinestatic |
References A, choleski_decompose_fast(), choleski_decompose_safe(), dt_alloc_align_float(), dt_control_log(), dt_free_align, error(), L, n, triangular_ascent_fast(), triangular_ascent_safe(), triangular_descent_fast(), triangular_descent_safe(), and x.
Referenced by pseudo_solve().
◆ transpose_dot_matrix()
| static int transpose_dot_matrix |
( |
float *const restrict |
A, |
|
|
float *const restrict |
A_square, |
|
|
const size_t |
m, |
|
|
const size_t |
n |
|
) |
| |
|
inlinestatic |
◆ transpose_dot_vector()
| static int transpose_dot_vector |
( |
float *const restrict |
A, |
|
|
float *const restrict |
y, |
|
|
float *const restrict |
y_square, |
|
|
const size_t |
m, |
|
|
const size_t |
n |
|
) |
| |
|
inlinestatic |
◆ triangular_ascent_fast()
| static int triangular_ascent_fast |
( |
const float *const restrict |
L, |
|
|
const float *const restrict |
b, |
|
|
float *const restrict |
x, |
|
|
const size_t |
n |
|
) |
| |
|
inlinestatic |
◆ triangular_ascent_safe()
| static int triangular_ascent_safe |
( |
const float *const restrict |
L, |
|
|
const float *const restrict |
b, |
|
|
float *const restrict |
x, |
|
|
const size_t |
n |
|
) |
| |
|
inlinestatic |
◆ triangular_descent_fast()
| static int triangular_descent_fast |
( |
const float *const restrict |
L, |
|
|
const float *const restrict |
y, |
|
|
float *const restrict |
b, |
|
|
const size_t |
n |
|
) |
| |
|
inlinestatic |
◆ triangular_descent_safe()
| static int triangular_descent_safe |
( |
const float *const restrict |
L, |
|
|
const float *const restrict |
y, |
|
|
float *const restrict |
b, |
|
|
const size_t |
n |
|
) |
| |
|
inlinestatic |