Go to the documentation of this file.
31 for (
size_t j = 0; j <
MAX_VARS; j++)
39 double eps =
FFMAX(2 * DBL_EPSILON *
fabs(refcovar[
i][j]),
43 fprintf(stderr,
"%zu, %zu: %- .12f - %- .12f = % .12g\n",
i, j,
55 double refprod, newprod, eps;
58 refprod =
call_ref(lls, param, order);
59 newprod =
call_new(lls, param, order);
61 eps =
FFMAX(2 * DBL_EPSILON *
fabs(refprod), 0.2);
64 fprintf(stderr,
"%- .12f - %- .12f = % .12g\n",
65 refprod, newprod, refprod - newprod);
75 static const unsigned char counts[] = { 8, 12,
MAX_VARS, };
88 for (
size_t j = 0; j <=
i; j++)
Linear least squares model.
static void test_update(LLSModel *lls, const double *var)
#define FF_ARRAY_ELEMS(a)
void checkasm_check_lls(void)
static __device__ float fabs(float a)
#define LOCAL_ALIGNED_32(t, v,...)
#define randomize_stddev_dbl(buf, size, stddev)
void(* update_lls)(struct LLSModel *m, const double *var)
Take the outer-product of var[] with itself, and add to the covariance matrix.
#define i(width, name, range_min, range_max)
double(* evaluate_lls)(struct LLSModel *m, const double *var, int order)
Inner product of var[] and the LPC coefs.
#define declare_func_float
av_cold void avpriv_init_lls(LLSModel *m, int indep_count)
double covariance[(((32+1)+(4) -1)&~((4) -1))][MAX_VARS_ALIGN]
#define double_near_abs_eps
static void test_evaluate(LLSModel *lls, const double *param, int order)