ABOUT C AND FORTRAN FUNCTIONS

Each source-code function comes in two forms — text and machine-readable. The text version is given under Algorithm and Program in the function description and it gives the function in that section. For a program to run, you need a main driver program for input and output, and sometimes you need functions called by the function of interest.  So, you are thinking you have a jigsaw puzzle of function fragments. For programs from the Web Atlas, however, no assembly is required, so a function with its driver is already a working program.

 C Functions

The C functions are coded conforming to the ANSI/ISO standard, as in  Schildt [Sch90], Deitel [Dei94], and Plauger and Brodie [Pla96].

   To become a competent programmer in C Müldner and Steele's book [Mül88] is suitable if you are experienced in other computer languages. Kerrigan’s book [Ker91] aims to help the transition from Fortran to C, and Shammas [Sha88] introduces C to Pascal programmers. Texts by Thompson [Tho92] and Glassey [Gla93] discuss numerical programming in C.

References on C

[Dei94] Deitel, H. M., C; How to Program, Prentice Hall, Englewood Cliffs, New Jersey, 1994.

[Gla93] Glassey, R., Numerical Computation Using C, Academic Press, San Diego, 1993.

[Ker91] Kerrigan, J. F., From Fortran to C, Windcrest Books, Blue Ridge Summit, Pennsylvania, 1991.

[Mül88] Müldner, T., and P. W. Steele, C as a Second Language, Addison-Wesley, Reading, Massachusetts, 1988.

[Pla96] Plauger; P. J., and J. Brodie, Standard C; A Reference, Prentice Hall, Upper Saddle River, New Jersey, 1996.

[Sch90] Schildt, H., The Annotated ANSI C Standard, Osborne McGraw-Hill, Berkeley, California, 1990.

[Sha88] Shammas, N., Introducing C to Pascal Programmers, Wiley, New York, 1988.

[Tho92] Thompson, W. J., Computing for Scientists and Engineers, Wiley, New York, 1992.

 

Fortran-90 Functions

Fortran functions are coded in Fortran 90 conforming to the ANSI/ISO standards, ANSI X3.198-1992 and ISO/IEC 1539:1991, respectively, as described in Adams et al [Ada92].  Books such as Kerrigan [Ker93], Chivers and Sleightholme [Chi95], Brainerd et al [Bra96], Metcalf and Reid [Met96], or Nyhoff and Leenstra [Nyh97] are helpful for learning to use Fortran 90 effectively. Fortran 90 allows recursive evaluation, but we sometimes suggest alternatives for Fortran compilers that don't allow recursion.

   The Fortran functions are translations of the functions in the C version. The compilers used for development were the Fortran-90 compiler in Absoft Pro Fortran version 5.0 (a compiler for the PowerPC architecture having excellent compatibility with mainframes such as Cray and workstations such as Sun) and Microsoft Fortran Power Station version 4.0 (a development system for Windows 95 and Windows NT). Fortran functions in the Atlas provide numerical results in agreement with their C counterparts and with our Mathematica output, usually to 10 decimal digits.

 

References on Fortran

[Ada92] Adams, J. C., W. S. Brainerd, J. T. Martin, B. T. Smith, and J. L. Wagener, Fortran 90 Handbook: Complete ANSI/ISO Reference, McGraw-Hill, New York, 1992.

[Bra96] Brainerd, W. S., C. H. Goldberg, and J. C. Adams, Programmer’s Guide to Fortran 90, Springer-Verlag, third edition, 1996.

[Chi95] Chivers, I., and J. Sleightholme, Introducing Fortran 90, Springer-Verlag, London, 1995.

[Ker93] Kerrigan, J. F., Migrating to Fortran 90, O’Reilly and Associates, Sebastapol, California, 1993.

[Met96] Metcalf, M., and J. Reid, Fortran 90/95 Explained, Oxford University Press, Oxford, 1996.

[Nyh97] Nyhoff, L. R., and S. C. Leenstra, Introduction to Fortran 90 for Engineers and Scientists, Prentice Hall, Upper Saddle River, New Jersey, 1997; Nyhoff, L. R., and S. C. Leenstra, Fortran 90 for Engineers and Scientists, Prentice Hall, Upper Saddle River, New Jersey, 1997.

 

Reliability of Programs: Disclaimer

The programs in the Atlas have been written carefully. Use of these programs is, however, at your own risk. The author and publisher disclaim all liability for direct or consequential damages resulting from use of the programs.