/* nag_implementation_separated_details (a00adc) Example Program. * * Copyright 2009 Numerical Algorithms Group. * * Mark 9, 2009. */ #include #include #include #include #include #include int main(int argc, char *argv[]) { FILE *fpout; int exit_status = 0; int max_char_len = 120; char *impl, *prec, *pcode, *mkmaj, *mkmin, *hdware, *opsys, *ccomp; char *fcomp, *vend; Nag_Boolean licval; NagError fail; INIT_FAIL(fail); /* Check for command-line IO options */ fpout = nag_example_file_io(argc, argv, "-results", NULL); fprintf(fpout, "nag_implementation_separated_details (a00adc)" " Example Program Results\n\n"); if (!(impl = NAG_ALLOC(max_char_len, char)) || !(prec = NAG_ALLOC(max_char_len, char)) || !(pcode = NAG_ALLOC(max_char_len, char)) || !(mkmaj = NAG_ALLOC(max_char_len, char)) || !(mkmin = NAG_ALLOC(max_char_len, char)) || !(hdware = NAG_ALLOC(max_char_len, char)) || !(opsys = NAG_ALLOC(max_char_len, char)) || !(ccomp = NAG_ALLOC(max_char_len, char)) || !(fcomp = NAG_ALLOC(max_char_len, char)) || !(vend = NAG_ALLOC(max_char_len, char))) { fprintf(fpout, "Allocation failure\n"); exit_status = -1; goto END; } nag_implementation_separated_details(impl, prec, pcode, mkmaj, mkmin, hdware, opsys, ccomp, fcomp, vend, &licval); /* Print implementation details. */ fprintf(fpout, "*** Start of NAG C library implementation details***\n\n"); fprintf(fpout, " Implementation title: %s\n", impl); fprintf(fpout, " Precision: %s\n", prec); fprintf(fpout, " Product Code: %s\n", pcode); fprintf(fpout, " Mark: %s %s\n", mkmaj, mkmin); if (!strcmp(vend, "(self-contained)")) { fprintf(fpout, " Vendor library: None\n"); } else { fprintf(fpout, " Vendor library: %s\n", vend); } fprintf(fpout, " Applicable to:\n"); fprintf(fpout, " hardware: %s\n", hdware); fprintf(fpout, " operating system: %s\n", opsys); fprintf(fpout, " C compiler: %s\n", ccomp); fprintf(fpout, " FORTRAN compiler: %s\n", fcomp); fprintf(fpout, " and compatible systems.\n"); if (!licval) { fprintf(fpout, " Licence query: %s\n\n", "Unsuccessful"); } else { fprintf(fpout, " Licence query: %s\n\n", "Successful"); } fprintf(fpout, " *** End of NAG C Library implementation details ***\n"); END: if (fpout != stdout) fclose(fpout); if (impl) NAG_FREE(impl); if (prec) NAG_FREE(prec); if (pcode) NAG_FREE(pcode); if (mkmaj) NAG_FREE(mkmaj); if (mkmin) NAG_FREE(mkmin); if (hdware) NAG_FREE(hdware); if (opsys) NAG_FREE(opsys); if (ccomp) NAG_FREE(ccomp); if (fcomp) NAG_FREE(fcomp); if (vend) NAG_FREE(vend); return exit_status; }