home *** CD-ROM | disk | FTP | other *** search
- If your compiler does not recognize ANSI C headers,
- compile with KR_headers defined: either add -DKR_headers
- to the definition of CFLAGS in the makefile, or insert
-
- #define KR_headers
-
- at the top of f2c.h , cabs.c , main.c , and sig_die.c .
-
- Under MS-DOS, compile s_paus.c with -DMSDOS.
-
- If you have a really ancient K&R C compiler that does not understand
- void, add -Dvoid=int to the definition of CFLAGS in the makefile.
-
- If you use a C++ compiler, first create a local f2c.h by appending
- f2ch.add to the usual f2c.h, e.g., by issuing the command
- make f2c.h
- which assumes f2c.h is installed in /usr/include .
-
- If your system lacks onexit() and you are not using an ANSI C
- compiler, then you should compile main.c, s_paus.c, s_stop.c, and
- sig_die.c with NO_ONEXIT defined. See the comments about onexit in
- the makefile.
-
- If your system has a double drem() function such that drem(a,b)
- is the IEEE remainder function (with double a, b), then you may
- wish to compile r_mod.c and d_mod.c with IEEE_drem defined.
- On some systems, you may also need to compile with -Ddrem=remainder .
-
- To check for transmission errors, issue the command
- make check
- This assumes you have the xsum program whose source, xsum.c,
- is distributed as part of "all from f2c/src". If you do not
- have xsum, you can obtain xsum.c by sending the following E-mail
- message to netlib@research.att.com
- send xsum.c from f2c/src
-
- The makefile assumes you have installed f2c.h in a standard
- place (and does not cause recompilation when f2c.h is changed);
- f2c.h comes with "all from f2c" (the source for f2c) and is
- available separately ("f2c.h from f2c").
-
- Most of the routines in libF77 are support routines for Fortran
- intrinsic functions or for operations that f2c chooses not
- to do "in line". There are a few exceptions, summarized below --
- functions and subroutines that appear to your program as ordinary
- external Fortran routines.
-
- 1. CALL ABORT prints a message and causes a core dump.
-
- 2. ERF(r) and DERF(d) and the REAL and DOUBLE PRECISION
- error functions (with x REAL and d DOUBLE PRECISION);
- DERF must be declared DOUBLE PRECISION in your program.
- Both ERF and DERF assume your C library provides the
- underlying erf() function (which not all systems do).
-
- 3. ERFC(r) and DERFC(d) are the complementary error functions:
- ERFC(r) = 1 - ERF(r) and DERFC(d) = 1.d0 - DERFC(d)
- (except that their results may be more accurate than
- explicitly evaluating the above formulae would give).
- Again, ERFC and r are REAL, and DERFC and d are DOUBLE
- PRECISION (and must be declared as such in your program),
- and ERFC and DERFC rely on your system's erfc().
-
- 4. CALL GETARG(n,s), where n is an INTEGER and s is a CHARACTER
- variable, sets s to the n-th command-line argument (or to
- all blanks if there are fewer than n command-line arguments);
- CALL GETARG(0,s) sets s to the name of the program (on systems
- that support this feature). See IARGC below.
-
- 5. CALL GETENV(name, value), where name and value are of type
- CHARACTER, sets value to the environment value, $name, of
- name (or to blanks if $name has not been set).
-
- 6. NARGS = IARGC() sets NARGS to the number of command-line
- arguments (an INTEGER value).
-
- 7. CALL SIGNAL(n,func), where n is an INTEGER and func is an
- EXTERNAL procedure, arranges for func to be invoked when
- signal n occurs (on systems where this makes sense).
-
- 8. CALL SYSTEM(cmd), where cmd is of type CHARACTER, passes
- cmd to the system's command processor (on systems where
- this can be done).
-
- The makefile does not attempt to compile pow_qq.c, which is meant
- for use with INTEGER*8. To use it, you must modify f2c.h to
- declare longint appropriately; then add pow_qq.o to the POW =
- line in the makefile.
-
- If you wish to allow the target of a (character string) concatenation
- to be appear on its right-hand (at the cost of extra overhead for
- all run-time concatenations), change "s_cat.o" to "s_catow.o" in
- the makefile. Note that the Fortran 77 Standard explicitly forbids
- the target of a concatenation from appearing on its right-hand side.
-