~ [ source navigation ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
cvs/emstar/libnl/libf2c/


Name Size Last modified (GMT) Description
Back Parent directory 2009-11-23 14:26:51
File BUILD 2033 bytes 2005-03-02 18:56:37
File Notice 1212 bytes 2005-03-02 18:56:37
File README 14581 bytes 2005-03-02 18:56:37
C file abort_.c 231 bytes 2005-03-02 18:56:37
C file backspac.c 1258 bytes 2005-03-02 18:56:37
C file c_abs.c 205 bytes 2005-03-02 18:56:37
C file c_cos.c 287 bytes 2005-03-02 18:56:37
C file c_div.c 863 bytes 2005-03-02 18:56:37
C file c_exp.c 282 bytes 2005-03-02 18:56:37
C file c_log.c 317 bytes 2005-03-02 18:56:37
C file c_sin.c 283 bytes 2005-03-02 18:56:37
C file c_sqrt.c 538 bytes 2005-03-02 18:56:37
C file cabs.c 427 bytes 2005-03-02 18:56:37
C file close.c 1325 bytes 2005-03-02 18:56:37
C file d_abs.c 151 bytes 2005-03-02 18:56:37
C file d_acos.c 178 bytes 2005-03-02 18:56:37
C file d_asin.c 178 bytes 2005-03-02 18:56:37
C file d_atan.c 178 bytes 2005-03-02 18:56:37
C file d_atn2.c 204 bytes 2005-03-02 18:56:37
C file d_cnjg.c 188 bytes 2005-03-02 18:56:37
C file d_cos.c 174 bytes 2005-03-02 18:56:37
C file d_cosh.c 178 bytes 2005-03-02 18:56:37
C file d_dim.c 165 bytes 2005-03-02 18:56:37
C file d_exp.c 174 bytes 2005-03-02 18:56:37
C file d_imag.c 134 bytes 2005-03-02 18:56:37
C file d_int.c 202 bytes 2005-03-02 18:56:37
C file d_lg10.c 224 bytes 2005-03-02 18:56:37
C file d_log.c 174 bytes 2005-03-02 18:56:37
C file d_mod.c 621 bytes 2005-03-02 18:56:37
C file d_nint.c 214 bytes 2005-03-02 18:56:37
C file d_prod.c 140 bytes 2005-03-02 18:56:37
C file d_sign.c 199 bytes 2005-03-02 18:56:37
C file d_sin.c 174 bytes 2005-03-02 18:56:37
C file d_sinh.c 178 bytes 2005-03-02 18:56:37
C file d_sqrt.c 178 bytes 2005-03-02 18:56:37
C file d_tan.c 174 bytes 2005-03-02 18:56:37
C file d_tanh.c 178 bytes 2005-03-02 18:56:37
C file derf_.c 172 bytes 2005-03-02 18:56:37
C file derfc_.c 186 bytes 2005-03-02 18:56:37
C file dfe.c 2556 bytes 2005-03-03 04:40:04
C file dolio.c 404 bytes 2005-03-02 18:56:37
C file dtime_.c 850 bytes 2005-03-02 18:56:38
C file due.c 1558 bytes 2005-03-03 04:40:04
C file ef1asc_.c 454 bytes 2005-03-02 18:56:38
C file ef1cmc_.c 360 bytes 2005-03-02 18:56:38
C file endfile.c 2050 bytes 2005-03-03 04:40:04
C file erf_.c 158 bytes 2005-03-02 18:56:38
C file erfc_.c 163 bytes 2005-03-02 18:56:38
C file err.c 6097 bytes 2005-03-03 04:40:04
C file etime_.c 713 bytes 2005-03-02 18:56:38
C file exit_.c 476 bytes 2005-03-02 18:56:38
C file f2c.h 10748 bytes 2005-03-02 18:56:38
C file f77_aloc.c 611 bytes 2005-03-02 18:56:38
C file f77vers.c 3474 bytes 2005-03-03 04:40:04
C file f_init.c 2197 bytes 2005-03-02 18:56:38
C file fio.h 2533 bytes 2005-03-02 18:56:38
C file fmt.c 8321 bytes 2005-03-03 04:40:04
C file fmt.h 1876 bytes 2005-03-02 18:56:38
C file fmtlib.c 798 bytes 2005-03-02 18:56:38
C file fp.h 665 bytes 2005-03-02 18:56:38
C file ftell_.c 827 bytes 2005-03-02 18:56:38
C file getarg_.c 495 bytes 2005-03-02 18:56:38
C file getenv_.c 1150 bytes 2005-03-02 18:56:38
C file h_abs.c 151 bytes 2005-03-02 18:56:38
C file h_dim.c 163 bytes 2005-03-02 18:56:38
C file h_dnnt.c 227 bytes 2005-03-02 18:56:38
C file h_indx.c 375 bytes 2005-03-02 18:56:38
C file h_len.c 138 bytes 2005-03-02 18:56:38
C file h_mod.c 140 bytes 2005-03-02 18:56:38
C file h_nint.c 214 bytes 2005-03-02 18:56:38
C file h_sign.c 199 bytes 2005-03-02 18:56:38
C file hl_ge.c 279 bytes 2005-03-02 18:56:38
C file hl_gt.c 278 bytes 2005-03-02 18:56:38
C file hl_le.c 279 bytes 2005-03-02 18:56:38
C file hl_lt.c 278 bytes 2005-03-02 18:56:38
C file i77vers.c 16160 bytes 2005-03-03 04:40:04
C file i_abs.c 147 bytes 2005-03-02 18:56:38
C file i_dim.c 158 bytes 2005-03-02 18:56:38
C file i_dnnt.c 224 bytes 2005-03-02 18:56:38
C file i_indx.c 363 bytes 2005-03-02 18:56:38
C file i_len.c 136 bytes 2005-03-02 18:56:38
C file i_mod.c 144 bytes 2005-03-02 18:56:38
C file i_nint.c 211 bytes 2005-03-02 18:56:38
C file i_sign.c 193 bytes 2005-03-02 18:56:38
C file iargc_.c 129 bytes 2005-03-02 18:56:38
C file iio.c 2593 bytes 2005-03-03 04:40:04
C file ilnw.c 1058 bytes 2005-03-02 18:56:38
C file inquire.c 2637 bytes 2005-03-03 04:40:04
C file l_ge.c 267 bytes 2005-03-02 18:56:38
C file l_gt.c 266 bytes 2005-03-02 18:56:38
C file l_le.c 267 bytes 2005-03-02 18:56:38
C file l_lt.c 266 bytes 2005-03-02 18:56:38
C file lbitbits.c 1043 bytes 2005-03-03 04:40:04
C file lbitshft.c 191 bytes 2005-03-02 18:56:38
C file lio.h 1564 bytes 2005-03-02 18:56:38
C file lread.c 13071 bytes 2005-03-03 04:40:04
C file lwrite.c 4489 bytes 2005-03-03 04:40:04
C file main.c 2197 bytes 2005-03-03 04:40:04
C file open.c 5557 bytes 2005-03-03 04:40:04
C file pow_ci.c 345 bytes 2005-03-02 18:56:38
C file pow_dd.c 209 bytes 2005-03-02 18:56:38
C file pow_di.c 381 bytes 2005-03-02 18:56:38
C file pow_hh.c 422 bytes 2005-03-02 18:56:38
C file pow_ii.c 421 bytes 2005-03-02 18:56:38
C file pow_qq.c 449 bytes 2005-03-02 18:56:38
C file pow_ri.c 369 bytes 2005-03-02 18:56:39
C file pow_zi.c 784 bytes 2005-03-02 18:56:39
C file pow_zz.c 482 bytes 2005-03-02 18:56:39
C file qbitbits.c 1083 bytes 2005-03-02 18:56:39
C file qbitshft.c 191 bytes 2005-03-02 18:56:39
C file r_abs.c 139 bytes 2005-03-02 18:56:39
C file r_acos.c 166 bytes 2005-03-02 18:56:39
C file r_asin.c 166 bytes 2005-03-02 18:56:39
C file r_atan.c 166 bytes 2005-03-02 18:56:39
C file r_atn2.c 186 bytes 2005-03-02 18:56:39
C file r_cnjg.c 168 bytes 2005-03-02 18:56:39
C file r_cos.c 162 bytes 2005-03-02 18:56:39
C file r_cosh.c 166 bytes 2005-03-02 18:56:39
C file r_dim.c 147 bytes 2005-03-02 18:56:39
C file r_exp.c 162 bytes 2005-03-02 18:56:39
C file r_imag.c 122 bytes 2005-03-02 18:56:39
C file r_int.c 190 bytes 2005-03-02 18:56:39
C file r_lg10.c 212 bytes 2005-03-02 18:56:39
C file r_log.c 162 bytes 2005-03-02 18:56:39
C file r_mod.c 611 bytes 2005-03-02 18:56:39
C file r_nint.c 202 bytes 2005-03-02 18:56:39
C file r_sign.c 181 bytes 2005-03-02 18:56:39
C file r_sin.c 162 bytes 2005-03-02 18:56:39
C file r_sinh.c 166 bytes 2005-03-02 18:56:39
C file r_sqrt.c 166 bytes 2005-03-02 18:56:39
C file r_tan.c 162 bytes 2005-03-02 18:56:39
C file r_tanh.c 166 bytes 2005-03-02 18:56:39
C file rawio.h 718 bytes 2005-03-02 18:56:39
C file rdfmt.c 8829 bytes 2005-03-03 04:40:04
C file rewind.c 408 bytes 2005-03-02 18:56:39
C file rsfe.c 1423 bytes 2005-03-03 04:40:04
C file rsli.c 1718 bytes 2005-03-02 18:56:39
C file rsne.c 11500 bytes 2005-03-03 04:40:04
C file s_cat.c 1346 bytes 2005-03-02 18:56:39
C file s_cmp.c 655 bytes 2005-03-02 18:56:39
C file s_copy.c 957 bytes 2005-03-02 18:56:39
C file s_paus.c 1529 bytes 2005-03-02 18:56:39
C file s_rnge.c 686 bytes 2005-03-02 18:56:39
C file s_stop.c 696 bytes 2005-03-02 18:56:39
C file sfe.c 694 bytes 2005-03-02 18:56:39
C file sig_die.c 634 bytes 2005-03-02 18:56:39
C file signal1.h 842 bytes 2005-03-02 18:56:39
C file signal_.c 232 bytes 2005-03-02 18:56:39
C file sue.c 1803 bytes 2005-03-02 18:56:39
C file system_.c 579 bytes 2005-03-02 18:56:39
C file typesize.c 319 bytes 2005-03-02 18:56:39
C file uio.c 1547 bytes 2005-03-02 18:56:39
C file util.c 916 bytes 2005-03-02 18:56:39
C file wref.c 4508 bytes 2005-03-02 18:56:39
C file wrtfmt.c 7421 bytes 2005-03-02 18:56:39
C file wsfe.c 1236 bytes 2005-03-02 18:56:39
C file wsle.c 630 bytes 2005-03-02 18:56:39
C file wsne.c 412 bytes 2005-03-02 18:56:39
C file xwsne.c 1135 bytes 2005-03-02 18:56:39
C file z_abs.c 201 bytes 2005-03-02 18:56:39
C file z_cos.c 296 bytes 2005-03-02 18:56:39
C file z_div.c 840 bytes 2005-03-02 18:56:39
C file z_exp.c 290 bytes 2005-03-02 18:56:39
C file z_log.c 329 bytes 2005-03-02 18:56:39
C file z_sin.c 292 bytes 2005-03-02 18:56:39
C file z_sqrt.c 514 bytes 2005-03-02 18:56:39

  1 As shipped, "makefile" is a copy of "makefile.u", a Unix makefile.
  2 Variants for other systems have names of the form makefile.* and
  3 have initial comments saying how to invoke them.  You may wish to
  4 copy one of the other makefile.* files to makefile.
  5 
  6 If you use a C++ compiler, first say
  7 
  8         make hadd
  9 
 10 to create a suitable f2c.h from f2c.h0 and f2ch.add.  Otherwise,
 11 
 12         make f2c.h
 13 
 14 will just copy f2c.h0 to f2c.h .
 15 
 16 If your compiler does not recognize ANSI C headers,
 17 compile with KR_headers defined:  either add -DKR_headers
 18 to the definition of CFLAGS in the makefile, or insert
 19 
 20 #define KR_headers
 21 
 22 at the top of f2c.h .
 23 
 24 If your system lacks onexit() and you are not using an ANSI C
 25 compiler, then you should compile main.c with NO_ONEXIT defined.
 26 See the comments about onexit in makefile.u.
 27 
 28 If your system has a double drem() function such that drem(a,b)
 29 is the IEEE remainder function (with double a, b), then you may
 30 wish to compile r_mod.c and d_mod.c with IEEE_drem defined.
 31 
 32 To check for transmission errors, issue the command
 33         make check
 34 or
 35         make -f makefile.u check
 36 
 37 This assumes you have the xsum program whose source, xsum.c,
 38 is distributed as part of "all from f2c/src", and that it
 39 is installed somewhere in your search path.  If you do not
 40 have xsum, you can obtain xsum.c by sending the following E-mail
 41 message to netlib@netlib.bell-labs.com
 42         send xsum.c from f2c/src
 43 
 44 For convenience, the f2c.h0 in this directory is a copy of netlib's
 45 "f2c.h from f2c".  It is best to install f2c.h in a standard place,
 46 so "include f2c.h" will work in any directory without further ado.
 47 Beware that the makefiles do not cause recompilation when f2c.h is
 48 changed.
 49 
 50 On machines, such as those using a DEC Alpha processor, on which
 51 sizeof(short) == 2, sizeof(int) == sizeof(float) == 4, and
 52 sizeof(long) == sizeof(double) == 8, it suffices to modify f2c.h by
 53 removing the first occurrence of "long " on each line containing
 54 "long ".  On Unix systems, you can do this by issuing the commands
 55         mv f2c.h f2c.h0
 56         sed 's/long int /int /' f2c.h0 >f2c.h
 57 On such machines, one can enable INTEGER*8 by uncommenting the typedefs
 58 of longint and ulongint in f2c.h and adjusting them, so they read
 59         typedef long longint;
 60         typedef unsigned long ulongint;
 61 and by compiling libf2c with -DAllow_TYQUAD, as discussed below.
 62 
 63 
 64 Most of the routines in libf2c are support routines for Fortran
 65 intrinsic functions or for operations that f2c chooses not
 66 to do "in line".  There are a few exceptions, summarized below --
 67 functions and subroutines that appear to your program as ordinary
 68 external Fortran routines.
 69 
 70 1.      CALL ABORT prints a message and causes a core dump.
 71 
 72 2.      ERF(r) and DERF(d) and the REAL and DOUBLE PRECISION
 73         error functions (with x REAL and d DOUBLE PRECISION);
 74         DERF must be declared DOUBLE PRECISION in your program.
 75         Both ERF and DERF assume your C library provides the
 76         underlying erf() function (which not all systems do).
 77 
 78 3.      ERFC(r) and DERFC(d) are the complementary error functions:
 79         ERFC(r) = 1 - ERF(r) and DERFC(d) = 1.d0 - DERFC(d)
 80         (except that their results may be more accurate than
 81         explicitly evaluating the above formulae would give).
 82         Again, ERFC and r are REAL, and DERFC and d are DOUBLE
 83         PRECISION (and must be declared as such in your program),
 84         and ERFC and DERFC rely on your system's erfc().
 85 
 86 4.      CALL GETARG(n,s), where n is an INTEGER and s is a CHARACTER
 87         variable, sets s to the n-th command-line argument (or to
 88         all blanks if there are fewer than n command-line arguments);
 89         CALL GETARG(0,s) sets s to the name of the program (on systems
 90         that support this feature).  See IARGC below.
 91 
 92 5.      CALL GETENV(name, value), where name and value are of type
 93         CHARACTER, sets value to the environment value, $name, of
 94         name (or to blanks if $name has not been set).
 95 
 96 6.      NARGS = IARGC() sets NARGS to the number of command-line
 97         arguments (an INTEGER value).
 98 
 99 7.      CALL SIGNAL(n,func), where n is an INTEGER and func is an
100         EXTERNAL procedure, arranges for func to be invoked when
101         
102 If your compiler complains about the signal calls in main.c, s_paus.c,
103 and signal_.c, you may need to adjust signal1.h suitably.  See the
104 comments in signal1.h.
105  n occurs (on systems where this makes sense).
106 
107 8.      CALL SYSTEM(cmd), where cmd is of type CHARACTER, passes
108         cmd to the system's command processor (on systems where
109         this can be done).
110 
111 9.      CALL FLUSH flushes all buffers.
112 
113 10.     FTELL(i) is an INTEGER function that returns the current
114         offset of Fortran unit i (or -1 if unit i is not open).
115 
116 11.     CALL FSEEK(i, offset, whence, *errlab) attemps to move
117         Fortran unit i to the specified offset: absolute offset
118         if whence = 0; relative to the current offset if whence = 1;
119         relative to the end of the file if whence = 2.  It branches
120         to label errlab if unit i is not open or if the call
121         otherwise fails.
122 
123 The routines whose objects are makefile.u's $(I77) are for I/O.
124 The following comments apply to them.
125 
126 If your system lacks /usr/include/local.h ,
127 then you should create an appropriate local.h in
128 this directory.  An appropriate local.h may simply
129 be empty, or it may #define VAX or #define CRAY
130 (or whatever else you must do to make fp.h work right).
131 Alternatively, edit fp.h to suite your machine.
132 
133 If your system lacks /usr/include/fcntl.h , then you
134 should simply create an empty fcntl.h in this directory.
135 If your compiler then complains about creat and open not
136 having a prototype, compile with OPEN_DECL defined.
137 On many systems, open and creat are declared in fcntl.h .
138 
139 If your system's sprintf does not work the way ANSI C
140 specifies -- specifically, if it does not return the
141 number of characters transmitted -- then insert the line
142 
143 #define USE_STRLEN
144 
145 at the end of fmt.h .  This is necessary with
146 at least some versions of Sun software.
147 In particular, if you get a warning about an improper
148 pointer/integer combination in compiling wref.c, then
149 you need to compile with -DUSE_STRLEN .
150 
151 If your system's fopen does not like the ANSI binary
152 reading and writing modes "rb" and "wb", then you should
153 compile open.c with NON_ANSI_RW_MODES #defined.
154 
155 If you get error messages about references to cf->_ptr
156 and cf->_base when compiling wrtfmt.c and wsfe.c or to
157 stderr->_flag when compiling err.c, then insert the line
158 
159 #define NON_UNIX_STDIO
160 
161 at the beginning of fio.h, and recompile everything (or
162 at least those modules that contain NON_UNIX_STDIO).
163 
164 Unformatted sequential records consist of a length of record
165 contents, the record contents themselves, and the length of
166 record contents again (for backspace).  Prior to 17 Oct. 1991,
167 the length was of type int; now it is of type long, but you
168 can change it back to int by inserting
169 
170 #define UIOLEN_int
171 
172 at the beginning of fio.h.  This affects only sue.c and uio.c .
173 
174 If you have a really ancient K&R C compiler that does not understand
175 void, add -Dvoid=int to the definition of CFLAGS in the makefile.
176 
177 On VAX, Cray, or Research Tenth-Edition Unix systems, you may
178 need to add -DVAX, -DCRAY, or -DV10 (respectively) to CFLAGS
179 to make fp.h work correctly.  Alternatively, you may need to
180 edit fp.h to suit your machine.
181 
182 If your compiler complains about the signal calls in main.c, s_paus.c,
183 and signal_.c, you may need to adjust signal1.h suitably.  See the
184 comments in signal1.h.
185 
186 You may need to supply the following non-ANSI routines:
187 
188   fstat(int fileds, struct stat *buf) is similar
189 to stat(char *name, struct stat *buf), except that
190 the first argument, fileds, is the file descriptor
191 returned by open rather than the name of the file.
192 fstat is used in the system-dependent routine
193 canseek (in the libf2c source file err.c), which
194 is supposed to return 1 if it's possible to issue
195 seeks on the file in question, 0 if it's not; you may
196 need to suitably modify err.c .  On non-UNIX systems,
197 you can avoid references to fstat and stat by compiling
198 with NON_UNIX_STDIO defined; in that case, you may need
199 to supply access(char *Name,0), which is supposed to
200 return 0 if file Name exists, nonzero otherwise.
201 
202   char * mktemp(char *buf) is supposed to replace the
203 6 trailing X's in buf with a unique number and then
204 return buf.  The idea is to get a unique name for
205 a temporary file.
206 
207 On non-UNIX systems, you may need to change a few other,
208 e.g.: the form of name computed by mktemp() in endfile.c and
209 open.c; the use of the open(), close(), and creat() system
210 calls in endfile.c, err.c, open.c; and the modes in calls on
211 fopen() and fdopen() (and perhaps the use of fdopen() itself
212 -- it's supposed to return a FILE* corresponding to a given
213 an integer file descriptor) in err.c and open.c (component ufmt
214 of struct unit is 1 for formatted I/O -- text mode on some systems
215 -- and 0 for unformatted I/O -- binary mode on some systems).
216 Compiling with -DNON_UNIX_STDIO omits all references to creat()
217 and almost all references to open() and close(), the exception
218 being in the function f__isdev() (in open.c).
219 
220 If you wish to use translated Fortran that has funny notions
221 of record length for direct unformatted I/O (i.e., that assumes
222 RECL= values in OPEN statements are not bytes but rather counts
223 of some other units -- e.g., 4-character words for VMS), then you
224 should insert an appropriate #define for url_Adjust at the
225 beginning of open.c .  For VMS Fortran, for example,
226 #define url_Adjust(x) x *= 4
227 would suffice.
228 
229 By default, Fortran I/O units 5, 6, and 0 are pre-connected to
230 stdin, stdout, and stderr, respectively.  You can change this
231 behavior by changing f_init() in err.c to suit your needs.
232 Note that f2c assumes READ(*... means READ(5... and WRITE(*...
233 means WRITE(6... .  Moreover, an OPEN(n,... statement that does
234 not specify a file name (and does not specify STATUS='SCRATCH')
235 assumes FILE='fort.n' .  You can change this by editing open.c
236 and endfile.c suitably.
237 
238 Unless you adjust the "#define MXUNIT" line in fio.h, Fortran units
239 0, 1, ..., 99 are available, i.e., the highest allowed unit number
240 is MXUNIT - 1.
241 
242 Lines protected from compilation by #ifdef Allow_TYQUAD
243 are for a possible extension to 64-bit integers in which
244 integer = int = 32 bits and longint = long = 64 bits.
245 
246 The makefile does not attempt to compile pow_qq.c, qbitbits.c,
247 and qbitshft.c, which are meant for use with INTEGER*8.  To use
248 INTEGER*8, you must modify f2c.h to declare longint and ulongint
249 appropriately; then add $(QINT) to the end of the makefile's
250 dependency list for libf2c.a (if makefile is a copy of makefile.u;
251 for the PC makefiles, add pow_qq.obj qbitbits.obj qbitshft.obj
252 to the library's dependency list and adjust libf2c.lbc or libf2c.sy
253 accordingly).  Also add -DAllow_TYQUAD to the makefile's CFLAGS
254 assignment.  To make longint and ulongint available, it may suffice
255 to add -DINTEGER_STAR_8 to the CFLAGS assignment.
256 
257 Following Fortran 90, s_cat.c and s_copy.c allow the target of a
258 (character string) assignment to be appear on its right-hand, at
259 the cost of some extra overhead for all run-time concatenations.
260 If you prefer the  extra efficiency that comes with the Fortran 77
261 requirement that the left-hand side of a character assignment not
262 be involved in the right-hand side, compile s_cat.c and s_copy.c
263 with -DNO_OVERWRITE .
264 
265 Extensions (Feb. 1993) to NAMELIST processing:
266  1. Reading a ? instead of &name (the start of a namelist) causes
267 the namelist being sought to be written to stdout (unit 6);
268 to omit this feature, compile rsne.c with -DNo_Namelist_Questions.
269  2. Reading the wrong namelist name now leads to an error message
270 and an attempt to skip input until the right namelist name is found;
271 to omit this feature, compile rsne.c with -DNo_Bad_Namelist_Skip.
272  3. Namelist writes now insert newlines before each variable; to omit
273 this feature, compile xwsne.c with -DNo_Extra_Namelist_Newlines.
274  4. (Sept. 1995) When looking for the &name that starts namelist
275 input, lines whose first non-blank character is something other
276 than &, $, or ? are treated as comment lines and ignored, unless
277 rsne.c is compiled with -DNo_Namelist_Comments.
278 
279 Nonstandard extension (Feb. 1993) to open: for sequential files,
280 ACCESS='APPEND' (or access='anything else starting with "A" or "a"')
281 causes the file to be positioned at end-of-file, so a write will
282 append to the file.
283 
284 Some buggy Fortran programs use unformatted direct I/O to write
285 an incomplete record and later read more from that record than
286 they have written.  For records other than the last, the unwritten
287 portion of the record reads as binary zeros.  The last record is
288 a special case: attempting to read more from it than was written
289 gives end-of-file -- which may help one find a bug.  Some other
290 Fortran I/O libraries treat the last record no differently than
291 others and thus give no help in finding the bug of reading more
292 than was written.  If you wish to have this behavior, compile
293 uio.c with -DPad_UDread .
294 
295 If you want to be able to catch write failures (e.g., due to a
296 disk being full) with an ERR= specifier, compile dfe.c, due.c,
297 sfe.c, sue.c, and wsle.c with -DALWAYS_FLUSH.  This will lead to
298 slower execution and more I/O, but should make ERR= work as
299 expected, provided fflush returns an error return when its
300 physical write fails.
301 
302 Carriage controls are meant to be interpreted by the UNIX col
303 program (or a similar program).  Sometimes it's convenient to use
304 only ' ' as the carriage control character (normal single spacing).
305 If you compile lwrite.c and wsfe.c with -DOMIT_BLANK_CC, formatted
306 external output lines will have an initial ' ' quietly omitted,
307 making use of the col program unnecessary with output that only
308 has ' ' for carriage control.
309 
310 The Fortran 77 Standard leaves it up to the implementation whether
311 formatted writes of floating-point numbers of absolute value < 1 have
312 a zero before the decimal point.  By default, libI77 omits such
313 superfluous zeros, but you can cause them to appear by compiling
314 lwrite.c, wref.c, and wrtfmt.c with -DWANT_LEAD_0 .
315 
316 If your (Unix) system lacks a ranlib command, you don't need it.
317 Either comment out the makefile's ranlib invocation, or install
318 a harmless "ranlib" command somewhere in your PATH, such as the
319 one-line shell script
320 
321         exit 0
322 
323 or (on some systems)
324 
325         exec /usr/bin/ar lts $1 >/dev/null
326 
327 By default, the routines that implement complex and double complex
328 division, c_div.c and z_div.c, call sig_die to print an error message
329 and exit if they see a divisor of 0, as this is sometimes helpful for
330 debugging.  On systems with IEEE arithmetic, compiling c_div.c and
331 z_div.c with -DIEEE_COMPLEX_DIVIDE causes them instead to set both
332 the real and imaginary parts of the result to +INFINITY if the
333 numerator is nonzero, or to NaN if it vanishes.

~ [ source navigation ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.