/* nag_glm_est_func (g02gnc) Example Program. * * Copyright 1996 Numerical Algorithms Group. * * Mark 4, 1996. * * Mark 6 revised, 2000. * Mark 8 revised, 2004. */ #include #include #include #include #define X(I,J) x[(I)*tdx + J] #define V(I,J) v[(I)*tdv + J] int main(void) { Nag_Boolean est; Integer exit_status=0, i, ip, j, m, max_iter, n, nestfn, print_iter, rank; Integer *sx=0, tdv, tdx; NagError fail; double *b=0, *cov=0, dev, df, eps, ex_power, *f=0, *se=0, sestat, stat; double tol, *v=0, *wtptr, *x=0, *y=0, z; INIT_FAIL(fail); Vprintf("nag_glm_est_func (g02gnc) Example Program Results\n"); /* Skip heading in data file */ Vscanf("%*[^\n]"); Vscanf("%ld %ld %ld", &n, &m, &print_iter); if (n>=2 && m>=1) { if ( !( x = NAG_ALLOC(n*m, double)) || !( y = NAG_ALLOC(n, double)) || !( sx = NAG_ALLOC(m, Integer)) ) { Vprintf("Allocation failure\n"); exit_status = -1; goto END; } tdx = m; } else { Vprintf("Invalid n or m.\n"); exit_status = 1; return exit_status; } wtptr = (double *)0; for (i=0; i