• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

F77_aloc.cH A D28-Dec-2021561 3428

Fmain.cH A D28-Dec-202118.4 KiB701574

MakefileH A D28-Dec-20212.4 KiB6452

NoticeH A D28-Dec-20211.2 KiB2420

READMEH A D28-Dec-20217 KiB169135

abort_.cH A D28-Dec-2021213 1713

backspace.cH A D28-Dec-20211.8 KiB9997

c_abs.cH A D28-Dec-2021205 1511

c_cos.cH A D28-Dec-2021261 1713

c_div.cH A D28-Dec-2021665 3733

c_exp.cH A D28-Dec-2021271 2015

c_log.cH A D28-Dec-2021293 1714

c_sin.cH A D28-Dec-2021259 1713

c_sqrt.cH A D28-Dec-2021506 3530

cabs.cH A D28-Dec-2021428 2825

cds.cH A D28-Dec-20214.1 KiB196159

close.cH A D28-Dec-20211.3 KiB9794

d_abs.cH A D28-Dec-2021151 1311

d_acos.cH A D28-Dec-2021179 1412

d_asin.cH A D28-Dec-2021179 1412

d_atan.cH A D28-Dec-2021179 1412

d_atn2.cH A D28-Dec-2021205 1412

d_cnjg.cH A D28-Dec-2021165 1311

d_cos.cH A D28-Dec-2021175 1412

d_cosh.cH A D28-Dec-2021179 1412

d_dim.cH A D28-Dec-2021165 119

d_exp.cH A D28-Dec-2021175 1412

d_imag.cH A D28-Dec-2021134 119

d_int.cH A D28-Dec-2021203 1412

d_lg10.cH A D28-Dec-2021225 1613

d_log.cH A D28-Dec-2021175 1412

d_mod.cH A D28-Dec-2021637 4139

d_nint.cH A D28-Dec-2021215 1513

d_prod.cH A D28-Dec-2021140 119

d_sign.cH A D28-Dec-2021199 1311

d_sin.cH A D28-Dec-2021175 1412

d_sinh.cH A D28-Dec-2021179 1412

d_sqrt.cH A D28-Dec-2021179 1412

d_tan.cH A D28-Dec-2021175 1412

d_tanh.cH A D28-Dec-2021179 1412

data.cH A D28-Dec-202110.3 KiB494412

defines.hH A D28-Dec-20218.5 KiB301204

defs.hH A D28-Dec-202133.1 KiB1,056767

derf_.cH A D28-Dec-2021172 1311

derfc_.cH A D28-Dec-2021186 1511

dfe.cH A D28-Dec-20212.8 KiB157153

dolio.cH A D28-Dec-2021404 2117

due.cH A D28-Dec-20211.5 KiB6967

ef1asc_.cH A D28-Dec-2021431 2014

ef1cmc_.cH A D28-Dec-2021360 1511

endfile.cH A D28-Dec-20213.3 KiB197186

equiv.cH A D28-Dec-20219.1 KiB414278

erf_.cH A D28-Dec-2021158 1311

erfc_.cH A D28-Dec-2021163 1311

err.cH A D28-Dec-20216 KiB279265

error.cH A D28-Dec-20214.9 KiB348283

exec.cH A D28-Dec-202119.6 KiB935712

exit.cH A D28-Dec-2021496 3927

expr.cH A D28-Dec-202165.9 KiB3,4372,766

f2c.1H A D28-Dec-20216.7 KiB209144

f2c.hH A D28-Dec-20214.8 KiB239183

f2c.psH A D28-Dec-2021139.9 KiB

fio.hH A D28-Dec-20212.5 KiB116101

fmt.cH A D28-Dec-20217.7 KiB489484

fmt.hH A D28-Dec-20211.8 KiB10097

fmtlib.cH A D28-Dec-2021798 4641

format.cH A D28-Dec-202156.7 KiB2,5252,082

format.hH A D28-Dec-2021458 138

formatdata.cH A D28-Dec-202126 KiB1,167976

fp.hH A D28-Dec-2021665 2918

ftell_.cH A D28-Dec-2021667 3834

ftypes.hH A D28-Dec-20211.3 KiB5234

getarg_.cH A D28-Dec-2021495 2920

getenv_.cH A D28-Dec-2021975 5233

gram.cH A D28-Dec-202184.1 KiB2,6722,633

gram.cccH A D28-Dec-202182 KiB2,6342,570

gram.dclH A D28-Dec-20218.3 KiB417370

gram.execH A D28-Dec-20213 KiB144125

gram.exprH A D28-Dec-20213.1 KiB143127

gram.ioH A D28-Dec-20213.2 KiB174153

h_abs.cH A D28-Dec-2021151 1311

h_dim.cH A D28-Dec-2021163 119

h_dnnt.cH A D28-Dec-2021219 1513

h_indx.cH A D28-Dec-2021375 2723

h_len.cH A D28-Dec-2021138 119

h_mod.cH A D28-Dec-2021140 119

h_nint.cH A D28-Dec-2021207 1513

h_sign.cH A D28-Dec-2021199 1311

hl_ge.cH A D28-Dec-2021279 1311

hl_gt.cH A D28-Dec-2021278 1311

hl_le.cH A D28-Dec-2021279 1311

hl_lt.cH A D28-Dec-2021278 1311

i_abs.cH A D28-Dec-2021147 1311

i_dim.cH A D28-Dec-2021158 119

i_dnnt.cH A D28-Dec-2021217 1513

i_indx.cH A D28-Dec-2021363 2723

i_len.cH A D28-Dec-2021136 119

i_mod.cH A D28-Dec-2021144 119

i_nint.cH A D28-Dec-2021205 1513

i_sign.cH A D28-Dec-2021193 1311

iargc_.cH A D28-Dec-2021129 1210

iio.cH A D28-Dec-20212.3 KiB143137

ilnw.cH A D28-Dec-20211 KiB7871

init.cH A D28-Dec-202111.3 KiB518420

inquire.cH A D28-Dec-20212.5 KiB111108

intr.cH A D28-Dec-202122.4 KiB978765

io.cH A D28-Dec-202130 KiB1,5091,296

iob.hH A D28-Dec-2021548 2723

l_ge.cH A D28-Dec-2021267 1311

l_gt.cH A D28-Dec-2021266 1311

l_le.cH A D28-Dec-2021267 1311

l_lt.cH A D28-Dec-2021266 1311

lbitbits.cH A D28-Dec-20211 KiB6355

lbitshft.cH A D28-Dec-2021191 1210

lex.cH A D28-Dec-202132.9 KiB1,6971,453

lio.hH A D28-Dec-20211.5 KiB7561

lread.cH A D28-Dec-202111.9 KiB661639

lwrite.cH A D28-Dec-20214.5 KiB311293

machdefs.hH A D28-Dec-20211 KiB3827

main.cH A D28-Dec-20212.2 KiB143113

malloc.cH A D28-Dec-20213.5 KiB166133

mathh.hH A D28-Dec-2021110 71

mem.cH A D28-Dec-20215.3 KiB269225

memset.cH A D28-Dec-20211.9 KiB6730

misc.cH A D28-Dec-202121.4 KiB1,3301,057

names.cH A D28-Dec-202121 KiB836625

names.hH A D28-Dec-2021569 2015

niceprintf.cH A D28-Dec-202110.6 KiB442339

niceprintf.hH A D28-Dec-2021412 173

open.cH A D28-Dec-20214.5 KiB244234

output.cH A D28-Dec-202141.3 KiB1,7051,356

output.hH A D28-Dec-20212.1 KiB6531

p1defs.hH A D28-Dec-20215.6 KiB15954

p1output.cH A D28-Dec-202113.9 KiB724545

parse.hH A D28-Dec-20211.1 KiB4838

parse_args.cH A D28-Dec-202113.8 KiB559367

pccdefs.hH A D28-Dec-20211.2 KiB6556

pow_ci.cH A D28-Dec-2021345 2116

pow_dd.cH A D28-Dec-2021210 1412

pow_di.cH A D28-Dec-2021381 3632

pow_hh.cH A D28-Dec-2021422 3430

pow_ii.cH A D28-Dec-2021421 3430

pow_qq.cH A D28-Dec-2021449 3430

pow_ri.cH A D28-Dec-2021369 3632

pow_zi.cH A D28-Dec-2021715 5247

pow_zz.cH A D28-Dec-2021483 2419

pread.cH A D28-Dec-202117.4 KiB991904

proc.cH A D28-Dec-202138.1 KiB1,8261,451

put.cH A D28-Dec-20219.8 KiB442296

putpcc.cH A D28-Dec-202143.2 KiB2,0761,689

qbitbits.cH A D28-Dec-20211.1 KiB6758

qbitshft.cH A D28-Dec-2021191 1210

r_abs.cH A D28-Dec-2021139 1311

r_acos.cH A D28-Dec-2021167 1412

r_asin.cH A D28-Dec-2021167 1412

r_atan.cH A D28-Dec-2021167 1412

r_atn2.cH A D28-Dec-2021187 1412

r_cnjg.cH A D28-Dec-2021151 1210

r_cos.cH A D28-Dec-2021163 1412

r_cosh.cH A D28-Dec-2021167 1412

r_dim.cH A D28-Dec-2021147 119

r_exp.cH A D28-Dec-2021163 1412

r_imag.cH A D28-Dec-2021122 119

r_int.cH A D28-Dec-2021191 1412

r_lg10.cH A D28-Dec-2021213 1613

r_log.cH A D28-Dec-2021163 1412

r_mod.cH A D28-Dec-2021627 4139

r_nint.cH A D28-Dec-2021203 1513

r_sign.cH A D28-Dec-2021181 1311

r_sin.cH A D28-Dec-2021163 1412

r_sinh.cH A D28-Dec-2021167 1412

r_sqrt.cH A D28-Dec-2021167 1412

r_tan.cH A D28-Dec-2021163 1412

r_tanh.cH A D28-Dec-2021167 1412

rawio.hH A D28-Dec-20211.1 KiB6052

rdfmt.cH A D28-Dec-20218.2 KiB477456

rewind.cH A D28-Dec-2021408 2524

rsfe.cH A D28-Dec-20211.4 KiB8077

rsli.cH A D28-Dec-20211.7 KiB10493

rsne.cH A D28-Dec-202111.2 KiB611579

s_cat.cH A D28-Dec-20211.3 KiB7567

s_cmp.cH A D28-Dec-2021655 4538

s_copy.cH A D28-Dec-2021957 5239

s_paus.cH A D28-Dec-20211.5 KiB9084

s_rnge.cH A D28-Dec-2021654 2520

s_stop.cH A D28-Dec-2021531 3935

sfe.cH A D28-Dec-2021793 4339

sig_die.cH A D28-Dec-2021479 3025

signal_.cH A D28-Dec-2021395 2217

sue.cH A D28-Dec-20211.8 KiB8482

sysdep.cH A D28-Dec-202111.9 KiB520438

sysdep.hH A D28-Dec-20212.7 KiB10050

system_.cH A D28-Dec-2021599 3830

tokdefs.hH A D28-Dec-20211.8 KiB101100

tokensH A D28-Dec-2021733 101100

typesize.cH A D28-Dec-2021319 1311

uio.cH A D28-Dec-20211.5 KiB6967

usignal.hH A D28-Dec-2021124 87

util.cH A D28-Dec-2021824 5248

vax.cH A D28-Dec-202111.8 KiB567456

version.cH A D28-Dec-2021107 32

wref.cH A D28-Dec-20214.4 KiB277259

wrtfmt.cH A D28-Dec-20217.8 KiB388369

wsfe.cH A D28-Dec-20211.6 KiB8580

wsle.cH A D28-Dec-2021684 4138

wsne.cH A D28-Dec-2021412 2724

xsum.cH A D28-Dec-20216.5 KiB237204

xwsne.cH A D28-Dec-20211.1 KiB7367

z_abs.cH A D28-Dec-2021201 1311

z_cos.cH A D28-Dec-2021270 1513

z_div.cH A D28-Dec-2021675 3732

z_exp.cH A D28-Dec-2021279 1815

z_log.cH A D28-Dec-2021306 1714

z_sin.cH A D28-Dec-2021268 1513

z_sqrt.cH A D28-Dec-2021493 3027

README

1Type "make" to check the validity of the f2c source and compile f2c.
2
3On a PC, you may need to compile xsum.c with -DMSDOS (i.e., with
4MSDOS #defined).
5
6If your compiler does not understand ANSI/ISO C syntax (i.e., if
7you have a K&R C compiler), compile with -DKR_headers .
8
9On non-Unix systems where files have separate binary and text modes,
10you may need to "make xsumr.out" rather than "make xsum.out".
11
12If (in accordance with what follows) you need to any of the source
13files (excluding the makefile), first issue a "make xsum.out" (or, if
14appropriate, "make xsumr.out") to check the validity of the f2c source,
15then make your changes, then type "make f2c".
16
17The file usignal.h is for the benefit of strictly ANSI include files
18on a UNIX system -- the ANSI signal.h does not define SIGHUP or SIGQUIT.
19You may need to modify usignal.h if you are not running f2c on a UNIX
20system.
21
22Should you get the message "xsum0.out xsum1.out differ", see what lines
23are different (`diff xsum0.out xsum1.out`) and ask netlib
24(e.g., netlib@netlib.bell-labs.com) to send you the files in question,
25plus the current xsum0.out (which may have changed) "from f2c/src".
26For example, if exec.c and expr.c have incorrect check sums, you would
27send netlib the message
28	send exec.c expr.c xsum0.out from f2c/src
29You can also ftp these files from netlib.bell-labs.com; for more
30details, ask netlib@netlib.bell-labs.com to "send readme from f2c".
31
32On some systems, the malloc and free in malloc.c let f2c run faster
33than do the standard malloc and free.  Other systems may not tolerate
34redefinition of malloc and free (though changes of 8 Nov. 1994 may
35render this less of a problem than hitherto).  If yours is such a
36system, you may either modify the makefile appropriately (remove
37"malloc.o" from the "OBJECTS =" assignment), or simply execute
38	cc -c -DCRAY malloc.c
39before typing "make".  Still other systems have a -lmalloc that
40provides performance competitive with that from malloc.c; you may
41wish to compare the two on your system.  In general, if f2c faults
42when you first try to run it, try compiling malloc.c with -DCRAY;
43this is necessary with at least one version of Linux (but not with
44others).
45
46On some BSD systems, you may need to create a file named "string.h"
47whose single line is
48#include <strings.h>
49you may need to add " -Dstrchr=index" to the "CFLAGS =" assignment
50in the makefile, and you may need to add " memset.o" to the "OBJECTS ="
51assignment in the makefile -- see the comments in memset.c .
52
53For non-UNIX systems, you may need to change some things in sysdep.c,
54such as the choice of intermediate file names.
55
56On some systems, you may need to modify parts of sysdep.h (which is
57included by defs.h).  In particular, for Sun 4.1 systems and perhaps
58some others, you need to comment out the typedef of size_t.  For some
59systems (e.g., IRIX 4.0.1 and AIX) it is better to add
60#define ANSI_Libraries
61to the beginning of sysdep.h (or to supply -DANSI_Libraries in the
62makefile).
63
64Alas, some systems #define __STDC__ but do not provide a true standard
65(ANSI or ISO) C environment, e.g. do not provide stdlib.h .  If yours
66is such a system, then (a) you should complain loudly to your vendor
67about __STDC__ being erroneously defined, and (b) you should insert
68#undef __STDC__
69at the beginning of sysdep.h .  You may need to make other adjustments.
70
71For some non-ANSI versions of stdio, you must change the values given
72to binread and binwrite in sysdep.c from "rb" and "wb" to "r" and "w".
73You may need to make this change if you run f2c and get an error
74message of the form
75	Compiler error ... cannot open intermediate file ...
76
77On many systems, it is best to combine libF77 and libI77 into a single
78library, say libf2c, as suggested in "readme from f2c".  If you do not
79do this, then you should adjust the definition of link_msg in sysdep.c
80appropriately (e.g., replacing "-lf2c" by "-lF77 -lI77").  On Unix
81systems, the easiest way to create libf2c.a is to make libF77/libF77.a
82and libI77/libI77.a (after reading and heeding libF77/README and
83libI77/README), and then to say
84
85	cp libF77/libF77.a libf2c.a
86	ar ruv libf2c.a libI77/*.o
87	ranlib libf2c.a
88
89The last step, ranlib, may not be necessary on your system.  On
90other systems, just compile all the .c files in libF77 and libI77,
91and put the resulting objects (except one or both of the Version
92objects) into a library, called perhaps f2c.lib .
93
94In general, under Linux it is necessary to compile libI77 with
95-DNON_UNIX_STDIO .  Under at least one variant of Linux, you can make
96and install a shared-library version of libf2c by compiling libI77
97with -DNON_UNIX_STDIO, creating libf2c.a as above, and then executing
98
99	mkdir t
100	ln lib?77/*.o t
101	cd t; cc -shared -o ../libf2c.so -Wl,-soname,libf2c.so.1 *.o
102	cd ..
103	rm -r t
104	rm /usr/lib/libf2c*
105	mv libf2c.a libf2c.so /usr/lib
106	cd /usr/lib
107	ln libf2c.so libf2c.so.1
108	ln libf2c.so libf2c.so.1.0.0
109
110On some other systems, /usr/local/lib is the appropriate installation
111directory.
112
113
114Some older C compilers object to
115	typedef void (*foo)();
116or to
117	typedef void zap;
118	zap (*foo)();
119If yours is such a compiler, change the definition of VOID in
120f2c.h from void to int.
121
122For convenience with systems that use control-Z to denote end-of-file,
123f2c treats control-Z characters (ASCII 26, '\x1a') that appear at the
124beginning of a line as an end-of-file indicator.  You can disable this
125test by compiling lex.c with NO_EOF_CHAR_CHECK #defined, or can
126change control-Z to some other character by #defining EOF_CHAR to
127be the desired value.
128
129
130If your machine has IEEE, VAX, or IBM-mainframe arithmetic, but your
131printf is inaccurate (e.g., with Symantec C++ version 6.0,
132printf("%.17g",12.) prints 12.000000000000001), you can make f2c print
133correctly rounded numbers by compiling with -DUSE_DTOA and adding
134dtoa.o g_fmt.o to the makefile's OBJECTS = line, so it becomes
135
136	OBJECTS = $(OBJECTSd) malloc.o dtoa.o g_fmt.o
137
138Also add the rule
139
140	dtoa.o: dtoa.c
141		$(CC) -c $(CFLAGS) -DMALLOC=ckalloc -DIEEE... dtoa.c
142
143(without the initial tab) to the makefile, where IEEE... is one of
144IEEE_MC68k, IEEE_8087, VAX, or IBM, depending on your machine's
145arithmetic.  See the comments near the start of dtoa.c.
146
147The relevant source files, dtoa.c and g_fmt.c, are available
148separately from netlib's fp directory.  For example, you could
149send the E-mail message
150
151	send dtoa.c g_fmt.c from fp
152
153to netlib@netlib.bell-labs.com (or use anonymous ftp from
154netlib.bell-labs.com and look in directory /netlib/fp).
155
156The makefile has a rule for creating tokdefs.h.  If you cannot use the
157makefile, an alternative is to extract tokdefs.h from the beginning of
158gram.c: it's the first 100 lines.
159
160
161Please send bug reports to dmg@bell-labs.com .  The old index file
162(now called "readme" due to unfortunate changes in netlib conventions:
163"send readme from f2c") will report recent changes in the recent-change
164log at its end; all changes will be shown in the "changes" file
165("send changes from f2c").  To keep current source, you will need to
166request xsum0.out and version.c, in addition to the changed source
167files.  Changes first appear on netlib@netlib.bell-labs.com, and in due
168time propagate to the other netlib sites that are kept current.
169