source: trunk/src/gcc/libf2c/libF77/README.netlib@ 603

Last change on this file since 603 was 2, checked in by bird, 23 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 4.6 KB
RevLine 
[2]1If your compiler does not recognize ANSI C headers,
2compile with KR_headers defined: either add -DKR_headers
3to the definition of CFLAGS in the makefile, or insert
4
5#define KR_headers
6
7at the top of f2c.h , cabs.c , main.c , and sig_die.c .
8
9Under MS-DOS, compile s_paus.c with -DMSDOS.
10
11If you have a really ancient K&R C compiler that does not understand
12void, add -Dvoid=int to the definition of CFLAGS in the makefile.
13
14If you use a C++ compiler, first create a local f2c.h by appending
15f2ch.add to the usual f2c.h, e.g., by issuing the command
16 make f2c.h
17which assumes f2c.h is installed in /usr/include .
18
19If your system lacks onexit() and you are not using an ANSI C
20compiler, then you should compile main.c, s_paus.c, s_stop.c, and
21sig_die.c with NO_ONEXIT defined. See the comments about onexit in
22the makefile.
23
24If your system has a double drem() function such that drem(a,b)
25is the IEEE remainder function (with double a, b), then you may
26wish to compile r_mod.c and d_mod.c with IEEE_drem defined.
27On some systems, you may also need to compile with -Ddrem=remainder .
28
29To check for transmission errors, issue the command
30 make check
31This assumes you have the xsum program whose source, xsum.c,
32is distributed as part of "all from f2c/src". If you do not
33have xsum, you can obtain xsum.c by sending the following E-mail
34message to [email protected]
35 send xsum.c from f2c/src
36
37The makefile assumes you have installed f2c.h in a standard
38place (and does not cause recompilation when f2c.h is changed);
39f2c.h comes with "all from f2c" (the source for f2c) and is
40available separately ("f2c.h from f2c").
41
42Most of the routines in libF77 are support routines for Fortran
43intrinsic functions or for operations that f2c chooses not
44to do "in line". There are a few exceptions, summarized below --
45functions and subroutines that appear to your program as ordinary
46external Fortran routines.
47
481. CALL ABORT prints a message and causes a core dump.
49
502. ERF(r) and DERF(d) and the REAL and DOUBLE PRECISION
51 error functions (with x REAL and d DOUBLE PRECISION);
52 DERF must be declared DOUBLE PRECISION in your program.
53 Both ERF and DERF assume your C library provides the
54 underlying erf() function (which not all systems do).
55
563. ERFC(r) and DERFC(d) are the complementary error functions:
57 ERFC(r) = 1 - ERF(r) and DERFC(d) = 1.d0 - DERFC(d)
58 (except that their results may be more accurate than
59 explicitly evaluating the above formulae would give).
60 Again, ERFC and r are REAL, and DERFC and d are DOUBLE