/* Old convenience functions, should be merged with the core statistics above. */ int lsq_y_ax(int n, real x[], real y[], real *a) { gmx_stats_t lsq = gmx_stats_init(); int ok; real da, chi2, Rfit; gmx_stats_add_points(lsq, n, x, y, 0, 0); ok = gmx_stats_get_a(lsq, elsqWEIGHT_NONE, a, &da, &chi2, &Rfit); gmx_stats_free(lsq); return ok; }
/* Old convenience functions, should be merged with the core statistics above. */ int lsq_y_ax(int n, real x[], real y[], real *a) { gmx_stats_t lsq = gmx_stats_init(); int ok; real da, chi2, Rfit; gmx_stats_add_points(lsq, n, x, y, 0, 0); if ((ok = gmx_stats_get_a(lsq, elsqWEIGHT_NONE, a, &da, &chi2, &Rfit)) != estatsOK) { return ok; } /* int i; double xx,yx; yx=xx=0.0; for (i=0; i<n; i++) { yx+=y[i]*x[i]; xx+=x[i]*x[i]; } * a=yx/xx; */ return estatsOK; }