/* nag_complex_airy_bi (s17dhc) Example Program. * * Copyright 2002 Numerical Algorithms Group. * * Mark 7, 2002. */ #include #include #include #include #include int main(int argc, char *argv[]) { FILE *fpin, *fpout; Integer exit_status = 0; Complex z, bi; char nag_enum_deriv[40], nag_enum_scal[40]; Nag_ScaleResType scal; Nag_FunType deriv; NagError fail; INIT_FAIL(fail); /* Check for command-line IO options */ fpin = nag_example_file_io(argc, argv, "-data", NULL); fpout = nag_example_file_io(argc, argv, "-results", NULL); /* Skip heading in data file */ fscanf(fpin, "%*[^\n]"); fprintf(fpout, "nag_complex_airy_bi (s17dhc) Example Program Results\n"); fprintf(fpout, " deriv z scal bi\n"); while (fscanf(fpin, " %s (%lf,%lf) %s%*[^\n] ", nag_enum_deriv, &z.re, &z.im, nag_enum_scal) != EOF) { /* nag_enum_name_to_value(x04nac). * Converts NAG enum member name to value */ deriv = (Nag_FunType) nag_enum_name_to_value(nag_enum_deriv); scal = (Nag_ScaleResType) nag_enum_name_to_value(nag_enum_scal); /* nag_complex_airy_bi (s17dhc). * Airy functions Bi~(z) and ci~(z), complex z */ nag_complex_airy_bi(deriv, z, scal, &bi, &fail); if (fail.code != NE_NOERROR) { fprintf(fpout, "Error from nag_complex_airy_bi (s17dhc).\n%s\n", fail.message); exit_status = 1; goto END; } fprintf(fpout, " %-12s (%7.3f,%7.3f) %-14s (%7.3f,%7.3f)\n", nag_enum_deriv, z.re, z.im, nag_enum_scal, bi.re, bi.im); } END: if (fpin != stdin) fclose(fpin); if (fpout != stdout) fclose(fpout); return exit_status; }