+static void
+innovations_struct_init (struct innovations_estimate *est, size_t lag)
+{
+ size_t j;
+
+ est->mean = 0.0;
+ est->variance = 0.0;
+ est->cov = xnmalloc (lag, sizeof (*est->cov));
+ est->scale = xnmalloc (lag + 1, sizeof (*est->scale));
+ est->coeff = xnmalloc (lag, sizeof (*est->coeff));
+ est->max_lag = (double) lag;
+ /* COV does not the variance (i.e., the lag 0 covariance). So COV[0]
+ holds the lag 1 covariance, COV[i] holds the lag i+1 covariance. */
+ for (j = 0; j < lag; j++)
+ {
+ est->coeff[j] = xmalloc (sizeof (*(est->coeff[j])));
+ }
+}
+