/* * include files */ #include /* * global definitions and variables */ #ifndef LINE_MAX # define LINE_MAX 80 #endif typedef struct epoch_datum { double epoch; double xyz[3]; double sig[3]; } EpochDatum; /* * function prototypes */ int main( int argc, char **argv ); int ScanFile( EpochDatum **data, int max_data, char *file_name, int prn ); void TrigFunc( double x, double *afunc, unsigned int num_terms ); void TrigExt( double x, double *afunc, unsigned int num_terms ); double hmsday( int hour, int minute, double second ); long ymdmjd( int year, int month, int day ); int search( EpochDatum **data, int count_data, double x, int lower_index ); void polint( double *xa, double *ya, int n, double x, double *y, double *dy ); void svdfit( double *x, double *y, double *sig, unsigned int num_data, double *a, unsigned int num_terms, double **u, double **v, double *w, unsigned int mp, unsigned int np, double *chisq, void funcs(double x, double *afunc, unsigned int num_terms) ); void svdvar( double **v, unsigned int num_terms, unsigned int np, double *w, double **cvm, unsigned int ncvm );