gcc/libf2c/libF77
Jeff Law 1b7f6755f9 Daily bump.
From-SVN: r39150
2001-01-20 01:45:16 -07:00
..
F77_aloc.c Update libg2c to netlib f2c-19990317 1999-03-17 03:21:44 -05:00
Makefile.in [Nilsson] Add dependencies 1999-03-05 19:02:54 -05:00
Notice * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
README.netlib Update libg2c to netlib f2c-19990317 1999-03-17 03:21:44 -05:00
Version.c Daily bump. 2001-01-20 01:45:16 -07:00
abort_.c Update to Netlib version of 1999-05-10 1999-05-10 10:40:59 -04:00
c_abs.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
c_cos.c Update to Netlib version of 1999-05-03 1999-05-03 04:35:22 -04:00
c_div.c configure.in: Define IEEE_COMPLEX_DIVIDE. 2000-03-12 19:20:47 +00:00
c_exp.c Update to Netlib version of 1999-05-03 1999-05-03 04:35:22 -04:00
c_log.c Update to Netlib version of 1999-05-10 1999-05-10 10:40:59 -04:00
c_sin.c Update to Netlib version of 1999-05-03 1999-05-03 04:35:22 -04:00
c_sqrt.c revert back to netlib versions as of f2c-19990501 1999-05-03 04:33:21 -04:00
cabs.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
configure toon forgot to check in configure 2000-03-13 03:43:19 +00:00
configure.in configure.in: Define IEEE_COMPLEX_DIVIDE. 2000-03-12 19:20:47 +00:00
d_abs.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_acos.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_asin.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_atan.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_atn2.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_cnjg.c Update to Netlib version of 1999-05-03 1999-05-03 04:35:22 -04:00
d_cos.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_cosh.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_dim.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_exp.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_imag.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_int.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_lg10.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_log.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_mod.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_nint.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_prod.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_sign.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_sin.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_sinh.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_sqrt.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_tan.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
d_tanh.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
derf_.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
derfc_.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
dtime_.c Update to Netlib version 20001205. 2000-12-09 15:34:53 +00:00
ef1asc_.c Update to Netlib version of 1999-05-10 1999-05-10 10:40:59 -04:00
ef1cmc_.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
erf_.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
erfc_.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
etime_.c Update to Netlib version 20001205. 2000-12-09 15:34:53 +00:00
exit_.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
f2ch.add * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
getarg_.c Break up main() into separate .o's so making and linking against shared... 1998-05-22 10:32:18 +00:00
getenv_.c Update to Netlib version of 1999-05-03 1999-05-03 04:35:22 -04:00
h_abs.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
h_dim.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
h_dnnt.c Update to Netlib version of 1998-04-20 1998-05-19 10:52:03 +00:00
h_indx.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
h_len.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
h_mod.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
h_nint.c Update to Netlib version of 1998-04-20 1998-05-19 10:52:03 +00:00
h_sign.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
hl_ge.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
hl_gt.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
hl_le.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
hl_lt.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
i_abs.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
i_dim.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
i_dnnt.c Update to Netlib version of 1998-04-20 1998-05-19 10:52:03 +00:00
i_indx.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
i_len.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
i_mod.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
i_nint.c Update to Netlib version of 1998-04-20 1998-05-19 10:52:03 +00:00
i_sign.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
iargc_.c Break up main() into separate .o's so making and linking against shared... 1998-05-22 10:32:18 +00:00
l_ge.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
l_gt.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
l_le.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
l_lt.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
lbitbits.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
lbitshft.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
main.c Break up main() into separate .o's so making and linking against shared... 1998-05-22 10:32:18 +00:00
makefile.netlib * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
pow_ci.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
pow_dd.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
pow_di.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
pow_hh.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
pow_ii.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
pow_qq.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
pow_ri.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
pow_zi.c revert back to netlib versions as of f2c-19990501 1999-05-03 04:33:21 -04:00
pow_zz.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
qbitbits.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
qbitshft.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_abs.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_acos.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_asin.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_atan.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_atn2.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_cnjg.c Update to Netlib version of 1999-05-03 1999-05-03 04:35:22 -04:00
r_cos.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_cosh.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_dim.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_exp.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_imag.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_int.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_lg10.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_log.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_mod.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_nint.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_sign.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_sin.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_sinh.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_sqrt.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_tan.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
r_tanh.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
s_cat.c Update to Netlib version 20001205. 2000-12-09 15:34:53 +00:00
s_cmp.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
s_copy.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
s_paus.c Update to Netlib version of 1998-04-20 1998-05-19 10:52:03 +00:00
s_rnge.c configure.in: Define IEEE_COMPLEX_DIVIDE. 2000-03-12 19:20:47 +00:00
s_stop.c Update to Netlib version of 1999-05-10 1999-05-10 10:40:59 -04:00
setarg.c Break up main() into separate .o's so making and linking against shared... 1998-05-22 10:32:18 +00:00
setsig.c Break up main() into separate .o's so making and linking against shared... 1998-05-22 10:32:18 +00:00
sig_die.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
signal1.h * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
signal1.h0 Update libg2c to netlib f2c-19990317 1999-03-17 03:21:44 -05:00
signal_.c Tweaks to eliminate unnecessary differences vs. 1998-05-19 11:01:52 +00:00
system_.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
z_abs.c * Previous contents of gcc/f/runtime moved into toplevel 1998-01-31 18:37:08 -07:00
z_cos.c Update to Netlib version of 1999-05-03 1999-05-03 04:35:22 -04:00
z_div.c configure.in: Define IEEE_COMPLEX_DIVIDE. 2000-03-12 19:20:47 +00:00
z_exp.c Update to Netlib version of 1999-05-03 1999-05-03 04:35:22 -04:00
z_log.c Update to Netlib version 20001205. 2000-12-09 15:34:53 +00:00
z_sin.c Update to Netlib version of 1999-05-03 1999-05-03 04:35:22 -04:00
z_sqrt.c revert back to netlib versions as of f2c-19990501 1999-05-03 04:33:21 -04:00

README.netlib

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@netlib.bell-labs.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, qbitbits.c,
and qbitshft.c, which are meant for use with INTEGER*8.  To use
INTEGER*8, you must modify f2c.h to declare longint and ulongint
appropriately; then add pow_qq.o to the POW = line in the makefile,
and add " qbitbits.o qbitshft.o" to the makefile's F90BIT = line.

Following Fortran 90, s_cat.c and s_copy.c allow the target of a
(character string) assignment to be appear on its right-hand, at
the cost of some extra overhead for all run-time concatenations.
If you prefer the  extra efficiency that comes with the Fortran 77
requirement that the left-hand side of a character assignment not
be involved in the right-hand side, compile s_cat.c and s_copy.c
with -DNO_OVERWRITE .

If your system lacks a ranlib command, you don't need it.
Either comment out the makefile's ranlib invocation, or install
a harmless "ranlib" command somewhere in your PATH, such as the
one-line shell script

	exit 0

or (on some systems)

	exec /usr/bin/ar lts $1 >/dev/null

If your compiler complains about the signal calls in main.c, s_paus.c,
and signal_.c, you may need to adjust signal1.h suitably.  See the
comments in signal1.h.