1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
/*
$Header: /cvs/src/chrony/regress.h,v 1.10 1999/04/19 20:27:29 richard Exp $
=======================================================================
chronyd/chronyc - Programs for keeping computer clocks accurate.
Copyright (C) 1997-1999 Richard P. Curnow
All rights reserved.
For conditions of use, refer to the file LICENCE.
=======================================================================
Header file for regression routine(s)
*/
#ifndef GOT_REGRESS_H
#define GOT_REGRESS_H
extern void
RGR_WeightedRegression
(double *x, /* independent variable */
double *y, /* measured data */
double *w, /* weightings (large => data
less reliable) */
int n, /* number of data points */
/* And now the results */
double *b0, /* estimated y axis intercept */
double *b1, /* estimated slope */
double *s2, /* estimated variance (weighted) of
data points */
double *sb0, /* estimated standard deviation of
intercept */
double *sb1 /* estimated standard deviation of
slope */
/* Could add correlation stuff later if required */
);
/* Return the weighting to apply to the standard deviation to get a
given size of confidence interval assuming a T distribution */
extern double RGR_GetTCoef(int dof);
/* Return a status indicating whether there were enough points to
carry out the regression */
extern int
RGR_FindBestRegression
(double *x, /* independent variable */
double *y, /* measured data */
double *w, /* weightings (large => data
less reliable) */
int n, /* number of data points */
/* And now the results */
double *b0, /* estimated y axis intercept */
double *b1, /* estimated slope */
double *s2, /* estimated variance of data points */
double *sb0, /* estimated standard deviation of
intercept */
double *sb1, /* estimated standard deviation of
slope */
int *new_start, /* the new starting index to make the
residuals pass the two tests */
int *n_runs, /* number of runs amongst the residuals */
int *dof /* degrees of freedom in statistics (needed
to get confidence intervals later) */
);
int
RGR_FindBestRobustRegression
(double *x,
double *y,
int n,
double tol,
double *b0,
double *b1,
int *n_runs,
int *best_start);
#endif GOT_REGRESS_H
|