45inline void QR_dec(
double *
A,
double *Q,
double *
R,
int rows,
int cols)
73 int i, ii, j, jj,
k, kk;
76 for(
i = 0;
i < cols;
i++)
81 for(ii = 0; ii < rows; ii++)
83 Q[ii * cols +
i] =
A[ii * cols +
i];
86 for(j = 0; j <
i; j++)
90 for(jj = 0; jj < rows; jj++)
92 T[jj] = Q[cols * jj + j];
93 S[jj] =
A[cols * jj +
i];
98 for(
k = 0;
k < rows;
k++)
106 for(kk = 0; kk < rows; kk++)
111 Q[cols * kk +
i] -= T[kk];
118 for(
k = 0;
k < rows;
k++)
121 norm += Q[cols *
k +
i] * Q[cols *
k +
i];
126 R[cols *
i +
i] = norm;
128 for(
k = 0;
k < rows;
k++)
130 Q[cols *
k +
i] /=
R[cols *
i +
i];
void QR_dec(double *A, double *Q, double *R, int rows, int cols)
Decompose a dense matrix into an orthonormal basis and an upper-triangular factor.
Definition QR_decomp.h:45
#define A(y, x)
Definition colorspaces.c:186
const float i
Definition colorspaces_inline_conversions.h:440
#define S(V, params)
Definition common/histogram.c:36
float *const restrict const size_t k
Definition luminance_mask.h:78
const float r
Definition src/develop/noise_generator.h:101