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