mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-18 18:34:16 +08:00
* runtime directory -- moved into "libfc2" in the toplevel
directory. * Make-lang.in: Remove all runtime related stuff. Starting libfc2 rearrangement. From-SVN: r17567
This commit is contained in:
parent
3464ce01a5
commit
0dfb6849ef
@ -1,3 +1,9 @@
|
||||
Sun Feb 1 02:26:58 1998 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* runtime directory -- moved into "libfc2" in the toplevel
|
||||
directory.
|
||||
* Make-lang.in: Remove all runtime related stuff.
|
||||
|
||||
Sun Jan 25 12:32:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* Make-lang.in (f77.stage1): Depend on stage1-start so parallel
|
||||
|
@ -75,17 +75,6 @@ F77_FLAGS_TO_PASS = \
|
||||
# you can just change it here if you like.
|
||||
F77_INSTALL_FLAG = [ -f f77-install-ok -o -f $(srcdir)/f77-install-ok ]
|
||||
|
||||
# This flag is similar to F77_INSTALL_FLAG, but controls whether
|
||||
# to install (ovewrite) f2c-related items on this system. Currently
|
||||
# these are `include/f2c.h' and `lib/libf2c.a', though at some point
|
||||
# `bin/f2c' itself might be added to the g77 distribution.
|
||||
F2C_INSTALL_FLAG = [ -f f2c-install-ok -o -f $(srcdir)/f2c-install-ok ]
|
||||
|
||||
# This flag controls whether it is safe to install gcc's libf2c.a
|
||||
# even when there's already a lib/libf2c.a installed (which, unless
|
||||
# F2C_INSTALL_FLAG is set, will be left alone).
|
||||
F2CLIBOK = [ -f f2c-exists-ok -o -f $(srcdir)/f2c-exists-ok ]
|
||||
|
||||
# Actual names to use when installing a native compiler.
|
||||
F77_INSTALL_NAME = `t='$(program_transform_name)'; echo f77 | sed $$t`
|
||||
G77_INSTALL_NAME = `t='$(program_transform_name)'; echo g77 | sed $$t`
|
||||
@ -101,11 +90,11 @@ G77_CROSS_NAME = `t='$(program_transform_cross_name)'; echo g77 | sed $$t`
|
||||
F77 f77: f771
|
||||
|
||||
# Tell GNU make to ignore these if they exist.
|
||||
.PHONY: F77 f77 f77-runtime f77-runtime-unsafe f77.all.build f77.all.cross \
|
||||
f77.start.encap f77.rest.encap f77.info f77.dvi maybe-f2c \
|
||||
f77.install-normal install-libf77 install-f2c-all install-f2c-header \
|
||||
install-f2c-lib f77.install-common f77.install-info f77.install-man \
|
||||
f77.uninstall f77.mostlyclean f77.clean f77.distclean f77.extraclean \
|
||||
.PHONY: F77 f77 f77.all.build f77.all.cross \
|
||||
f77.start.encap f77.rest.encap f77.info f77.dvi \
|
||||
f77.install-normal install-libf77 \
|
||||
f77.install-common f77.install-info f77.install-man \
|
||||
f77.uninstall f77.mostlyclean f77.clean f77.distclean \
|
||||
f77.maintainer-clean f77.realclean f77.stage1 f77.stage2 f77.stage3 \
|
||||
f77.stage4 f77.distdir f77.rebuilt
|
||||
|
||||
@ -245,99 +234,13 @@ f771: $(P) $(F77_SRCS) $(LIBDEPS) stamp-objlist f/Makefile
|
||||
f/Makefile: $(srcdir)/f/Makefile.in $(srcdir)/configure
|
||||
$(SHELL) config.status
|
||||
|
||||
# Note that the runtime is built in the top-level directory rather
|
||||
# than in f/runtime a la the Cygnus CHILL example; then xgcc -B./ will
|
||||
# find it. Use an absolute name for GCC_FOR_TARGET (so we don't have
|
||||
# to keep stage? links around everywhere) unless this value has been
|
||||
# overridden from the default "./xgcc -B./", hence the case statement.
|
||||
# We depend on GCC_PASSES through f/runtime/Makefile.
|
||||
stmp-headers = stmp-headers # to be overrideable in unsafe version
|
||||
# Depend on stmp-headers, not stmp-int-hdrs, since libF77 needs float.h.
|
||||
f77-runtime: f/runtime/Makefile include/f2c.h $(stmp-headers) \
|
||||
f/runtime/libF77/Makefile f/runtime/libI77/Makefile f/runtime/libU77/Makefile
|
||||
case "$(LANGUAGES)" in \
|
||||
*f77*) top=`pwd`; \
|
||||
cd f/runtime && $(MAKE) \
|
||||
GCC_FOR_TARGET="`case '$(GCC_FOR_TARGET)' in \
|
||||
'./xgcc -B./') echo $${top}/xgcc -B$${top}/;; \
|
||||
*) echo '$(GCC_FOR_TARGET)';; esac`" \
|
||||
GCC_FLAGS="$(GCC_FLAGS)" $(F77_FLAGS_TO_PASS) \
|
||||
all ;; \
|
||||
esac
|
||||
|
||||
# This one doesn't depend on cc1 etc. but f2c.h may not be found,
|
||||
# in particular, at present...
|
||||
f77-runtime-unsafe:
|
||||
$(MAKE) stmp-headers= GCC_PARTS= f77-runtime
|
||||
|
||||
# The configuration of the runtime system relies on an autoconf-type
|
||||
# configure, not a Cygnus-type one. It needs to be run *after* the
|
||||
# appropriate (cross-)compiler has been built, thus depend on GCC_PARTS.
|
||||
# NB, sh uses the *first* value of $a from `a=fred a=joe prog'.
|
||||
stmp-f2c.h: \
|
||||
$(srcdir)/f/runtime/f2c.h.in \
|
||||
$(srcdir)/f/com.h $(srcdir)/f/proj.h \
|
||||
$(srcdir)/f/runtime/Makefile.in \
|
||||
$(srcdir)/f/runtime/libF77/Makefile.in \
|
||||
$(srcdir)/f/runtime/libI77/Makefile.in \
|
||||
$(srcdir)/f/runtime/libU77/Makefile.in \
|
||||
$(srcdir)/f/runtime/configure \
|
||||
$(srcdir)/f/runtime/libU77/configure \
|
||||
$(GCC_PARTS)
|
||||
# The make "stage?" in compiler spec. is fully qualified as above
|
||||
rm -f stmp-f2c.h
|
||||
case "$(LANGUAGES)" in \
|
||||
*f77*) top=`pwd`; \
|
||||
src=`cd $(srcdir); pwd`; \
|
||||
cd f/runtime; \
|
||||
$(F77_FLAGS_TO_PASS) \
|
||||
CC="`case '$(GCC_FOR_TARGET)' in \
|
||||
'./xgcc -B./') echo $${top}/xgcc -B$${top}/;; \
|
||||
*) echo '$(GCC_FOR_TARGET)';; esac`" \
|
||||
CONFIG_SITE=/dev/null $(SHELL) \
|
||||
$${src}/f/runtime/configure --srcdir=$${src}/f/runtime ;; \
|
||||
esac
|
||||
case "$(LANGUAGES)" in \
|
||||
*f77*) top=`pwd`; \
|
||||
src=`cd $(srcdir); pwd`; \
|
||||
cd f/runtime/libU77; \
|
||||
$(F77_FLAGS_TO_PASS) \
|
||||
CC="`case '$(GCC_FOR_TARGET)' in \
|
||||
'./xgcc -B./') echo $${top}/xgcc -B$${top}/;; \
|
||||
*) echo '$(GCC_FOR_TARGET)';; esac`" \
|
||||
CONFIG_SITE=/dev/null $(SHELL) \
|
||||
$${src}/f/runtime/libU77/configure --srcdir=$${src}/f/runtime/libU77 ;; \
|
||||
esac
|
||||
touch stmp-f2c.h
|
||||
|
||||
# Support parallel build.
|
||||
include/f2c.h \
|
||||
f/runtime/Makefile \
|
||||
f/runtime/libF77/Makefile \
|
||||
f/runtime/libI77/Makefile \
|
||||
f/runtime/libU77/Makefile: stmp-f2c.h
|
||||
|
||||
#For now, omit f2c stuff. -- burley
|
||||
#f2c: stmp-headers f/f2c/Makefile
|
||||
# cd f/f2c; $(MAKE) all
|
||||
#
|
||||
#f/f2c/Makefile: $(srcdir)/f/f2c/Makefile.in $(GCC_PARTS) \
|
||||
# $(srcdir)/config/$(xmake_file) $(srcdir)/config/$(tmake_file)
|
||||
# top=`pwd`; cd f/f2c; \
|
||||
# $${top}/f/f2c/configure --srcdir=$${top}/f/f2c
|
||||
#
|
||||
# Build hooks:
|
||||
|
||||
# I'm not sure there's a way of getting f2c into here conditionally on
|
||||
# the --enable-f2c flag detected by config-lang.in so kluge it with the
|
||||
# maybe-f2c target by looking at STAGESTUFF.
|
||||
# We need to build the runtime after libgcc.a, so as to avoid a circular
|
||||
# dependence on cplib2.ready. So instead of putting it in LANGUAGES (via
|
||||
# the f77 rule), it goes at the end of each all.* build rule.
|
||||
f77.all.build: g77$(exeext) maybe-f2c f77-runtime
|
||||
f77.all.cross: g77-cross$(exeext) maybe-f2c f77-runtime
|
||||
f77.start.encap: g77$(exeext) maybe-f2c
|
||||
f77.rest.encap: f77-runtime
|
||||
f77.all.build: g77$(exeext)
|
||||
f77.all.cross: g77-cross$(exeext)
|
||||
f77.start.encap: g77$(exeext)
|
||||
f77.rest.encap:
|
||||
|
||||
f77.info: f/g77.info
|
||||
f77.dvi: f/g77.dvi
|
||||
@ -393,69 +296,14 @@ $(srcdir)/f/NEWS: f/news0.texi f/news.texi
|
||||
cd $(srcdir)/f; $(MAKEINFO) -D NEWSONLY --no-header --no-split \
|
||||
--no-validate news0.texi -o NEWS
|
||||
|
||||
$(srcdir)/f/runtime/configure: $(srcdir)/f/runtime/configure.in
|
||||
cd $(srcdir)/f/runtime && $(MAKE) srcdir=. -f Makefile.in rebuilt
|
||||
$(srcdir)/f/runtime/libU77/configure: $(srcdir)/f/runtime/libU77/configure.in
|
||||
cd $(srcdir)/f/runtime && $(MAKE) srcdir=. -f Makefile.in rebuilt
|
||||
|
||||
f77.rebuilt: $(srcdir)/f/g77.info $(srcdir)/f/BUGS $(srcdir)/f/INSTALL \
|
||||
$(srcdir)/f/NEWS $(srcdir)/f/runtime/configure \
|
||||
$(srcdir)/f/runtime/libU77/configure
|
||||
$(srcdir)/f/NEWS
|
||||
|
||||
maybe-f2c:
|
||||
#For now, omit f2c stuff. -- burley
|
||||
# case "$(STAGESTUFF)" in *f2c*) $(MAKE) f2c;; esac
|
||||
#
|
||||
# Install hooks:
|
||||
# f771 is installed elsewhere as part of $(COMPILERS).
|
||||
|
||||
f77.install-normal: install-libf77 install-f2c-all
|
||||
|
||||
# Install the F77 run time library.
|
||||
install-libf77: f77-runtime
|
||||
# Check for the presence of other versions of the library and includes.
|
||||
# Test libf2c.* in case of a shared version, for instance.
|
||||
@if test -z "$(F2CLIBOK)" && \
|
||||
test -z "$(F2C_INSTALL_FLAG)" && \
|
||||
test "`echo $(libdir)/libf2c.*`" != "$(libdir)/libf2c.*"; then \
|
||||
echo ; \
|
||||
echo 'You already have a version of libf2c installed as' $(libdir)/libf2c.*; \
|
||||
echo 'To use g77 this must be consistent with the one that will be built.'; \
|
||||
echo 'You should probably delete it and/or install ./libf2c.a in its place.'; \
|
||||
echo 'Resume the "make install" after removing the existing library or'; \
|
||||
echo 'define the make variable F2CLIBOK to avoid this test.'; \
|
||||
echo 'Check also for' $(includedir)/f2c.h 'per INSTALL instructions.'; \
|
||||
echo '(Note that a quick and easy way to resume "make -k install" is to'; \
|
||||
echo 'use "make install-libf77".)'; \
|
||||
exit 1; else true; fi
|
||||
if [ -f libf2c.a ] ; then \
|
||||
$(INSTALL_DATA) libf2c.a $(libsubdir)/libf2c.a; \
|
||||
if $(RANLIB_TEST) ; then \
|
||||
(cd $(libsubdir); $(RANLIB) libf2c.a); else true; fi; \
|
||||
chmod a-x $(libsubdir)/libf2c.a; \
|
||||
else true; fi
|
||||
if [ -f include/f2c.h ] ; then \
|
||||
$(INSTALL_DATA) include/f2c.h $(libsubdir)/include/f2c.h; \
|
||||
else true; fi
|
||||
|
||||
# Install the f2c-related stuff in the directories
|
||||
# where f2c and vanilla ld might look for them.
|
||||
|
||||
install-f2c-all: install-f2c-header install-f2c-lib
|
||||
|
||||
install-f2c-header:
|
||||
-if test -n "$(F2C_INSTALL_FLAG)" && test -f include/f2c.h; then \
|
||||
$(INSTALL_DATA) include/f2c.h $(includedir)/f2c.h; \
|
||||
chmod a+r $(includedir)/f2c.h; \
|
||||
else true; fi
|
||||
|
||||
install-f2c-lib:
|
||||
-if test -n "$(F2C_INSTALL_FLAG)" && test -f libf2c.a; then \
|
||||
$(INSTALL_DATA) libf2c.a $(libdir)/libf2c.a; \
|
||||
if $(RANLIB_TEST) ; then \
|
||||
(cd $(libdir); $(RANLIB) libf2c.a); else true; fi; \
|
||||
chmod a-x $(libdir)/libf2c.a; \
|
||||
else true; fi
|
||||
f77.install-normal: install-libf77
|
||||
|
||||
# Install the driver program as $(target)-g77
|
||||
# and also as either g77 (if native) or $(tooldir)/bin/g77.
|
||||
@ -523,11 +371,6 @@ f77.uninstall:
|
||||
-rm -rf $(mandir)/$(G77_INSTALL_NAME)$(manext)
|
||||
-rm -rf $(mandir)/$(G77_CROSS_NAME)$(manext)
|
||||
-rm -rf $(infodir)/g77.info*
|
||||
-rm -rf $(libsubdir)/libf2c.a
|
||||
-if $(F2C_INSTALL_FLAG) ; then \
|
||||
rm -rf include/f2c.h ; \
|
||||
rm -rf $(libdir)/libf2c.a ; \
|
||||
fi
|
||||
#
|
||||
# Clean hooks:
|
||||
# A lot of the ancillary files are deleted by the main makefile.
|
||||
@ -536,72 +379,27 @@ f77.uninstall:
|
||||
f77.mostlyclean:
|
||||
-rm -f f/*$(objext)
|
||||
-rm -f f/fini f/f771 f/stamp-str f/str-*.h f/str-*.j f/intdoc f/ansify f/intdoc.h0
|
||||
-cd f/runtime; $(MAKE) mostlyclean
|
||||
-cd $(srcdir)/f/runtime; $(MAKE) -f Makefile.in mostlyclean
|
||||
f77.clean:
|
||||
-rm -f g77.c
|
||||
-cd f/runtime; $(MAKE) clean
|
||||
-cd $(srcdir)/f/runtime; $(MAKE) -f Makefile.in clean
|
||||
f77.distclean:
|
||||
-cd f/runtime; $(MAKE) distclean
|
||||
-cd $(srcdir)/f/runtime; $(MAKE) -f Makefile.in distclean
|
||||
-rm -f f/Makefile
|
||||
# like gcc's extraclean, which does clean f/ for us, but not f/gbe,
|
||||
# f/runtime, f/runtime/libF77, f/runtime/libI77, and f/runtime/libU77,
|
||||
# so do those.
|
||||
f77.extraclean: f77.distclean
|
||||
-rm -f f/*/=* f/*/"#"* f/*/*~*
|
||||
-rm -f f/*/patch* f/*/*.orig f/*/*.rej
|
||||
-rm -f f/*/*.dvi f/*/*.oaux f/*/*.d f/*/*.[zZ] f/*/*.gz
|
||||
-rm -f f/*/*.tar f/*/*.xtar f/*/*diff f/*/*.diff.* f/*/*.tar.* f/*/*.xtar.* f/*/*diffs
|
||||
-rm -f f/*/*lose f/*/*.s f/*/*.s[0-9] f/*/*.i
|
||||
-rm -f f/*/*/=* f/*/*/"#"* f/*/*/*~*
|
||||
-rm -f f/*/*/patch* f/*/*/*.orig f/*/*/*.rej
|
||||
-rm -f f/*/*/*.dvi f/*/*/*.oaux f/*/*/*.d f/*/*/*.[zZ] f/*/*/*.gz
|
||||
-rm -f f/*/*/*.tar f/*/*/*.xtar f/*/*/*diff f/*/*/*.diff.* f/*/*/*.tar.* f/*/*/*.xtar.* f/*/*/*diffs
|
||||
-rm -f f/*/*/*lose f/*/*/*.s f/*/*/*.s[0-9] f/*/*/*.i
|
||||
# realclean is the pre-2.7.0 name for maintainer-clean
|
||||
f77.maintainer-clean f77.realclean: f77.distclean
|
||||
-cd f/runtime; $(MAKE) maintainer-clean
|
||||
-cd $(srcdir)/f/runtime; $(MAKE) -f Makefile.in maintainer-clean;; \
|
||||
-rm -f f/g77.info* f/g77.*aux f/TAGS f/BUGS f/INSTALL f/NEWS f/intdoc.texi
|
||||
#
|
||||
# Stage hooks:
|
||||
# The main makefile has already created stage?/f.
|
||||
|
||||
G77STAGESTUFF = f/*$(objext) f/fini f/stamp-str f/str-*.h f/str-*.j
|
||||
RUNTIMESTAGESTUFF = f/runtime/config.cache f/runtime/config.log \
|
||||
f/runtime/config.status f/runtime/Makefile f/runtime/stamp-lib
|
||||
LIBF77STAGESTUFF = f/runtime/libF77/*$(objext) f/runtime/libF77/Makefile
|
||||
LIBI77STAGESTUFF = f/runtime/libI77/*$(objext) f/runtime/libI77/Makefile
|
||||
LIBU77STAGESTUFF = f/runtime/libU77/*$(objext) f/runtime/libU77/Makefile \
|
||||
f/runtime/libU77/config.cache f/runtime/libU77/config.log \
|
||||
f/runtime/libU77/config.status
|
||||
|
||||
f77.stage1: stage1-start
|
||||
-mv $(G77STAGESTUFF) stage1/f
|
||||
-mv $(RUNTIMESTAGESTUFF) stage1/f/runtime
|
||||
-mv $(LIBF77STAGESTUFF) stage1/f/runtime/libF77
|
||||
-mv $(LIBI77STAGESTUFF) stage1/f/runtime/libI77
|
||||
-mv $(LIBU77STAGESTUFF) stage1/f/runtime/libU77
|
||||
f77.stage2: stage2-start
|
||||
-mv $(G77STAGESTUFF) stage2/f
|
||||
-mv $(RUNTIMESTAGESTUFF) stage2/f/runtime
|
||||
-mv $(LIBF77STAGESTUFF) stage2/f/runtime/libF77
|
||||
-mv $(LIBI77STAGESTUFF) stage2/f/runtime/libI77
|
||||
-mv $(LIBU77STAGESTUFF) stage2/f/runtime/libU77
|
||||
f77.stage3: stage3-start
|
||||
-mv $(G77STAGESTUFF) stage3/f
|
||||
-mv $(RUNTIMESTAGESTUFF) stage3/f/runtime
|
||||
-mv $(LIBF77STAGESTUFF) stage3/f/runtime/libF77
|
||||
-mv $(LIBI77STAGESTUFF) stage3/f/runtime/libI77
|
||||
-mv $(LIBU77STAGESTUFF) stage3/f/runtime/libU77
|
||||
f77.stage4: stage4-start
|
||||
-mv $(G77STAGESTUFF) stage4/f
|
||||
-mv $(RUNTIMESTAGESTUFF) stage4/f/runtime
|
||||
-mv $(LIBF77STAGESTUFF) stage4/f/runtime/libF77
|
||||
-mv $(LIBI77STAGESTUFF) stage4/f/runtime/libI77
|
||||
-mv $(LIBU77STAGESTUFF) stage4/f/runtime/libU77
|
||||
#
|
||||
# Maintenance hooks:
|
||||
|
||||
|
@ -1,787 +0,0 @@
|
||||
Tue Sep 30 00:41:39 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
Do a better job of printing the offending FORMAT string
|
||||
when producing a diagnostic:
|
||||
* libI77/err.c (f__fmtlen): New variable to hold operating
|
||||
length of format string.
|
||||
(f__fatal): Use new variable to limit length of printed string.
|
||||
* libI77/fmt.c (f_s): Don't skip spaces after closing paren,
|
||||
so nicer message results (and nested case already skips them).
|
||||
(pars_f): Record operating length of format string as indicated
|
||||
by a successful call to f_s, or ad-hoc-calculate it if failure,
|
||||
limiting the length to 80 characters (and stopping at NUL).
|
||||
(do_fio): Use new variable to limit length of printed string.
|
||||
* libI77/fmt.h (f__fmtlen): Declare new variable.
|
||||
* libI77/lread.c (c_le): Set new variable to known length.
|
||||
|
||||
Mon Sep 29 16:30:31 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
Update to Netlib version of 1997-09-23:
|
||||
* libF77/dtime_.c (dtime_), libF77/etime_.c (dtime_):
|
||||
Return `double' instead of `float' (these are not used
|
||||
in g77's version of libf2c).
|
||||
* libI77/fmt.c, libI77/fmt.h, libI77/rdfmt.c, libI77/wrtfmt.c:
|
||||
Support machines with 64-bit pointers and 32-bit ints (e.g.
|
||||
Linux on DEC Alpha).
|
||||
|
||||
1997-09-19 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libU77/dtime_.c (G77_dtime_0): Fix types in HAVE_GETRUSAGE case
|
||||
so as not to truncate results to integer values.
|
||||
|
||||
Tue Sep 9 00:33:24 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* Version 0.5.21 released.
|
||||
|
||||
Mon Sep 8 19:39:01 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libI77/close.c (f_exit): Fix thinko, inverted test
|
||||
of whether initialization done, so exiting now closes
|
||||
open units again.
|
||||
|
||||
Tue Aug 26 01:42:21 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
From Jim Wilson:
|
||||
* configure.in: Make sure RANLIB_TEST is set also.
|
||||
|
||||
From Robert Lipe <robertl@dgii.com>:
|
||||
* libU77/getcwd_.c, libU77/hostnm_.c, libU77/lstat_.c:
|
||||
Also #include <errno.h>, to define ENOSYS.
|
||||
|
||||
Tue Aug 26 01:25:58 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* Makefile.in (stamp-lib): Put all f2cext.c objects in
|
||||
a temp directory named libE77, then `ar' them all at
|
||||
once into libf2c.a, to get the job done a bit faster.
|
||||
Still remove the objects (and libE77 directory) afterward.
|
||||
|
||||
Sun Aug 24 05:04:35 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libU77/rand_.c (G77_rand_0), libU77/dtime_.c (G77_dtime_0),
|
||||
libU77/etime_.c (G77_etime_0), libU77/secnds_.c (G77_secnds_0),
|
||||
libU77/second_.c (G77_second_0): Really return `double', not
|
||||
`doublereal', since the result is cast to `float'.
|
||||
* f2cext.c: (rand_, dtime_, etime_, secnds_, second_): Ditto.
|
||||
(erf_, erfc_, besj0_, besj1_, besjn_, besy0_, besy1_,
|
||||
besyn_, dbesj0_, dbesj1_, dbesjn_, dbesy0_, dbesy1_,
|
||||
dbesyn_): All of these return `double', not `doublereal',
|
||||
as they either have `float' or `double' results.
|
||||
* libU77/bes.c (besj0_, besj1_, besjn_, besy0_, besy1_,
|
||||
besyn_): Ditto.
|
||||
* libU77/dbes.c (dbesj0_, dbesj1_, dbesjn_, dbesy0_, dbesy1_,
|
||||
dbesyn_): Ditto.
|
||||
|
||||
Update to Netlib version of 1997-08-16:
|
||||
* libI77/iio.c: Fix bug in internal writes to an array
|
||||
of character strings.
|
||||
|
||||
* Makefile.in (UOBJ): Restore fixes made by Dan Pettet I
|
||||
lost, which included the addition of mclock_.o already noted
|
||||
below, plus adding symlnk_.o.
|
||||
|
||||
Thu Aug 21 03:58:34 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* Makefile.in (UOBJ): Add mclock_.o, thanks to Mumit Khan!
|
||||
|
||||
1997-08-21 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libU77/alarm_.c: Fix return type: `integer'.
|
||||
|
||||
Mon Aug 11 20:12:42 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* Makefile.in ($(lib), stamp-lib): Ensure that library
|
||||
gets fully updated even if updating was aborted earlier.
|
||||
|
||||
* libU77/hostnm_.c (G77_hostnm_0): Return ENOSYS and stuff
|
||||
in errno if system has no gethostname() function.
|
||||
|
||||
* libU77/lstat_.c (G77_lstat_0): Return ENOSYS and stuff
|
||||
in errno if system has no lstat() function.
|
||||
|
||||
* libU77/getcwd_.c (G77_getcwd_0): Return ENOSYS and stuff
|
||||
in errno if system has no getcwd() or getwd() function.
|
||||
Test HAVE_GETCWD properly.
|
||||
|
||||
* libU77/symlnk_.c (G77_symlink_0): Return ENOSYS and stuff
|
||||
in errno if system has no symlink() function.
|
||||
|
||||
* libU77/mclock_.c (G77_mclock_0): Return -1 if system
|
||||
has no clock() function.
|
||||
|
||||
Mon Aug 11 01:55:36 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* Makefile.in (F2CEXT): Add `alarm' to this list.
|
||||
|
||||
* f2cext.c (alarm_): Fix some typos in this function.
|
||||
Delete third `status' argument.
|
||||
|
||||
* libU77/alarm_.c: Delete third `status' argument,
|
||||
as caller gets this from function result; return
|
||||
status value as function result for caller.
|
||||
|
||||
* configure.in: Rename `ac_cv_struct_FILE' to
|
||||
`g77_cv_struct_FILE' according to 1997-06-26 change.
|
||||
|
||||
1997-08-06 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libU77/vxtidate_.c: Correct day/month argument order.
|
||||
* f2cext.c: Likewise.
|
||||
|
||||
1997-07-07 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* f2cext.c: Add alarm_.
|
||||
|
||||
* Makefile.in, libU77/Makefile.in: Add alarm_.
|
||||
|
||||
* libU77/alarm_.c: New file.
|
||||
|
||||
1997-06-26 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* configure.in: Generally use prefix `g77_' for cached values
|
||||
we've invented, not `ac_'.
|
||||
|
||||
Tue Jun 24 18:50:06 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libI77/ilnw.c (s_wsni): Call f_init() here.
|
||||
(s_wsli): Ditto.
|
||||
(e_wsli): Turn off "doing I/O" flag here.
|
||||
|
||||
1997-06-20 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* runtime/configure.in: Check for cygwin32 after Mumit Khan (but
|
||||
differently); if cygwin32 define NON_UNIX_STDIO and don't define
|
||||
NON_ANSI_RW_MODES.
|
||||
|
||||
Tue Jun 01 06:26:29 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libI77/rsne.c (nl_init): Don't call f_init() here,
|
||||
since s_rsne() already does.
|
||||
(c_lir): Call f_init() here instead.
|
||||
* libI77/rsli.c (e_rsli): Turn off "doing I/O" flag here.
|
||||
* libI77/sue.c (e_rsue): Ditto.
|
||||
|
||||
Sun Jun 22 23:27:22 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libI77/fio.h (err): Mark I/O as no longer in progress
|
||||
before returning a non-zero error indicator (since
|
||||
that tells the caller to jump over the remaining I/O
|
||||
calls, including the corresponding `e_whatever' call).
|
||||
* libI77/err.c (endif): Ditto.
|
||||
* libI77/sfe.c (e_wsfe): Ditto.
|
||||
* libI77/lread.c (ERR): Ditto.
|
||||
* libI77/lread.c (l_read): Ditto by having quad case
|
||||
use ERR, not return, to return non-zero error code.
|
||||
|
||||
Sat Jun 21 12:31:28 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libI77/open.c (fk_open): Temporarily turn off
|
||||
"doing I/O" flag during f_open() call to avoid recursive
|
||||
I/O error.
|
||||
|
||||
Tue Jun 17 22:40:47 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* err.c, close.c, rewind.c, inquire.c, backspace.c, endfile.c,
|
||||
iio.c, open.c, Version.c, sfe.c, wsle.c, rsne.c, sue.c, rsfe.c,
|
||||
lread.c, wsfe.c, fio.h, due.c, dfe.c: Change f__init from
|
||||
`flag' to `int' and to signal not just whether initialization
|
||||
has happened (bit 0), but also whether I/O is in progress
|
||||
already (bit 1). Consistently produce a clear diagnostic
|
||||
in cases of recursive I/O. Avoid infinite recursion in
|
||||
f__fatal, in case sig_die triggers another error. Don't
|
||||
output info on internals if not initialized in f__fatal. Don't
|
||||
bother closing units in f_exit if initialization hasn't
|
||||
happened.
|
||||
|
||||
Tue Jun 10 12:57:44 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
Update to Netlib version of 1997-06-09:
|
||||
* libI77/err.c, libI77/lread.c, libI77/rdfmt.c,
|
||||
libI77/wref.c: Move some #include's around.
|
||||
|
||||
Mon Jun 9 18:11:56 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libU77/kill_.c (kill_): KR_headers version needed
|
||||
`*' in front of args in decls.
|
||||
|
||||
Sun May 25 03:16:53 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
Update to Netlib version of 1997-05-24:
|
||||
* libF77/README, libF77/Version.c, libF77/main.c,
|
||||
libF77/makefile, libF77/s_paus.c, libF77/signal1.h,
|
||||
libF77/signal_.c, libF77/z_div.c, libI77/Notice,
|
||||
libI77/README, libI77/Version.c, libI77/dfe.c,
|
||||
libI77/err.c, libI77/fmt.c, libI77/makefile,
|
||||
libI77/rawio.h: Apply many, but not all, of the changes
|
||||
made to libf2c since last update.
|
||||
* libF77/Makefile.in (MISC), Makefile.in (MISC): Rename
|
||||
exit.o to exit_.o to go along with Netlib.
|
||||
* libF77/signal.c: Make the prologue much simpler than
|
||||
Netlib has it.
|
||||
|
||||
Sun May 18 20:56:02 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libU77/unlink_.c, libU77/stat_.c, libU77/symlnk_.c,
|
||||
libU77/chmod_.c: g_char first arg is const.
|
||||
|
||||
* libU77/chmod_.c: s_cat expects ftnlen[], not int[] or
|
||||
integer[], change types of array and variables
|
||||
accordingly.
|
||||
|
||||
May 7 1997 Daniel Pettet <dan.pettet@bchydro.bc.ca>
|
||||
|
||||
* libU77/dbes_.c: Commented out the code in the
|
||||
same way the bes* routines are commented out. This
|
||||
was done because corresponding C routines are referenced
|
||||
directly in com-rt.def.
|
||||
|
||||
Mon May 5 13:56:02 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libU77/stat_.c: Reverse KR/ANSI decls of g_char().
|
||||
|
||||
Apr 18 1997 Daniel Pettet <dan.pettet@bchydro.bc.ca>
|
||||
|
||||
* libF77/F77_aloc.c, libF77/abort_.c, libF77/derf_.c,
|
||||
libF77/derfc_.c, libF77/ef1asc_.c, libF77/ef1cmc_.c,
|
||||
libF77/erf_.c, libF77/erfc_.c, libF77/exit.c,
|
||||
libF77/getarg_.c, libF77/getenv_.c, libF77/iargc_.c,
|
||||
libF77/s_cat.c, libF77/signal_.c, libF77/system_.c,
|
||||
libI77/close.c, libI77/ftell_.c, libU77/access_.c,
|
||||
libU77/bes.c, libU77/chdir_.c, libU77/chmod_.c, libU77/ctime_.c,
|
||||
libU77/date_.c, libU77/dbes.c, libU77/dtime_.c, libU77/etime_.c,
|
||||
libU77/fdate_.c, libU77/fgetc_.c, libU77/flush1_.c,
|
||||
libU77/fnum_.c, libU77/fputc_.c, libU77/fstat_.c,
|
||||
libU77/gerror_.c, libU77/getcwd_.c, libU77/getgid_.c,
|
||||
libU77/getlog_.c, libU77/getpid_.c, libU77/getuid_.c,
|
||||
libU77/gmtime_.c, libU77/hostnm_.c, libU77/idate_.c,
|
||||
libU77/ierrno_.c, libU77/irand_.c, libU77/isatty_.c,
|
||||
libU77/itime_.c, libU77/kill_.c, libU77/link_.c,
|
||||
libU77/lnblnk_.c, libU77/ltime_.c, libU77/mclock_.c,
|
||||
libU77/perror_.c, libU77/rand_.c, libU77/rename_.c,
|
||||
libU77/secnds_.c, libU77/second_.c, libU77/sleep_.c,
|
||||
libU77/srand_.c, libU77/stat_.c, libU77/symlnk_.c,
|
||||
libU77/system_clock_.c, libU77/time_.c, libU77/ttynam_.c,
|
||||
libU77/umask_.c, libU77/unlink_.c, libU77/vxtidate_.c,
|
||||
libU77/vxttime_.c: Completed renaming routines that are directly
|
||||
callable from g77 to internal names of the form
|
||||
G77_xxxx_0 that are known as intrinsics by g77.
|
||||
|
||||
Apr 8 1997 Daniel Pettet <dan.pettet@bchydro.bc.ca>
|
||||
|
||||
* Makefile.in: Add libU77/mclock_.o and libU77/symlnk_.o to UOBJ.
|
||||
* libU77/Makefile.in: Add mclock_.c to SRCS.
|
||||
Add mclock_.o and symlnk_.o to OBJS.
|
||||
Add mclock_.o dependency.
|
||||
|
||||
Apr 8 1997 Daniel Pettet <dan.pettet@bchydro.bc.ca>
|
||||
|
||||
* libU77/symlnk_.c: Added a couple of (char*) casts to malloc
|
||||
to silence the compiler.
|
||||
|
||||
1997-03-17 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libU77/access_.c, libU77/chdir_.c, libU77/chmod_.c,
|
||||
libU77/link_.c, libU77/lstat_.c, libU77/rename_.c, libU77/stat_.c,
|
||||
libU77/symlnk_.c, libU77/u77-test.f, libU77/unlink_.c: Strip
|
||||
trailing blanks from file names for consistency with other
|
||||
implementations (notably Sun's).
|
||||
|
||||
* libU77/chmod_.c: Quote the file name given to the shell.
|
||||
|
||||
Mon Mar 10 00:19:17 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libI77/uio.c (do_ud) [PAD_UDread]: Add semicolon to err()
|
||||
invocation when macro not defined (from Mumit Khan
|
||||
<khan@xraylith.wisc.edu>).
|
||||
|
||||
Fri Feb 28 13:16:50 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* Version 0.5.20 released.
|
||||
|
||||
Wed Feb 26 20:28:53 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* Makefile.in: $(MAKE) invocations now explicitly
|
||||
specify `-f Makefile', just in case the `makefile's
|
||||
from the netlib distribution would get used instead.
|
||||
|
||||
Mon Feb 24 16:43:39 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libU77/Makefile.in (check): Specify driver, and
|
||||
don't bother enabling already-enabled intrinsic groups.
|
||||
Also, get the $(srcdir) version of u77-test.f.
|
||||
|
||||
Sat Feb 22 14:08:42 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libU77/u77-test.f: Explicitly declare intrinsics, get
|
||||
rid of useless CHARACTER declarations on intrinsics (maybe
|
||||
someday appropriate to implement meaning of that in g77
|
||||
and restore them?).
|
||||
Add spin loop just to fatten up the timings a bit.
|
||||
Clarify ETIME output as having three fields.
|
||||
Call TIME with CHARACTER*8, not CHARACTER*6, argument.
|
||||
Call new SECOND intrinsic subroutine, after calling
|
||||
new DUMDUM subroutine just to ensure the correct value
|
||||
doesn't get left around in a register or something.
|
||||
|
||||
Thu Feb 20 15:22:42 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libU77/bes.c: Comment out all the code, as g77 avoids actually
|
||||
calling it, going directly to the system's library instead.
|
||||
|
||||
Mon Feb 17 02:27:41 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libU77/fgetc_.c (fgetc_): Allow return value to be
|
||||
CHARACTER*(*), properly handle CHARACTER*0 and blank-pad
|
||||
CHARACTER*n where n>1.
|
||||
|
||||
Tue Feb 11 14:12:19 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* Makefile.in: Clarify role of $(srcdir) here. Fix
|
||||
various targets accordingly. Don't rely at all on
|
||||
gcc/f/include/ being a link to gcc/include/ -- just
|
||||
use it directly.
|
||||
(${srcdir}/configure, ${srcdir}/libU77/configure):
|
||||
Remove the config.cache files in build directory before
|
||||
cd'ing to source directory as well.
|
||||
|
||||
* libF77/Makefile.in, libI77/Makefile.in (ALL_CFLAGS):
|
||||
Include `-I.' to pick up build directory.
|
||||
Use gcc/include/ directly.
|
||||
* libU77/Makefile.in (ALL_CFLAGS): Include `-I$(srcdir)'
|
||||
to pick up source directory.
|
||||
(OBJS): Fix typo in `chmod_.o' (was `chmod.o').
|
||||
|
||||
Mon Feb 10 12:54:47 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* Makefile.in (UOBJ), libU77/Makefile.in (OBJS): Add
|
||||
libU77/chmod_.o to list of objects.
|
||||
* libU77/chmod_.c: Fix up headers.
|
||||
Fix implementation to not prematurely truncate command
|
||||
string and make room for trailing null.
|
||||
|
||||
* libU77/ctime_.c: Incoming xstime argument is now longint.
|
||||
* libU77/mclock_.c: Now returns longint.
|
||||
* libU77/time_.c: Now returns longint.
|
||||
|
||||
1997-02-10 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* etime_.c, dtime_.c: Typo rounded times to seconds.
|
||||
|
||||
* date_.c: Add missing return.
|
||||
|
||||
* hostnm_.c: #include unistd.h.
|
||||
|
||||
Sat Feb 8 03:30:19 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
INTEGER*8 support built in to f2c.h and libf2c (since
|
||||
gcc will be used to compile relevant code anyway):
|
||||
* Makefile.in, libF77/Makefile.in: Add pow_qq.o,
|
||||
qbitbits.o, and qbitshft.o to $POW and $F90BIT macros,
|
||||
as appropriate.
|
||||
* f2c.h.in: Define appropriate types and macros.
|
||||
Place #error directive correctly.
|
||||
* configure.in: Determine appropriate types for long
|
||||
integer (F2C_LONGINT).
|
||||
Meanwhile, quote strings in #error, for consistency.
|
||||
Fix restoring of ac_cpp macro.
|
||||
* configure: Regenerated using autoconf-2.12.
|
||||
|
||||
* libF77/Version.c, libI77/Version.c, libU77/Version.c:
|
||||
Update version numbers.
|
||||
Change names and code for g77-specific version-printing
|
||||
routines (shorter names should be safer to link on
|
||||
weird, 8-char systems).
|
||||
|
||||
* libF77/c_cos.c, libF77/c_div.c, libF77/c_exp.c,
|
||||
libF77/c_log.c, libF77/c_sin.c, libF77/c_sqrt.c,
|
||||
libF77/d_cnjg.c, libF77/pow_zi.c, libF77/r_cnjg.c,
|
||||
libF77/z_cos.c, libF77/z_div.c, libF77/z_exp.c,
|
||||
libF77/z_log.c, libF77/z_sin.c, libF77/z_sqrt.c:
|
||||
Changed to work properly even when result is aliased
|
||||
with any inputs.
|
||||
|
||||
* libF77/makefile, libI77/makefile: Leave these in
|
||||
the g77 distribution, so it is easier to track changes
|
||||
to official libf2c.
|
||||
|
||||
* libF77/signal_.c: Eliminate redundant `return 0;'.
|
||||
|
||||
* libI77/fio.h (err, errfl): Fix these so they work
|
||||
(and must be expressed) as statements.
|
||||
Fix up many users of err() to include trailing semicolon.
|
||||
|
||||
* Incorporate changes by Bell Labs to libf2c through 1997-02-07.
|
||||
|
||||
1997-02-06 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libU77/etime_.c, libU77/dtime_.c: Fix getrusage stuff.
|
||||
|
||||
* libU77/config.h.in: Regenerate for HAVE_GETRUSAGE.
|
||||
|
||||
* libU77/Makefile.in, libI77/Makefile.in, libF77/Makefile.in:
|
||||
Redo *clean targets; distclean and maintainer-clean remove the stage?
|
||||
and include links. This probably want looking at further.
|
||||
|
||||
Wed Feb 5 00:21:23 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
Add libU77 library from Dave Love <d.love@dl.ac.uk>:
|
||||
* Makefile.in: Add libU77 directory, rules, etc.
|
||||
* configure.in: New libU77 directory, Makefile, etc.
|
||||
|
||||
* Makefile.in, libF77/Makefile.in, libI77/Makefile.in,
|
||||
libU77/Makefile.in: Reorganize these so $(AR) commands
|
||||
handled by the top-level Makefile instead of the
|
||||
subordinates. This permits it to do $(AR) only when
|
||||
one or more object files actually change, instead of
|
||||
having to force-update it as was necessary before.
|
||||
And that had the disadvantage of requiring, e.g., user
|
||||
root to have access to $(AR) to the library simply to
|
||||
install g77, which might be problematic on an NFS setup.
|
||||
(mostlyclean, clean, distclean, maintainer-clean):
|
||||
Properly handle these rules.
|
||||
|
||||
* Makefile.in: Don't invoke config.status here -- let
|
||||
compiler-level stuff handle all that.
|
||||
|
||||
* err.c [MISSING_FILE_ELEMS]: Declare malloc in this case
|
||||
too, so it doesn't end up as an integer.
|
||||
|
||||
Sat Feb 1 02:43:48 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libF77/Makefile.in: More fixup for $(F90BIT) -- wasn't
|
||||
in list for ar command, and it wasn't correctly listed
|
||||
in the list of things depending on f2c.h.
|
||||
|
||||
* f2c.h.in: Fix up #error directive.
|
||||
|
||||
1997-01-31 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libF77/Makefile.in ($(lib)): Add $(F90BIT); shouldn't exclude
|
||||
stuff f2c needs so we can share the library.
|
||||
|
||||
Sat Jan 18 19:39:03 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* configure.in: No longer define ALWAYS_FLUSH, the
|
||||
resulting performance is too low.
|
||||
|
||||
Wed Dec 18 12:06:02 1996 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
Patch from Mumit Khan <khan@xraylith.wisc.edu>:
|
||||
* libF77/s_paus.c: Add __CYGWIN32__ to list of macros
|
||||
controlling how to pause.
|
||||
|
||||
Sun Dec 1 21:25:27 1996 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* configure: Regenerated using autoconf-2.12.
|
||||
|
||||
Mon Nov 25 21:16:15 1996 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* configure: Regenerated using autoconf-2.11.
|
||||
|
||||
1996-11-19 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libI77/backspace.c: Include sys/types.h for size_t.
|
||||
|
||||
Wed Nov 6 14:17:27 1996 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* f2c.h.in: Properly comment out the unsupported stuff so
|
||||
we don't get build-time errors.
|
||||
|
||||
* libF77/Version.c, libI77/Version.c: Restore macro definition
|
||||
of version information.
|
||||
|
||||
* libI77/Makefile.in (OBJ): Add ftell_.o to list of objects.
|
||||
|
||||
* libI77/uio.c (do_ud): Fix up casts in PAD_UDread case just
|
||||
like they were fixed in the other case.
|
||||
|
||||
Thu Oct 31 22:27:45 1996 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libI77/ftell_.c (fseek_): Map incoming whence argument to
|
||||
system's actual SEEK_CUR, SEEK_SET, or SEEK_END macro for
|
||||
fseek(), and crash (gracefully) if the argument is invalid.
|
||||
|
||||
1996-10-19 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* configure.in: Add check that we have the tools to cross-compile
|
||||
if appropriate.
|
||||
(NO_EOF_CHAR_CHECK,Skip_f2c_Undefs): Define.
|
||||
|
||||
* libF77/Makefile.in (F90BIT): New routines from Netlib.
|
||||
|
||||
* f2c.h.in:
|
||||
Use more sanitary #error (indented for K&R compliance if necessary) if
|
||||
f2c_i2 defined.
|
||||
Sync with Netlib: Add `uninteger'. (Commented out) integer*8 stuff.
|
||||
bit_{test,clear,set} macros.
|
||||
|
||||
1996-10-19 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
Update to Netlib version of 1996-09-26.
|
||||
|
||||
* libI77/Version.c: Use <stdio.h>, not "stdio.h".
|
||||
* libF77/Version.c: Likewise.
|
||||
|
||||
Wed Aug 28 13:25:29 1996 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libI77/rsne.c (x_rsne): Use size_t instead of int.
|
||||
|
||||
* libI77/endfile.c (copy): Use size_t in place of int.
|
||||
|
||||
Wed Aug 28 13:22:20 1996 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libI77/backspace.c (f_back): Cast fread arg to size_t.
|
||||
|
||||
Tue Aug 27 19:11:30 1996 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libI77/Version.c: Supply */ to avoid apparent nested comment.
|
||||
|
||||
Tue Aug 20 09:21:43 1996 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libF77/Makefile.in (ALL_CFLAGS): Fix missing ../ for include.
|
||||
* libI77/Makefile.in (ALL_CFLAGS): Likewise.
|
||||
|
||||
Sat Aug 17 13:00:47 1996 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* (libF77/qbitshft.c, libF77/qbitbits.c, libF77/lbitshft.c,
|
||||
libF77/lbitbits.c): New file from Netlib. qbit... not currently
|
||||
compiled.
|
||||
|
||||
Sun Jul 7 18:06:33 1996 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libF77/z_sqrt.c, libF77/z_sin.c, libF77/z_exp.c, libF77/z_log.c,
|
||||
libF77/system_.c, libF77/z_cos.c, libF77/signal_.c,
|
||||
libF77/s_stop.c, libF77/sig_die.c, libF77/s_paus.c,
|
||||
libF77/s_rnge.c, libF77/s_cat.c, libF77/r_tan.c, libF77/r_tanh.c,
|
||||
libF77/r_sinh.c, libF77/r_sqrt.c, libF77/r_sin.c, libF77/r_mod.c,
|
||||
libF77/r_nint.c, libF77/r_lg10.c, libF77/r_log.c, libF77/r_exp.c,
|
||||
libF77/r_int.c, libF77/r_cosh.c, libF77/r_atn2.c, libF77/r_cos.c,
|
||||
libF77/r_asin.c, libF77/r_atan.c, libF77/r_acos.c,
|
||||
libF77/pow_dd.c, libF77/pow_zz.c, libF77/main.c, libF77/i_dnnt.c,
|
||||
libF77/i_nint.c, libF77/h_dnnt.c, libF77/h_nint.c, libF77/exit.c,
|
||||
libF77/d_tan.c, libF77/d_tanh.c, libF77/d_sqrt.c, libF77/d_sin.c,
|
||||
libF77/d_sinh.c, libF77/d_mod.c, libF77/d_nint.c, libF77/d_log.c,
|
||||
libF77/d_int.c, libF77/d_lg10.c, libF77/d_cosh.c, libF77/d_exp.c,
|
||||
libF77/d_atn2.c, libF77/d_cos.c, libF77/d_atan.c, libF77/d_acos.c,
|
||||
libF77/d_asin.c, libF77/c_sqrt.c, libF77/cabs.c, libF77/c_sin.c,
|
||||
libF77/c_exp.c, libF77/c_log.c, libF77/c_cos.c, libF77/F77_aloc.c,
|
||||
libF77/abort_.c, libI77/xwsne.c, libI77/wref.c, libI77/util.c,
|
||||
libI77/uio.c, libI77/rsne.c, libI77/rdfmt.c, libI77/rawio.h,
|
||||
libI77/open.c, libI77/lread.c, libI77/inquire.c, libI77/fio.h,
|
||||
libI77/err.c, libI77/endfile.c, libI77/close.c:
|
||||
Use #include <...>, not #include "..." for mkdeps
|
||||
|
||||
Sat Jul 6 21:39:21 1996 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libI77/ftell_.c: Added from Netlib distribution.
|
||||
|
||||
Sat Mar 30 20:57:24 1996 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* configure.in: Eliminate explicit use of
|
||||
{RANLIB,AR}_FOR_TARGET.
|
||||
* Makefile.in: Likewise.
|
||||
* libF77/Makefile.in: Likewise.
|
||||
* libI77/Makefile.in: Likewise.
|
||||
* configure: Regenerated.
|
||||
|
||||
Sat Mar 30 21:02:03 1996 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* Makefile.in: Eliminate explicit use of
|
||||
{RANLIB,AR}_FOR_TARGET.
|
||||
|
||||
Tue Mar 26 23:39:59 1996 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* Makefile.in: Remove hardwired RANLIB and RANLIB_TEST (unnoted
|
||||
change).
|
||||
|
||||
Mon Mar 25 21:04:56 1996 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* Incorporate changes by Bell Labs to libf2c through 1996-03-23,
|
||||
including changes to dmg and netlib email addresses.
|
||||
|
||||
Tue Mar 19 13:10:02 1996 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* Incorporate changes by AT&T/Bellcore to libf2c through 1996-03-19.
|
||||
|
||||
* Makefile.in (rebuilt): New target.
|
||||
|
||||
* lib[FI]77/Makefile.in: Use $AR_FOR_TARGET, not $AR.
|
||||
|
||||
Tue Mar 19 12:53:19 1996 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* configure.in (ac_cpp): #include <stdio.h> instead
|
||||
of <features.h>.
|
||||
|
||||
Tue Mar 19 12:52:09 1996 Mumit Khan <khan@xraylith.wisc.edu>
|
||||
|
||||
* configure.in (ac_cpp): For f2c integer type,
|
||||
add -I$srcdir/../.. to make it work on mips-ultrix4.2.
|
||||
|
||||
Sat Mar 9 17:37:15 1996 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* libI77/Makefile.in (.c.o): Add -DAllow_TYQUAD, to enable
|
||||
I/O support for INTEGER*8.
|
||||
* f2c.h.in: Turn on longint type.
|
||||
|
||||
Fri Dec 29 18:22:01 1995 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* Makefile.in: Reorganize the *clean rules to more closely
|
||||
parallel gcc's.
|
||||
|
||||
* lib[FI]77/Makefile.in: Ignore error from $(AR) command,
|
||||
in case just doing an install and installer has no write
|
||||
access to library (this is a kludge fix -- perhaps install
|
||||
targets should never try updating anything?).
|
||||
|
||||
Sat Nov 18 19:37:22 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* Version 0.5.17 released.
|
||||
|
||||
Thu Nov 16 07:20:35 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* Incorporate changes by AT&T/Bellcore to libf2c through 1995-11-15.
|
||||
|
||||
Fri Sep 22 02:19:59 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* libI77/backspace.c, libI77/close.c, libI77/endfile.c,
|
||||
libI77/fio.h, libI77/inquire.c, libI77/rawio.h,
|
||||
libF77/s_paus.c: Not an MSDOS system if GO32
|
||||
is defined, in the sense that the run-time environment
|
||||
is thus more UNIX-like.
|
||||
|
||||
Wed Sep 20 02:24:51 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* libF77/Makefile.in, libI77/Makefile.in: Comment out `ld -r -x'
|
||||
and `mv' line pairs, since `-x' isn't supported on systems
|
||||
such as Solaris, and these lines don't seem to do anything
|
||||
useful after all.
|
||||
|
||||
Wed Aug 30 15:58:35 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* Version 0.5.16 released.
|
||||
|
||||
* Incorporate changes by AT&T/Bellcore to libf2c through 950829.
|
||||
|
||||
Mon Aug 28 12:50:34 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* libF77/Makefile.in, libI77/Makefile.in ($(lib)): Force ar'ing
|
||||
and ranlib'ing of libf2c.a, else after rm'ing libf2c.a and
|
||||
doing a make, only libI77 or libF77 would be added to
|
||||
the newly created archive.
|
||||
Also, instead of `$?' list all targets explicitly so all
|
||||
objects are updated in libf2c.a even if only one actually
|
||||
needs recompiling, for similar reason -- we can't easily tell
|
||||
if a given object is really up-to-date in libf2c.a, or even
|
||||
present there.
|
||||
|
||||
Sun Aug 27 14:54:24 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* libF77/Makefile.in, libI77/Makefile.in: Fix spacing so
|
||||
initial tabs are present in all appropriate places.
|
||||
Move identical $(AR) commands in if then/else clauses
|
||||
to single command preceding if.
|
||||
(.c.o, Version[FI].o): Use $@ instead of $* because AIX (RS/6000)
|
||||
says $@ means source, not object, basename, and $@ seems to work
|
||||
everywhere.
|
||||
|
||||
Wed Aug 23 15:44:25 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* libF77/system_.c (system_): Declare as returning `ftnint',
|
||||
consistent with signal_, instead of defaulting to `int'.
|
||||
Hope dmg@research.att.com agrees, else probably will
|
||||
change to whatever he determines is correct (and change
|
||||
g77 accordingly).
|
||||
|
||||
Thu Aug 17 08:46:17 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* libI77/rsne.c (s_rsne): Call f_init if not already done.
|
||||
|
||||
Thu Aug 17 04:35:28 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* Incorporate changes by Bellcore to libf2c through 950817.
|
||||
And this text is for EMACS: (foo at bar).
|
||||
|
||||
Wed Aug 16 17:33:06 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* libF77/Makefile.in, libI77/Makefile.in (CFLAGS): Put -g1
|
||||
after configured CFLAGS but before GCC_CFLAGS, so by default
|
||||
the libraries are built with minimal debugging information.
|
||||
|
||||
Fri Jul 28 10:30:15 1995 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libI77/open.c (f_open): Call f_init if not already done.
|
||||
|
||||
Sat Jul 1 19:31:56 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* libF77/system_.c (system_): Make buff one byte bigger so
|
||||
following byte doesn't get overwritten by call with large
|
||||
string.
|
||||
|
||||
Tue Jun 27 23:28:16 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* Incorporate changes by Bellcore to libf2c through 950613.
|
||||
|
||||
* libF77/Version.c (__G77_LIBF77_VERSION__): Add this string
|
||||
to track g77 mods to libf2c.
|
||||
|
||||
* libI77/Version.c (__G77_LIBI77_VERSION__): Add this string
|
||||
to track g77 mods to libf2c.
|
||||
|
||||
* libI77/rawio.h: #include <rawio.h> only conditionally,
|
||||
using macro intended for that purpose.
|
||||
|
||||
Fri May 19 11:20:00 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* configure.in: Incorporate change made by d.love,
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
Wed Apr 26 21:08:57 BST 1995 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* configure.in: Fix quoting problem in atexit check.
|
||||
|
||||
* configure: Regenerated (with current autoconf).
|
||||
|
||||
Wed Mar 15 12:49:58 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* Incorporate changes by Bellcore to libf2c through 950315.
|
||||
|
||||
Sun Mar 5 18:54:29 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* README: Tell people not to read lib[fi]77/README.
|
||||
|
||||
Wed Feb 15 14:30:58 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* configure.in: Update copyright notice at top of file.
|
||||
|
||||
* f2c.h.in (f2c_i2): Make sure defining this crashes compilations.
|
||||
|
||||
* libI77/Makefile.in (F2C_H): Fix typo in definition of this
|
||||
symbol (was FF2C_H=...).
|
||||
|
||||
Sun Feb 12 13:39:36 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* README: Remove some obsolete items.
|
||||
Add date.
|
||||
|
||||
* TODO: Add date.
|
||||
|
||||
Sat Feb 11 22:07:54 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* Makefile.in (libf77, libi77): Add rules to .PHONY list.
|
||||
|
||||
* f2c.h.in (flag): Make same type as friends.
|
||||
|
||||
* libF77/Makefile.in (libf77): Rename to $(lib), remove from
|
||||
.PHONY list. Fix some typos.
|
||||
|
||||
* libI77/Makefile.in (libi77): Rename to $(lib), remove from
|
||||
.PHONY list. Fix some typos.
|
||||
|
||||
Thu Feb 2 12:22:41 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
||||
|
||||
* Makefile.in (libF77/Makefile): Fix typos in this rule's name
|
||||
and dependencies.
|
||||
|
||||
* libF77/Makefile.in (libf77): Add rule to .PHONY list.
|
||||
|
||||
* libI77/Makefile.in (libi77): Add rule to .PHONY list.
|
@ -1,89 +0,0 @@
|
||||
Sun Jan 18 20:01:37 1998 Toon Moene <toon@moene.indiv.nluug.nl>
|
||||
|
||||
* libI77/backspace.c: (f_back): Use type `uiolen' to determine size
|
||||
of record length specifier.
|
||||
|
||||
Sat Jan 17 22:40:31 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||||
|
||||
* libU77/configure.in (sys/param.h,sys/times.h): Check.
|
||||
(times,alarm): Likewise.
|
||||
* libU77/config.h.in (HAVE_SYS_PARAM_H, HAVE_SYS_TIMES_H,
|
||||
HAVE_ALARM, HAVE_TIMES): New defs.
|
||||
* libU77/alarm_.c: Conditionalize for target platform. Set errno
|
||||
to ENOSYS if target libc doesn't have the function.
|
||||
* libU77/dtime_.c: Likewise.
|
||||
* libU77/etime_.c: Likewise.
|
||||
* libU77/sys_clock_.c: Likewise.
|
||||
|
||||
* configure.in (NON_UNIX_STDIO): Define if MINGW32.
|
||||
(NON_ANSI_RW_MODE): Do not define for CYGWIN32 or MINGW32.
|
||||
|
||||
* libI77/rawio.h: Don't providing conflicting declarations for
|
||||
read() and write(). MINGW32 header files use "const" quals.
|
||||
|
||||
* libF77/s_paus.c: _WIN32 does not have pause().
|
||||
|
||||
Tue Nov 18 09:49:04 1997 Mumit Khan (khan@xraylith.wisc.edu)
|
||||
|
||||
* libI77/close.c (f_exit): Reset f__init so that f_clos does not
|
||||
(incorrectly) think there is an I/O recursion when program is
|
||||
interrupted.
|
||||
|
||||
Sat Nov 1 18:03:42 1997 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* libF77/signal_.c: Undo last change until we can fix it right.
|
||||
|
||||
Wed Oct 15 10:06:29 1997 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* libF77/signal_.c (G77_signal_0): Make return type sig_pf as well.
|
||||
* libI77/fio.h: Include <string.h> if STDC_HEADERS.
|
||||
* libU77/chmod_.c: Likewise.
|
||||
|
||||
Tue Oct 7 18:22:10 1997 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* Makefile.in (CGFLAGS): Don't force -g0.
|
||||
* libF77/Makefile.in, libI77/Makefile.in, libU77/Makefile.in: Likewise.
|
||||
|
||||
Mon Oct 6 14:16:46 1997 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* Makefile.in (distclean): Do a better job at cleaning up.
|
||||
|
||||
Wed Oct 1 01:46:16 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||||
|
||||
* libU77/sys_clock_.c: File renamed from system_clock_.c.
|
||||
libU77/Makefile.in, Makefile.in : Reference sys_clock_.*, not
|
||||
system_clock_.*.
|
||||
* libU77/dtime_.c (clk_tck): Try also HZ macro.
|
||||
* libU77/access.c (G77_access_0): Check malloc return value against 0,
|
||||
not NULL.
|
||||
libU77/getlog_.c, libU77/ttynam_.c, libU77/chdir_.c: Ditto.
|
||||
libU77/chmod_.c, libU77/rename_.c: Ditto.
|
||||
|
||||
1997-09-19 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* libU77/dtime_.c (G77_dtime_0): Fix types in HAVE_GETRUSAGE case
|
||||
so as not to truncate results to integer values.
|
||||
* libU77/Version.c: Bump.
|
||||
|
||||
Thu Sep 18 16:58:46 1997 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* Makefile.in (stamp-lib): Don't use '$?', explicitly
|
||||
list the variables containing the object files to include
|
||||
in libf2c.a
|
||||
|
||||
Fri Sep 5 00:18:17 1997 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* Makefile.in (clean): Don't remove config.cache.
|
||||
(distclean): Do it here instead.
|
||||
|
||||
Tue Aug 26 20:14:08 1997 Robert Lipe (robertl@dgii.com)
|
||||
|
||||
* hostnm_.c: Include errno.h
|
||||
|
||||
Mon Aug 25 23:26:05 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||||
|
||||
* Makefile.in (mostlyclean, clean): Check if Makefile exists
|
||||
before using it. Remove stamp-*.
|
||||
(stamp-libi77, stamp-libf77, stamp-libu77): New.
|
||||
(stamp-lib): Only depend on stamp-libi77 stamp-libf77
|
||||
stamp-libu77
|
@ -1,268 +0,0 @@
|
||||
# Makefile for GNU F77 compiler runtime.
|
||||
# Copyright (C) 1995-1997 Free Software Foundation, Inc.
|
||||
# Contributed by Dave Love (d.love@dl.ac.uk).
|
||||
#
|
||||
#This file is part of GNU Fortran.
|
||||
#
|
||||
#GNU Fortran is free software; you can redistribute it and/or modify
|
||||
#it under the terms of the GNU General Public License as published by
|
||||
#the Free Software Foundation; either version 2, or (at your option)
|
||||
#any later version.
|
||||
#
|
||||
#GNU Fortran is distributed in the hope that it will be useful,
|
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#GNU General Public License for more details.
|
||||
#
|
||||
#You should have received a copy of the GNU General Public License
|
||||
#along with GNU Fortran; see the file COPYING. If not, write to
|
||||
#the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
#02111-1307, USA.
|
||||
|
||||
#### Start of system configuration section. ####
|
||||
|
||||
# $(srcdir) must be set to the g77 runtime source directory
|
||||
# (g77/f/runtime/).
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
top_srcdir = @top_srcdir@
|
||||
|
||||
INSTALL = @INSTALL@ # installs aren't actually done from here
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
RANLIB = @RANLIB@
|
||||
RANLIB_TEST = @RANLIB_TEST@
|
||||
|
||||
CFLAGS = @CFLAGS@
|
||||
CPPFLAGS = @CPPFLAGS@ @DEFS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
CGFLAGS = #-g0
|
||||
|
||||
GCC_FOR_TARGET = @CC@
|
||||
CC = $(GCC_FOR_TARGET)
|
||||
|
||||
CROSS = @CROSS@
|
||||
|
||||
objext = .o
|
||||
|
||||
transform=@program_transform_name@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
AR = ar
|
||||
AR_FLAGS = rc
|
||||
|
||||
# Directory in which to install scripts.
|
||||
bindir = $(exec_prefix)/bin
|
||||
|
||||
# Directory in which to install library files.
|
||||
libdir = $(prefix)/lib
|
||||
|
||||
# Directory in which to install documentation info files.
|
||||
infodir = $(prefix)/info
|
||||
|
||||
#### End of system configuration section. ####
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
lib = ../../libf2c.a
|
||||
|
||||
SUBDIRS = libI77 libF77 libU77
|
||||
|
||||
MISC = libF77/F77_aloc.o libF77/VersionF.o libF77/main.o libF77/s_rnge.o \
|
||||
libF77/abort_.o libF77/getarg_.o libF77/iargc_.o libF77/getenv_.o \
|
||||
libF77/signal_.o libF77/s_stop.o libF77/s_paus.o libF77/system_.o \
|
||||
libF77/cabs.o libF77/derf_.o libF77/derfc_.o libF77/erf_.o \
|
||||
libF77/erfc_.o libF77/sig_die.o libF77/exit_.o
|
||||
POW = libF77/pow_ci.o libF77/pow_dd.o libF77/pow_di.o libF77/pow_hh.o \
|
||||
libF77/pow_ii.o libF77/pow_ri.o libF77/pow_zi.o libF77/pow_zz.o \
|
||||
libF77/pow_qq.o
|
||||
CX = libF77/c_abs.o libF77/c_cos.o libF77/c_div.o libF77/c_exp.o \
|
||||
libF77/c_log.o libF77/c_sin.o libF77/c_sqrt.o
|
||||
DCX = libF77/z_abs.o libF77/z_cos.o libF77/z_div.o libF77/z_exp.o \
|
||||
libF77/z_log.o libF77/z_sin.o libF77/z_sqrt.o
|
||||
REAL = libF77/r_abs.o libF77/r_acos.o libF77/r_asin.o libF77/r_atan.o \
|
||||
libF77/r_atn2.o libF77/r_cnjg.o libF77/r_cos.o libF77/r_cosh.o \
|
||||
libF77/r_dim.o libF77/r_exp.o libF77/r_imag.o libF77/r_int.o \
|
||||
libF77/r_lg10.o libF77/r_log.o libF77/r_mod.o libF77/r_nint.o \
|
||||
libF77/r_sign.o libF77/r_sin.o libF77/r_sinh.o libF77/r_sqrt.o \
|
||||
libF77/r_tan.o libF77/r_tanh.o
|
||||
DBL = libF77/d_abs.o libF77/d_acos.o libF77/d_asin.o libF77/d_atan.o \
|
||||
libF77/d_atn2.o libF77/d_cnjg.o libF77/d_cos.o libF77/d_cosh.o \
|
||||
libF77/d_dim.o libF77/d_exp.o libF77/d_imag.o libF77/d_int.o \
|
||||
libF77/d_lg10.o libF77/d_log.o libF77/d_mod.o libF77/d_nint.o \
|
||||
libF77/d_prod.o libF77/d_sign.o libF77/d_sin.o libF77/d_sinh.o \
|
||||
libF77/d_sqrt.o libF77/d_tan.o libF77/d_tanh.o
|
||||
INT = libF77/i_abs.o libF77/i_dim.o libF77/i_dnnt.o libF77/i_indx.o \
|
||||
libF77/i_len.o libF77/i_mod.o libF77/i_nint.o libF77/i_sign.o
|
||||
HALF = libF77/h_abs.o libF77/h_dim.o libF77/h_dnnt.o libF77/h_indx.o \
|
||||
libF77/h_len.o libF77/h_mod.o libF77/h_nint.o libF77/h_sign.o
|
||||
CMP = libF77/l_ge.o libF77/l_gt.o libF77/l_le.o libF77/l_lt.o \
|
||||
libF77/hl_ge.o libF77/hl_gt.o libF77/hl_le.o libF77/hl_lt.o
|
||||
EFL = libF77/ef1asc_.o libF77/ef1cmc_.o
|
||||
CHAR = libF77/s_cat.o libF77/s_cmp.o libF77/s_copy.o
|
||||
F90BIT = libF77/lbitbits.o libF77/lbitshft.o libF77/qbitbits.o \
|
||||
libF77/qbitshft.o
|
||||
FOBJ = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) $(HALF) $(CMP) \
|
||||
$(EFL) $(CHAR) $(F90BIT)
|
||||
|
||||
IOBJ = libI77/VersionI.o libI77/backspace.o libI77/close.o libI77/dfe.o \
|
||||
libI77/dolio.o libI77/due.o libI77/endfile.o libI77/err.o \
|
||||
libI77/fmt.o libI77/fmtlib.o libI77/iio.o libI77/ilnw.o \
|
||||
libI77/inquire.o libI77/lread.o libI77/lwrite.o libI77/open.o \
|
||||
libI77/rdfmt.o libI77/rewind.o libI77/rsfe.o libI77/rsli.o \
|
||||
libI77/rsne.o libI77/sfe.o libI77/sue.o libI77/typesize.o \
|
||||
libI77/uio.o libI77/util.o libI77/wref.o libI77/wrtfmt.o \
|
||||
libI77/wsfe.o libI77/wsle.o libI77/wsne.o libI77/xwsne.o \
|
||||
libI77/ftell_.o
|
||||
|
||||
UOBJ = libU77/VersionU.o libU77/gerror_.o libU77/perror_.o libU77/ierrno_.o \
|
||||
libU77/itime_.o libU77/time_.o libU77/unlink_.o libU77/fnum_.o \
|
||||
libU77/getpid_.o libU77/getuid_.o libU77/getgid_.o libU77/kill_.o \
|
||||
libU77/rand_.o libU77/srand_.o libU77/irand_.o libU77/sleep_.o \
|
||||
libU77/idate_.o libU77/ctime_.o libU77/etime_.o libU77/dtime_.o \
|
||||
libU77/isatty_.o libU77/ltime_.o libU77/fstat_.o libU77/stat_.o \
|
||||
libU77/lstat_.o libU77/access_.o libU77/link_.o libU77/getlog_.o \
|
||||
libU77/ttynam_.o libU77/getcwd_.o libU77/vxttime_.o \
|
||||
libU77/vxtidate_.o libU77/gmtime_.o libU77/fdate_.o libU77/secnds_.o \
|
||||
libU77/bes.o libU77/dbes.o libU77/chdir_.o libU77/chmod_.o \
|
||||
libU77/lnblnk_.o libU77/hostnm_.o libU77/rename_.o libU77/fgetc_.o \
|
||||
libU77/fputc_.o libU77/umask_.o libU77/sys_clock_.o libU77/date_.o \
|
||||
libU77/second_.o libU77/flush1_.o libU77/alarm_.o libU77/mclock_.o \
|
||||
libU77/symlnk_.o
|
||||
|
||||
F2CEXT = abort derf derfc ef1asc ef1cmc erf erfc exit getarg getenv iargc \
|
||||
signal system flush ftell fseek access besj0 besj1 besjn besy0 besy1 \
|
||||
besyn chdir chmod ctime date dbesj0 dbesj1 dbesjn dbesy0 dbesy1 dbesyn \
|
||||
dtime etime fdate fgetc fget flush1 fnum fputc fput fstat gerror \
|
||||
getcwd getgid getlog getpid getuid gmtime hostnm idate ierrno irand \
|
||||
isatty itime kill link lnblnk lstat ltime mclock perror rand rename \
|
||||
secnds second sleep srand stat symlnk sclock time ttynam umask unlink \
|
||||
vxtidt vxttim alarm
|
||||
|
||||
# flags_to_pass to recursive makes & configure (hence the quoting style)
|
||||
FLAGS_TO_PASS = \
|
||||
CROSS="$(CROSS)" \
|
||||
AR_FLAGS="$(AR_FLAGS)" \
|
||||
AR="$(AR)" \
|
||||
GCCFLAGS="$(GCCFLAGS)" \
|
||||
GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
|
||||
CC="$(GCC_FOR_TARGET)" \
|
||||
LDFLAGS="$(LDFLAGS)" \
|
||||
RANLIB="$(RANLIB)" \
|
||||
RANLIB_TEST="$(RANLIB_TEST)" \
|
||||
SHELL="$(SHELL)"
|
||||
|
||||
CROSS_FLAGS_TO_PASS = \
|
||||
CROSS="$(CROSS)" \
|
||||
AR_FLAGS="$(AR_FLAGS)" \
|
||||
AR="$(AR)" \
|
||||
GCCFLAGS="$(GCCFLAGS)" \
|
||||
GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
|
||||
CC="$(GCC_FOR_TARGET)" \
|
||||
LDFLAGS="$(LDFLAGS)" \
|
||||
RANLIB="$(RANLIB)" \
|
||||
RANLIB_TEST="$(RANLIB_TEST)" \
|
||||
SHELL="$(SHELL)"
|
||||
|
||||
all: ../../include/f2c.h $(lib)
|
||||
|
||||
$(lib): stamp-lib ; @true
|
||||
stamp-lib: stamp-libf77 stamp-libi77 stamp-libu77
|
||||
rm -f stamp-lib
|
||||
$(AR) $(AR_FLAGS) $(lib) $(FOBJ) $(IOBJ) $(UOBJ)
|
||||
rm -fr libE77
|
||||
mkdir libE77
|
||||
for name in $(F2CEXT); \
|
||||
do \
|
||||
echo $${name}; \
|
||||
$(GCC_FOR_TARGET) -c -I. -I$(srcdir) -I../../include $(CPPFLAGS) $(CFLAGS) $(CGFLAGS) \
|
||||
-DL$${name} $(srcdir)/f2cext.c -o libE77/L$${name}$(objext); \
|
||||
if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
|
||||
done
|
||||
$(AR) $(AR_FLAGS) $(lib) libE77/*$(object)
|
||||
rm -fr libE77
|
||||
if $(RANLIB_TEST); then $(RANLIB) $(lib); \
|
||||
else true; fi
|
||||
touch stamp-lib
|
||||
|
||||
stamp-libi77: libI77/Makefile
|
||||
rm -f stamp-libi77
|
||||
if test "$(CROSS)"; then \
|
||||
cd libI77; $(MAKE) -f Makefile $(CROSS_FLAGS_TO_PASS) all ; \
|
||||
else \
|
||||
cd libI77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all ; \
|
||||
fi
|
||||
touch stamp-libi77
|
||||
|
||||
stamp-libf77: libF77/Makefile
|
||||
rm -f stamp-libf77
|
||||
if test "$(CROSS)"; then \
|
||||
cd libF77; $(MAKE) -f Makefile $(CROSS_FLAGS_TO_PASS) all ; \
|
||||
else \
|
||||
cd libF77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all ; \
|
||||
fi
|
||||
touch stamp-libf77
|
||||
|
||||
stamp-libu77: libU77/Makefile
|
||||
rm -f stamp-libu77
|
||||
if test "$(CROSS)"; then \
|
||||
cd libU77; $(MAKE) -f Makefile $(CROSS_FLAGS_TO_PASS) all ; \
|
||||
else \
|
||||
cd libU77; $(MAKE) -f Makefile $(FLAGS_TO_PASS) all ; \
|
||||
fi
|
||||
touch stamp-libu77
|
||||
|
||||
${srcdir}/configure: ${srcdir}/configure.in
|
||||
rm -f config.cache && cd ${srcdir} && autoconf && rm -f config.cache
|
||||
${srcdir}/libU77/configure: ${srcdir}/libU77/configure.in
|
||||
rm -f libU77/config.cache && cd ${srcdir}/libU77 && autoconf && rm -f config.cache
|
||||
#../include/f2c.h libI77/Makefile libF77/Makefile libU77/Makefile Makefile: ${srcdir}/Makefile.in \
|
||||
# config.status libU77/config.status
|
||||
# $(FLAGS_TO_PASS) CONFIG_SITE=/dev/null $(SHELL) config.status
|
||||
# cd libU77; $(FLAGS_TO_PASS) CONFIG_SITE=/dev/null $(SHELL) config.status
|
||||
|
||||
# Extra dependencies for the targets above:
|
||||
libI77/Makefile: $(srcdir)/libI77/Makefile.in
|
||||
libF77/Makefile: $(srcdir)/libF77/Makefile.in
|
||||
libU77/Makefile: $(srcdir)/libU77/Makefile.in
|
||||
../../include/f2c.h: $(srcdir)/f2c.h.in
|
||||
|
||||
#config.status: ${srcdir}/configure
|
||||
# $(FLAGS_TO_PASS) CONFIG_SITE=/dev/null $(SHELL) config.status --recheck
|
||||
#libU77/config.status: ${srcdir}/libU77/configure
|
||||
# cd libU77; $(FLAGS_TO_PASS) CONFIG_SITE=/dev/null $(SHELL) config.status --recheck
|
||||
|
||||
mostlyclean:
|
||||
-rm -f stamp-*
|
||||
for i in libI77 libF77 libU77; do \
|
||||
if [ -f $$i/Makefile ]; then \
|
||||
cd $$i; $(MAKE) -f Makefile mostlyclean; cd ..; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
clean:
|
||||
-rm -f config.log stamp-*
|
||||
for i in libI77 libF77 libU77; do \
|
||||
if [ -f $$i/Makefile ]; then \
|
||||
cd $$i; $(MAKE) -f Makefile clean; cd ..; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
distclean: clean
|
||||
-rm -f Makefile config.cache lib?77/Makefile config.status lib?77/config.status lib?77/config.cache lib?77/config.h ../../include/f2c.h
|
||||
|
||||
maintainer-clean: distclean
|
||||
-rm -f $(srcdir)/configure $(srcdir)/libU77/configure
|
||||
|
||||
uninstall:
|
||||
rm ../../include/f2c.h
|
||||
|
||||
rebuilt: ${srcdir}/configure ${srcdir}/libU77/configure
|
||||
|
||||
.PHONY: libf77 libi77 libu77 rebuilt mostlyclean clean distclean maintainer-clean \
|
||||
uninstall all
|
@ -1,46 +0,0 @@
|
||||
970811
|
||||
|
||||
This directory contains the f2c library packaged for use with g77 to configure
|
||||
and build automatically (in principle!) as part of the top-level configure and
|
||||
make steps. This depends on the makefile and configure fragments in ../f.
|
||||
|
||||
Some small changes have been made to the f2c distributions of lib[FI]77 which
|
||||
come from <ftp:bell-labs.com/netlib/f2c/> and are maintained (excellently) by
|
||||
David M. Gay <dmg@bell-labs.com>. See the Notice files for copyright
|
||||
information. I'll try to get the changes rolled into the f2c distribution.
|
||||
|
||||
Files that come directly from netlib are either maintained in the
|
||||
gcc/f/runtime/ directory under their original names or, if they
|
||||
are not pertinent for g77's version of libf2c, under their original
|
||||
names with `.netlib' appended. For example, gcc/f/runtime/permissions.netlib
|
||||
is a copy of f2c's top-level`permissions' file in the netlib distribution.
|
||||
In this case, it applies only to the relevant portions of the libF77/ and
|
||||
libI77/ directories; it does not apply to the libU77/ directory, which is
|
||||
distributed under different licensing arrangements. Similarly,
|
||||
the `makefile.netlib' files in libF77/ and libI77/ are copies of
|
||||
the respective `makefile' files in the netlib distribution, but
|
||||
are not used when building g77's version of libf2c.
|
||||
|
||||
The `README.netlib' files in libF77/ and libI77/ thus might be
|
||||
interesting, but should not be taken as guidelines for how to
|
||||
configure and build libf2c in g77's distribution.
|
||||
|
||||
The packaging for auto-configuration was done by Dave Love <d.love@dl.ac.uk>.
|
||||
Minor changes have been made by James Craig Burley <burley@gnu.ai.mit.edu>,
|
||||
who probably broke things Dave had working. :-)
|
||||
|
||||
Among the user-visible changes (choices) g77 makes in its
|
||||
version of libf2c:
|
||||
|
||||
- f2c.h configured to default to padding unformatted direct reads
|
||||
(#define Pad_UDread), because that's the behavior most users
|
||||
expect.
|
||||
|
||||
- f2c.h configured to default to outputting leading zeros before
|
||||
decimal points in formatted and list-directed output, to be compatible
|
||||
with many other compilers (#define WANT_LEAD_0). Either way is
|
||||
standard-conforming, however, and you should try to avoid writing
|
||||
code that assumes one format or another.
|
||||
|
||||
- dtime_() and etime_() are from Dave Love's libU77, not from
|
||||
netlib's libF77.
|
@ -1,17 +0,0 @@
|
||||
970811
|
||||
|
||||
TODO list for the g77 library
|
||||
|
||||
* `Makefile.in's should be brought up to standard; I'm not sure they
|
||||
have a complete set of targets at present.
|
||||
|
||||
* Investigate building shared libraries on systems we know about
|
||||
(probably in 0.5.22, using libtool-1.0 from the FSF, which looks
|
||||
quite useful).
|
||||
|
||||
* Test cases.
|
||||
|
||||
* Allow the library to be stripped to save space.
|
||||
|
||||
* An interface to IEEE maths functions from libc where this makes
|
||||
sense.
|
File diff suppressed because it is too large
Load Diff
2084
gcc/f/runtime/configure
vendored
2084
gcc/f/runtime/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -1,390 +0,0 @@
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
# Copyright (C) 1995, 1997 Free Software Foundation, Inc.
|
||||
# Contributed by Dave Love (d.love@dl.ac.uk).
|
||||
#
|
||||
#This file is part of GNU Fortran.
|
||||
#
|
||||
#GNU Fortran is free software; you can redistribute it and/or modify
|
||||
#it under the terms of the GNU General Public License as published by
|
||||
#the Free Software Foundation; either version 2, or (at your option)
|
||||
#any later version.
|
||||
#
|
||||
#GNU Fortran is distributed in the hope that it will be useful,
|
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#GNU General Public License for more details.
|
||||
#
|
||||
#You should have received a copy of the GNU General Public License
|
||||
#along with GNU Fortran; see the file COPYING. If not, write to
|
||||
#the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
#02111-1307, USA.
|
||||
|
||||
AC_INIT(libF77/Version.c)
|
||||
|
||||
AC_REVISION(1.10)
|
||||
|
||||
dnl Checks for programs.
|
||||
# For g77 we'll set CC to point at the built gcc, but this will get it into
|
||||
# the makefiles
|
||||
AC_PROG_CC
|
||||
dnl AC_C_CROSS
|
||||
dnl Gives misleading `(cached)' message from the check.
|
||||
if test "$CROSS";then
|
||||
ac_cv_c_cross=yes
|
||||
else
|
||||
ac_cv_c_cross=no
|
||||
fi
|
||||
|
||||
dnl These should be inherited in the recursive make, but ensure they are
|
||||
dnl defined:
|
||||
test "$AR" || AR=ar
|
||||
AC_SUBST(AR)
|
||||
if test "$RANLIB"; then :
|
||||
AC_SUBST(RANLIB)
|
||||
dnl Make sure that RANLIB_TEST is set also.
|
||||
if test -z "$RANLIB_TEST"; then
|
||||
RANLIB_TEST=true
|
||||
fi
|
||||
else
|
||||
RANLIB_TEST=true
|
||||
AC_PROG_RANLIB
|
||||
fi
|
||||
AC_SUBST(RANLIB_TEST)
|
||||
|
||||
dnl not needed for g77?
|
||||
dnl AC_PROG_MAKE_SET
|
||||
|
||||
dnl Checks for libraries.
|
||||
|
||||
dnl Checks for header files.
|
||||
# Sanity check for the cross-compilation case:
|
||||
AC_CHECK_HEADER(stdio.h,:,
|
||||
[AC_MSG_ERROR([Can't find stdio.h.
|
||||
You must have a usable C system for the target already installed, at least
|
||||
including headers and, preferably, the library, before you can configure
|
||||
the G77 runtime system. If necessary, install gcc now with \`LANGUAGES=c',
|
||||
then the target library, then build with \`LANGUAGES=f77'.])])
|
||||
|
||||
AC_HEADER_STDC
|
||||
dnl We could do this if we didn't know we were using gcc
|
||||
dnl AC_MSG_CHECKING(for prototype-savvy compiler)
|
||||
dnl AC_CACHE_VAL(g77_cv_sys_proto,
|
||||
dnl [AC_TRY_LINK(,
|
||||
dnl dnl looks screwy because TRY_LINK expects a function body
|
||||
dnl [return 0;} int foo (int * bar) {],
|
||||
dnl g77_cv_sys_proto=yes,
|
||||
dnl [g77_cv_sys_proto=no
|
||||
dnl AC_DEFINE(KR_headers)])])
|
||||
dnl AC_MSG_RESULT($g77_cv_sys_proto)
|
||||
|
||||
dnl for U77
|
||||
dnl AC_CHECK_HEADERS(unistd.h)
|
||||
|
||||
AC_MSG_CHECKING(for posix)
|
||||
AC_CACHE_VAL(g77_cv_header_posix,
|
||||
AC_EGREP_CPP(yes,
|
||||
[#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#ifdef _POSIX_VERSION
|
||||
yes
|
||||
#endif
|
||||
],
|
||||
g77_cv_header_posix=yes,
|
||||
g77_cv_header_posix=no))
|
||||
AC_MSG_RESULT($g77_cv_header_posix)
|
||||
|
||||
# We can rely on the GNU library being posix-ish. I guess checking the
|
||||
# header isn't actually like checking the functions, though...
|
||||
AC_MSG_CHECKING(for GNU library)
|
||||
AC_CACHE_VAL(g77_cv_lib_gnu,
|
||||
AC_EGREP_CPP(yes,
|
||||
[#include <stdio.h>
|
||||
#ifdef __GNU_LIBRARY__
|
||||
yes
|
||||
#endif
|
||||
],
|
||||
g77_cv_lib_gnu=yes, g77_cv_lib_gnu=no))
|
||||
AC_MSG_RESULT($g77_cv_lib_gnu)
|
||||
|
||||
# Apparently cygwin needs to be special-cased.
|
||||
AC_MSG_CHECKING([for cyg\`win'32])
|
||||
AC_CACHE_VAL(g77_cv_sys_cygwin32,
|
||||
AC_EGREP_CPP(yes,
|
||||
[#ifdef __CYGWIN32__
|
||||
yes
|
||||
#endif
|
||||
],
|
||||
g77_cv_sys_cygwin32=yes,
|
||||
g77_cv_sys_cygwin32=no))
|
||||
AC_MSG_RESULT($g77_cv_sys_cygwin32)
|
||||
|
||||
# ditto for mingw32.
|
||||
AC_MSG_CHECKING([for mingw32])
|
||||
AC_CACHE_VAL(g77_cv_sys_mingw32,
|
||||
AC_EGREP_CPP(yes,
|
||||
[#ifdef __MINGW32__
|
||||
yes
|
||||
#endif
|
||||
],
|
||||
g77_cv_sys_mingw32=yes,
|
||||
g77_cv_sys_mingw32=no))
|
||||
AC_MSG_RESULT($g77_cv_sys_mingw32)
|
||||
|
||||
|
||||
AC_CHECK_HEADER(fcntl.h,
|
||||
test $g77_cv_header_posix = yes && AC_DEFINE(_POSIX_SOURCE),
|
||||
AC_DEFINE(NO_FCNTL) AC_DEFINE(OPEN_DECL))
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_TYPE_SIZE_T
|
||||
|
||||
dnl Checks for library functions.
|
||||
AC_TYPE_SIGNAL
|
||||
# we'll get atexit by default
|
||||
if test $ac_cv_header_stdc != yes; then
|
||||
AC_CHECK_FUNC(atexit,
|
||||
AC_DEFINE(onexit,atexit),dnl just in case
|
||||
[AC_DEFINE(NO_ONEXIT)
|
||||
AC_CHECK_FUNC(onexit,,
|
||||
[AC_CHECK_FUNC(on_exit,
|
||||
AC_DEFINE(onexit,on_exit),)])])
|
||||
else true
|
||||
fi
|
||||
|
||||
# This should always succeed on unix.
|
||||
# Apparently positive result on cygwin loses re. NON_UNIX_STDIO
|
||||
# (as of cygwin b18). Likewise on mingw.
|
||||
AC_CHECK_FUNC(fstat)
|
||||
AC_MSG_CHECKING([need for NON_UNIX_STDIO])
|
||||
if test $g77_cv_sys_cygwin32 = yes \
|
||||
|| test $g77_cv_sys_mingw32 = yes \
|
||||
|| test $ac_cv_func_fstat = no; then
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(NON_UNIX_STDIO)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
# This is necessary for e.g. Linux:
|
||||
AC_MSG_CHECKING([for necessary members of struct FILE])
|
||||
AC_CACHE_VAL(g77_cv_struct_FILE,
|
||||
[AC_TRY_COMPILE([#include <stdio.h>],
|
||||
[FILE s; s._ptr; s._base; s._flag;],g77_cv_struct_FILE=yes,
|
||||
g77_cv_struct_FILE=no)])dnl
|
||||
AC_MSG_RESULT($g77_cv_struct_FILE)
|
||||
if test $g77_cv_struct_FILE = no; then
|
||||
AC_DEFINE(MISSING_FILE_ELEMS)
|
||||
fi
|
||||
|
||||
dnl perhaps should check also for remainder
|
||||
dnl Unfortunately, the message implies we're just checking for -lm...
|
||||
AC_CHECK_LIB(m,drem,AC_DEFINE(IEEE_drem))
|
||||
|
||||
dnl for U77:
|
||||
dnl AC_CHECK_FUNCS(symlink getcwd lstat)
|
||||
dnl test $ac_cv_func_symlink = yes && SYMLNK=symlnk_.o
|
||||
dnl test $ac_cv_func_lstat = yes && SYMLNK="$SYMLNK lstat_.o"
|
||||
dnl AC_SUBST(SYMLNK)
|
||||
|
||||
# posix will guarantee the right behaviour for sprintf, else we can't be
|
||||
# sure; HEADER_STDC wouldn't be the right check in sunos4, for instance.
|
||||
# However, on my sunos4/gcc setup unistd.h leads us wrongly to believe
|
||||
# we're posix-conformant, so always do the test.
|
||||
AC_MSG_CHECKING(for ansi/posix sprintf result)
|
||||
dnl This loses if included as an argument to AC_CACHE_VAL because the
|
||||
dnl changequote doesn't take effect and the [] vanish.
|
||||
dnl fixme: use cached value
|
||||
AC_TRY_RUN(changequote(<<, >>)dnl
|
||||
<<#include <stdio.h>
|
||||
/* does sprintf return the number of chars transferred? */
|
||||
main () {char foo[2]; (sprintf(foo, "1") == 1) ? exit(0) : exit(1);}
|
||||
>>changequote([, ]),
|
||||
g77_cv_sys_sprintf_ansi=yes,
|
||||
g77_cv_sys_sprintf_ansi=no,
|
||||
g77_cv_sys_sprintf_ansi=no)
|
||||
AC_CACHE_VAL(g77_cv_sys_sprintf_ansi,
|
||||
g77_cv_sys_sprintf_ansi=$g77_cv_sys_sprintf_ansi)
|
||||
dnl We get a misleading `(cached)' message...
|
||||
if test $ac_cv_c_cross = no; then
|
||||
AC_MSG_RESULT($g77_cv_sys_sprintf_ansi)
|
||||
else
|
||||
AC_MSG_RESULT([can't tell -- assuming no])
|
||||
fi
|
||||
# The cygwin patch takes steps to avoid defining USE_STRLEN here -- I don't
|
||||
# understand why.
|
||||
if test $g77_cv_sys_sprintf_ansi != yes; then
|
||||
AC_DEFINE(USE_STRLEN)
|
||||
fi
|
||||
|
||||
# define NON_ANSI_RW_MODES on unix (can't hurt)
|
||||
AC_MSG_CHECKING(NON_ANSI_RW_MODES)
|
||||
AC_EGREP_CPP(yes,
|
||||
[#ifdef unix
|
||||
yes
|
||||
#endif
|
||||
#ifdef __unix
|
||||
yes
|
||||
#endif
|
||||
#ifdef __unix__
|
||||
yes
|
||||
#endif
|
||||
], is_unix=yes, is_unix=no)
|
||||
if test $g77_cv_sys_cygwin32 = yes || test $g77_cv_sys_mingw32 = yes; then
|
||||
AC_MSG_RESULT(no)
|
||||
else
|
||||
if test $is_unix = yes; then
|
||||
AC_DEFINE(NON_ANSI_RW_MODES)
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
fi
|
||||
|
||||
# We have to firkle with the info in hconfig.h to figure out suitable types
|
||||
# (via com.h). proj.h and com.h are in $srcdir/.., config.h which they need
|
||||
# is in ../.. and the config files are in $srcdir/../../config.
|
||||
AC_MSG_CHECKING(f2c integer type)
|
||||
late_ac_cpp=$ac_cpp
|
||||
ac_cpp="$late_ac_cpp -I$srcdir/.. -I../.. -I$srcdir/../.. -I$srcdir/../../config"
|
||||
AC_CACHE_VAL(g77_cv_sys_f2cinteger,
|
||||
AC_EGREP_CPP(F2C_INTEGER=long int,
|
||||
[#include "proj.h"
|
||||
#define FFECOM_DETERMINE_TYPES 1
|
||||
#include "com.h"
|
||||
#if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG
|
||||
F2C_INTEGER=long int
|
||||
#elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT
|
||||
F2C_INTEGER=int
|
||||
#else
|
||||
# error "Cannot find a suitable type for F2C_INTEGER"
|
||||
#endif
|
||||
],
|
||||
g77_cv_sys_f2cinteger="long int",)
|
||||
if test "$g77_cv_sys_f2cinteger" = ""; then
|
||||
AC_EGREP_CPP(F2C_INTEGER=int,
|
||||
[#include "proj.h"
|
||||
#define FFECOM_DETERMINE_TYPES 1
|
||||
#include "com.h"
|
||||
#if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG
|
||||
F2C_INTEGER=long int
|
||||
#elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT
|
||||
F2C_INTEGER=int
|
||||
#else
|
||||
# error "Cannot find a suitable type for F2C_INTEGER"
|
||||
#endif
|
||||
],
|
||||
g77_cv_sys_f2cinteger=int,)
|
||||
fi
|
||||
if test "$g77_cv_sys_f2cinteger" = ""; then
|
||||
AC_MSG_RESULT("")
|
||||
AC_MSG_ERROR([Can't determine type for f2c integer; config.log may help.])
|
||||
fi
|
||||
)
|
||||
AC_MSG_RESULT($g77_cv_sys_f2cinteger)
|
||||
F2C_INTEGER=$g77_cv_sys_f2cinteger
|
||||
ac_cpp=$late_ac_cpp
|
||||
AC_SUBST(F2C_INTEGER)
|
||||
|
||||
AC_MSG_CHECKING(f2c long int type)
|
||||
late_ac_cpp=$ac_cpp
|
||||
ac_cpp="$late_ac_cpp -I$srcdir/.. -I../.. -I$srcdir/../.. -I$srcdir/../../config"
|
||||
AC_CACHE_VAL(g77_cv_sys_f2clongint,
|
||||
AC_EGREP_CPP(F2C_LONGINT=long int,
|
||||
[#include "proj.h"
|
||||
#define FFECOM_DETERMINE_TYPES 1
|
||||
#include "com.h"
|
||||
#if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG
|
||||
F2C_LONGINT=long int
|
||||
#elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG
|
||||
F2C_LONGINT=long long int
|
||||
#else
|
||||
# error "Cannot find a suitable type for F2C_LONGINT"
|
||||
#endif
|
||||
],
|
||||
g77_cv_sys_f2clongint="long int",)
|
||||
if test "$g77_cv_sys_f2clongint" = ""; then
|
||||
AC_EGREP_CPP(F2C_LONGINT=long long int,
|
||||
[#include "proj.h"
|
||||
#define FFECOM_DETERMINE_TYPES 1
|
||||
#include "com.h"
|
||||
#if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG
|
||||
F2C_LONGINT=long int
|
||||
#elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG
|
||||
F2C_LONGINT=long long int
|
||||
#else
|
||||
# error "Cannot find a suitable type for F2C_LONGINT"
|
||||
#endif
|
||||
],
|
||||
g77_cv_sys_f2clongint="long long int",)
|
||||
fi
|
||||
if test "$g77_cv_sys_f2clongint" = ""; then
|
||||
AC_MSG_RESULT("")
|
||||
AC_MSG_ERROR([Can't determine type for f2c long int; config.log may help.])
|
||||
fi
|
||||
)
|
||||
AC_MSG_RESULT($g77_cv_sys_f2clongint)
|
||||
F2C_LONGINT=$g77_cv_sys_f2clongint
|
||||
ac_cpp=$late_ac_cpp
|
||||
AC_SUBST(F2C_LONGINT)
|
||||
|
||||
dnl maybe check for drem/remainder
|
||||
|
||||
AC_SUBST(CROSS)
|
||||
|
||||
|
||||
# This EOF_CHAR is a misfeature on unix.
|
||||
AC_DEFINE(NO_EOF_CHAR_CHECK)
|
||||
|
||||
AC_DEFINE(Skip_f2c_Undefs)
|
||||
|
||||
dnl Craig had these in f2c.h, but they're only relevant for building libf2c
|
||||
dnl anyway.
|
||||
|
||||
dnl For GNU Fortran (g77), we always enable the following behaviors for
|
||||
dnl libf2c, to make things easy on the programmer. The alternate
|
||||
dnl behaviors have their uses, and g77 might provide them as compiler,
|
||||
dnl rather than library, options, so only a single copy of a shared libf2c
|
||||
dnl need be built for a system.
|
||||
|
||||
dnl This makes unformatted I/O more consistent in relation to other
|
||||
dnl systems. It is not required by the F77 standard.
|
||||
|
||||
AC_DEFINE(Pad_UDread)
|
||||
|
||||
dnl This makes ERR= and IOSTAT= returns work properly in disk-full
|
||||
dnl situations, making things work more as expected. It slows things
|
||||
dnl down, so g77 will probably someday choose the original implementation
|
||||
dnl on a case-by-case basis when it can be shown to not be necessary
|
||||
dnl (e.g. no ERR= or IOSTAT=) or when it is given the appropriate
|
||||
dnl compile-time option or, perhaps, source-code directive.
|
||||
|
||||
dnl AC_DEFINE(ALWAYS_FLUSH)
|
||||
|
||||
dnl Most Fortran implementations do this, so to make it easier
|
||||
dnl to compare the output of g77-compiled programs to those compiled
|
||||
dnl by most other compilers, tell libf2c to put leading zeros in
|
||||
dnl appropriate places on output
|
||||
|
||||
AC_DEFINE(WANT_LEAD_0)
|
||||
|
||||
# avoid confusion in case the `makefile's from the f2c distribution have
|
||||
# got put here
|
||||
test -f libF77/makefile && mv libF77/makefile libF77/makefile.ori
|
||||
test -f libI77/makefile && mv libI77/makefile libI77/makefile.ori
|
||||
test -f libU77/makefile && mv libU77/makefile libU77/makefile.ori
|
||||
|
||||
AC_OUTPUT(Makefile ../../include/f2c.h:f2c.h.in libI77/Makefile libF77/Makefile libU77/Makefile)
|
||||
|
||||
dnl We might have configuration options to:
|
||||
dnl * allow non-standard string concatenation (use libF77 s_catow.o,
|
||||
dnl not s_cat.o)
|
||||
dnl * change unit preconnexion in libI77/err.c (f_init.c)
|
||||
dnl * -DALWAYS_FLUSH in libI77
|
||||
dnl * -DOMIT_BLANK_CC in libI77
|
||||
|
||||
dnl Local Variables:
|
||||
dnl comment-start: "dnl "
|
||||
dnl comment-end: ""
|
||||
dnl comment-start-skip: "\\bdnl\\b\\s *"
|
||||
dnl End:
|
@ -1,15 +0,0 @@
|
||||
f2c is a Fortran to C converter under development since 1990 by
|
||||
David M. Gay (then AT&T Bell Labs, now Bell Labs, Lucent Technologies)
|
||||
Stu Feldman (then at Bellcore, now at IBM)
|
||||
Mark Maimone (Carnegie-Mellon University)
|
||||
Norm Schryer (then AT&T Bell Labs, now AT&T Labs)
|
||||
Please send bug reports to dmg@research.bell-labs.com .
|
||||
|
||||
AT&T, Bellcore and Lucent disclaim all warranties with regard to this
|
||||
software, including all implied warranties of merchantability
|
||||
and fitness. In no event shall AT&T, Bellcore or Lucent be liable for
|
||||
any special, indirect or consequential damages or any damages
|
||||
whatsoever resulting from loss of use, data or profits, whether
|
||||
in an action of contract, negligence or other tortious action,
|
||||
arising out of or in connection with the use or performance of
|
||||
this software.
|
@ -1,227 +0,0 @@
|
||||
/* f2c.h -- Standard Fortran to C header file */
|
||||
|
||||
/** barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed."
|
||||
|
||||
- From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */
|
||||
|
||||
#ifndef F2C_INCLUDE
|
||||
#define F2C_INCLUDE
|
||||
|
||||
/* F2C_INTEGER will normally be `int' but would be `long' on 16-bit systems */
|
||||
/* we assume short, float are OK */
|
||||
typedef @F2C_INTEGER@ /* long int */ integer;
|
||||
typedef unsigned @F2C_INTEGER@ /* long */ uinteger;
|
||||
typedef char *address;
|
||||
typedef short int shortint;
|
||||
typedef float real;
|
||||
typedef double doublereal;
|
||||
typedef struct { real r, i; } complex;
|
||||
typedef struct { doublereal r, i; } doublecomplex;
|
||||
typedef @F2C_INTEGER@ /* long int */ logical;
|
||||
typedef short int shortlogical;
|
||||
typedef char logical1;
|
||||
typedef char integer1;
|
||||
typedef @F2C_LONGINT@ /* long long */ longint; /* system-dependent */
|
||||
typedef unsigned @F2C_LONGINT@ /* long long */ ulongint; /* system-dependent */
|
||||
#define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b)))
|
||||
#define qbit_set(a,b) ((a) | ((ulongint)1 << (b)))
|
||||
|
||||
#define TRUE_ (1)
|
||||
#define FALSE_ (0)
|
||||
|
||||
/* Extern is for use with -E */
|
||||
#ifndef Extern
|
||||
#define Extern extern
|
||||
#endif
|
||||
|
||||
/* I/O stuff */
|
||||
|
||||
#ifdef f2c_i2
|
||||
#error "f2c_i2 will not work with g77!!!!"
|
||||
/* for -i2 */
|
||||
typedef short flag;
|
||||
typedef short ftnlen;
|
||||
typedef short ftnint;
|
||||
#else
|
||||
typedef @F2C_INTEGER@ /* long int */ flag;
|
||||
typedef @F2C_INTEGER@ /* long int */ ftnlen;
|
||||
typedef @F2C_INTEGER@ /* long int */ ftnint;
|
||||
#endif
|
||||
|
||||
/*external read, write*/
|
||||
typedef struct
|
||||
{ flag cierr;
|
||||
ftnint ciunit;
|
||||
flag ciend;
|
||||
char *cifmt;
|
||||
ftnint cirec;
|
||||
} cilist;
|
||||
|
||||
/*internal read, write*/
|
||||
typedef struct
|
||||
{ flag icierr;
|
||||
char *iciunit;
|
||||
flag iciend;
|
||||
char *icifmt;
|
||||
ftnint icirlen;
|
||||
ftnint icirnum;
|
||||
} icilist;
|
||||
|
||||
/*open*/
|
||||
typedef struct
|
||||
{ flag oerr;
|
||||
ftnint ounit;
|
||||
char *ofnm;
|
||||
ftnlen ofnmlen;
|
||||
char *osta;
|
||||
char *oacc;
|
||||
char *ofm;
|
||||
ftnint orl;
|
||||
char *oblnk;
|
||||
} olist;
|
||||
|
||||
/*close*/
|
||||
typedef struct
|
||||
{ flag cerr;
|
||||
ftnint cunit;
|
||||
char *csta;
|
||||
} cllist;
|
||||
|
||||
/*rewind, backspace, endfile*/
|
||||
typedef struct
|
||||
{ flag aerr;
|
||||
ftnint aunit;
|
||||
} alist;
|
||||
|
||||
/* inquire */
|
||||
typedef struct
|
||||
{ flag inerr;
|
||||
ftnint inunit;
|
||||
char *infile;
|
||||
ftnlen infilen;
|
||||
ftnint *inex; /*parameters in standard's order*/
|
||||
ftnint *inopen;
|
||||
ftnint *innum;
|
||||
ftnint *innamed;
|
||||
char *inname;
|
||||
ftnlen innamlen;
|
||||
char *inacc;
|
||||
ftnlen inacclen;
|
||||
char *inseq;
|
||||
ftnlen inseqlen;
|
||||
char *indir;
|
||||
ftnlen indirlen;
|
||||
char *infmt;
|
||||
ftnlen infmtlen;
|
||||
char *inform;
|
||||
ftnint informlen;
|
||||
char *inunf;
|
||||
ftnlen inunflen;
|
||||
ftnint *inrecl;
|
||||
ftnint *innrec;
|
||||
char *inblank;
|
||||
ftnlen inblanklen;
|
||||
} inlist;
|
||||
|
||||
#define VOID void
|
||||
|
||||
union Multitype { /* for multiple entry points */
|
||||
integer1 g;
|
||||
shortint h;
|
||||
integer i;
|
||||
/* longint j; */
|
||||
real r;
|
||||
doublereal d;
|
||||
complex c;
|
||||
doublecomplex z;
|
||||
};
|
||||
|
||||
typedef union Multitype Multitype;
|
||||
|
||||
/*typedef long int Long;*/ /* No longer used; formerly in Namelist */
|
||||
|
||||
struct Vardesc { /* for Namelist */
|
||||
char *name;
|
||||
char *addr;
|
||||
ftnlen *dims;
|
||||
int type;
|
||||
};
|
||||
typedef struct Vardesc Vardesc;
|
||||
|
||||
struct Namelist {
|
||||
char *name;
|
||||
Vardesc **vars;
|
||||
int nvars;
|
||||
};
|
||||
typedef struct Namelist Namelist;
|
||||
|
||||
#define abs(x) ((x) >= 0 ? (x) : -(x))
|
||||
#define dabs(x) (doublereal)abs(x)
|
||||
#define min(a,b) ((a) <= (b) ? (a) : (b))
|
||||
#define max(a,b) ((a) >= (b) ? (a) : (b))
|
||||
#define dmin(a,b) (doublereal)min(a,b)
|
||||
#define dmax(a,b) (doublereal)max(a,b)
|
||||
#define bit_test(a,b) ((a) >> (b) & 1)
|
||||
#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
|
||||
#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
|
||||
|
||||
/* procedure parameter types for -A and -C++ */
|
||||
|
||||
#define F2C_proc_par_types 1
|
||||
#ifdef __cplusplus
|
||||
typedef int /* Unknown procedure type */ (*U_fp)(...);
|
||||
typedef shortint (*J_fp)(...);
|
||||
typedef integer (*I_fp)(...);
|
||||
typedef real (*R_fp)(...);
|
||||
typedef doublereal (*D_fp)(...), (*E_fp)(...);
|
||||
typedef /* Complex */ VOID (*C_fp)(...);
|
||||
typedef /* Double Complex */ VOID (*Z_fp)(...);
|
||||
typedef logical (*L_fp)(...);
|
||||
typedef shortlogical (*K_fp)(...);
|
||||
typedef /* Character */ VOID (*H_fp)(...);
|
||||
typedef /* Subroutine */ int (*S_fp)(...);
|
||||
#else
|
||||
typedef int /* Unknown procedure type */ (*U_fp)();
|
||||
typedef shortint (*J_fp)();
|
||||
typedef integer (*I_fp)();
|
||||
typedef real (*R_fp)();
|
||||
typedef doublereal (*D_fp)(), (*E_fp)();
|
||||
typedef /* Complex */ VOID (*C_fp)();
|
||||
typedef /* Double Complex */ VOID (*Z_fp)();
|
||||
typedef logical (*L_fp)();
|
||||
typedef shortlogical (*K_fp)();
|
||||
typedef /* Character */ VOID (*H_fp)();
|
||||
typedef /* Subroutine */ int (*S_fp)();
|
||||
#endif
|
||||
/* E_fp is for real functions when -R is not specified */
|
||||
typedef VOID C_f; /* complex function */
|
||||
typedef VOID H_f; /* character function */
|
||||
typedef VOID Z_f; /* double complex function */
|
||||
typedef doublereal E_f; /* real function with -R not specified */
|
||||
|
||||
/* undef any lower-case symbols that your C compiler predefines, e.g.: */
|
||||
|
||||
#ifndef Skip_f2c_Undefs
|
||||
/* (No such symbols should be defined in a strict ANSI C compiler.
|
||||
We can avoid trouble with f2c-translated code by using
|
||||
gcc -ansi [-traditional].) */
|
||||
#undef cray
|
||||
#undef gcos
|
||||
#undef mc68010
|
||||
#undef mc68020
|
||||
#undef mips
|
||||
#undef pdp11
|
||||
#undef sgi
|
||||
#undef sparc
|
||||
#undef sun
|
||||
#undef sun2
|
||||
#undef sun3
|
||||
#undef sun4
|
||||
#undef u370
|
||||
#undef u3b
|
||||
#undef u3b2
|
||||
#undef u3b5
|
||||
#undef unix
|
||||
#undef vax
|
||||
#endif
|
||||
#endif
|
@ -1,562 +0,0 @@
|
||||
/* Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
This file is part of GNU Fortran run-time library.
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
GNU Fortran is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with GNU Fortran; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
|
||||
#include <f2c.h>
|
||||
typedef int (*sig_proc)(int);
|
||||
|
||||
#ifdef Labort
|
||||
int abort_ (void) {
|
||||
extern int G77_abort_0 (void);
|
||||
return G77_abort_0 ();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lderf
|
||||
double derf_ (doublereal *x) {
|
||||
extern double G77_derf_0 (doublereal *x);
|
||||
return G77_derf_0 (x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lderfc
|
||||
double derfc_ (doublereal *x) {
|
||||
extern double G77_derfc_0 (doublereal *x);
|
||||
return G77_derfc_0 (x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lef1asc
|
||||
int ef1asc_ (ftnint *a, ftnlen *la, ftnint *b, ftnlen *lb) {
|
||||
extern int G77_ef1asc_0 (ftnint *a, ftnlen *la, ftnint *b, ftnlen *lb);
|
||||
return G77_ef1asc_0 (a, la, b, lb);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lef1cmc
|
||||
integer ef1cmc_ (ftnint *a, ftnlen *la, ftnint *b, ftnlen *lb) {
|
||||
extern integer G77_ef1cmc_0 (ftnint *a, ftnlen *la, ftnint *b, ftnlen *lb);
|
||||
return G77_ef1cmc_0 (a, la, b, lb);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lerf
|
||||
double erf_ (real *x) {
|
||||
extern double G77_erf_0 (real *x);
|
||||
return G77_erf_0 (x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lerfc
|
||||
double erfc_ (real *x) {
|
||||
extern double G77_erfc_0 (real *x);
|
||||
return G77_erfc_0 (x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lexit
|
||||
void exit_ (integer *rc) {
|
||||
extern void G77_exit_0 (integer *rc);
|
||||
G77_exit_0 (rc);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lgetarg
|
||||
void getarg_ (ftnint *n, char *s, ftnlen ls) {
|
||||
extern void G77_getarg_0 (ftnint *n, char *s, ftnlen ls);
|
||||
G77_getarg_0 (n, s, ls);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lgetenv
|
||||
void getenv_ (char *fname, char *value, ftnlen flen, ftnlen vlen) {
|
||||
extern void G77_getenv_0 (char *fname, char *value, ftnlen flen, ftnlen vlen);
|
||||
G77_getenv_0 (fname, value, flen, vlen);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Liargc
|
||||
ftnint iargc_ (void) {
|
||||
extern ftnint G77_iargc_0 (void);
|
||||
return G77_iargc_0 ();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lsignal
|
||||
ftnint signal_ (integer *sigp, sig_proc proc) {
|
||||
extern ftnint G77_signal_0 (integer *sigp, sig_proc proc);
|
||||
return G77_signal_0 (sigp, proc);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lsystem
|
||||
integer system_ (char *s, ftnlen n) {
|
||||
extern integer G77_system_0 (char *s, ftnlen n);
|
||||
return G77_system_0 (s, n);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lflush
|
||||
int flush_ (void) {
|
||||
extern int G77_flush_0 (void);
|
||||
return G77_flush_0 ();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lftell
|
||||
integer ftell_ (integer *Unit) {
|
||||
extern integer G77_ftell_0 (integer *Unit);
|
||||
return G77_ftell_0 (Unit);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lfseek
|
||||
integer fseek_ (integer *Unit, integer *offset, integer *xwhence) {
|
||||
extern integer G77_fseek_0 (integer *Unit, integer *offset, integer *xwhence);
|
||||
return G77_fseek_0 (Unit, offset, xwhence);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Laccess
|
||||
integer access_ (const char *name, const char *mode, ftnlen Lname, ftnlen Lmode) {
|
||||
extern integer G77_access_0 (const char *name, const char *mode, ftnlen Lname, ftnlen Lmode);
|
||||
return G77_access_0 (name, mode, Lname, Lmode);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lalarm
|
||||
integer alarm_ (integer *seconds, sig_proc proc, integer *status) {
|
||||
extern integer G77_alarm_0 (integer *seconds, sig_proc proc);
|
||||
return G77_alarm_0 (seconds, proc);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lbesj0
|
||||
double besj0_ (const real *x) {
|
||||
return j0 (*x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lbesj1
|
||||
double besj1_ (const real *x) {
|
||||
return j1 (*x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lbesjn
|
||||
double besjn_ (const integer *n, real *x) {
|
||||
return jn (*n, *x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lbesy0
|
||||
double besy0_ (const real *x) {
|
||||
return y0 (*x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lbesy1
|
||||
double besy1_ (const real *x) {
|
||||
return y1 (*x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lbesyn
|
||||
double besyn_ (const integer *n, real *x) {
|
||||
return yn (*n, *x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lchdir
|
||||
integer chdir_ (const char *name, const ftnlen Lname) {
|
||||
extern integer G77_chdir_0 (const char *name, const ftnlen Lname);
|
||||
return G77_chdir_0 (name, Lname);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lchmod
|
||||
integer chmod_ (const char *name, const char *mode, const ftnlen Lname, const ftnlen Lmode) {
|
||||
extern integer G77_chmod_0 (const char *name, const char *mode, const ftnlen Lname, const ftnlen Lmode);
|
||||
return G77_chmod_0 (name, mode, Lname, Lmode);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lctime
|
||||
void ctime_ (char *chtime, const ftnlen Lchtime, longint *xstime) {
|
||||
extern void G77_ctime_0 (char *chtime, const ftnlen Lchtime, longint *xstime);
|
||||
G77_ctime_0 (chtime, Lchtime, xstime);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Ldate
|
||||
int date_ (char *buf, ftnlen buf_len) {
|
||||
extern int G77_date_0 (char *buf, ftnlen buf_len);
|
||||
return G77_date_0 (buf, buf_len);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Ldbesj0
|
||||
double dbesj0_ (const double *x) {
|
||||
return j0 (*x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Ldbesj1
|
||||
double dbesj1_ (const double *x) {
|
||||
return j1 (*x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Ldbesjn
|
||||
double dbesjn_ (const integer *n, double *x) {
|
||||
return jn (*n, *x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Ldbesy0
|
||||
double dbesy0_ (const double *x) {
|
||||
return y0 (*x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Ldbesy1
|
||||
double dbesy1_ (const double *x) {
|
||||
return y1 (*x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Ldbesyn
|
||||
double dbesyn_ (const integer *n, double *x) {
|
||||
return yn (*n, *x);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Ldtime
|
||||
double dtime_ (real tarray[2]) {
|
||||
extern double G77_dtime_0 (real tarray[2]);
|
||||
return G77_dtime_0 (tarray);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Letime
|
||||
double etime_ (real tarray[2]) {
|
||||
extern double G77_etime_0 (real tarray[2]);
|
||||
return G77_etime_0 (tarray);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lfdate
|
||||
void fdate_ (char *ret_val, ftnlen ret_val_len) {
|
||||
extern void G77_fdate_0 (char *ret_val, ftnlen ret_val_len);
|
||||
G77_fdate_0 (ret_val, ret_val_len);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lfgetc
|
||||
integer fgetc_ (const integer *lunit, char *c, ftnlen Lc) {
|
||||
extern integer G77_fgetc_0 (const integer *lunit, char *c, ftnlen Lc);
|
||||
return G77_fgetc_0 (lunit, c, Lc);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lfget
|
||||
integer fget_ (char *c, const ftnlen Lc) {
|
||||
extern integer G77_fget_0 (char *c, const ftnlen Lc);
|
||||
return G77_fget_0 (c, Lc);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lflush1
|
||||
int flush1_ (const integer *lunit) {
|
||||
extern int G77_flush1_0 (const integer *lunit);
|
||||
return G77_flush1_0 (lunit);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lfnum
|
||||
integer fnum_ (integer *lunit) {
|
||||
extern integer G77_fnum_0 (integer *lunit);
|
||||
return G77_fnum_0 (lunit);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lfputc
|
||||
integer fputc_ (const integer *lunit, const char *c, const ftnlen Lc) {
|
||||
extern integer G77_fputc_0 (const integer *lunit, const char *c, const ftnlen Lc);
|
||||
return G77_fputc_0 (lunit, c, Lc);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lfput
|
||||
integer fput_ (const char *c, const ftnlen Lc) {
|
||||
extern integer G77_fput_0 (const char *c, const ftnlen Lc);
|
||||
return G77_fput_0 (c, Lc);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lfstat
|
||||
integer fstat_ (const integer *lunit, integer statb[13]) {
|
||||
extern integer G77_fstat_0 (const integer *lunit, integer statb[13]);
|
||||
return G77_fstat_0 (lunit, statb);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lgerror
|
||||
int gerror_ (char *str, ftnlen Lstr) {
|
||||
extern int G77_gerror_0 (char *str, ftnlen Lstr);
|
||||
return G77_gerror_0 (str, Lstr);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lgetcwd
|
||||
integer getcwd_ (char *str, const ftnlen Lstr) {
|
||||
extern integer G77_getcwd_0 (char *str, const ftnlen Lstr);
|
||||
return G77_getcwd_0 (str, Lstr);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lgetgid
|
||||
integer getgid_ (void) {
|
||||
extern integer G77_getgid_0 (void);
|
||||
return G77_getgid_0 ();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lgetlog
|
||||
int getlog_ (char *str, const ftnlen Lstr) {
|
||||
extern int G77_getlog_0 (char *str, const ftnlen Lstr);
|
||||
return G77_getlog_0 (str, Lstr);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lgetpid
|
||||
integer getpid_ (void) {
|
||||
extern integer G77_getpid_0 (void);
|
||||
return G77_getpid_0 ();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lgetuid
|
||||
integer getuid_ (void) {
|
||||
extern integer G77_getuid_0 (void);
|
||||
return G77_getuid_0 ();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lgmtime
|
||||
int gmtime_ (const integer *stime, integer tarray[9]) {
|
||||
extern int G77_gmtime_0 (const integer *stime, integer tarray[9]);
|
||||
return G77_gmtime_0 (stime, tarray);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lhostnm
|
||||
integer hostnm_ (char *name, ftnlen Lname) {
|
||||
extern integer G77_hostnm_0 (char *name, ftnlen Lname);
|
||||
return G77_hostnm_0 (name, Lname);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lidate
|
||||
int idate_ (int iarray[3]) {
|
||||
extern int G77_idate_0 (int iarray[3]);
|
||||
return G77_idate_0 (iarray);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lierrno
|
||||
integer ierrno_ (void) {
|
||||
extern integer G77_ierrno_0 (void);
|
||||
return G77_ierrno_0 ();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lirand
|
||||
integer irand_ (integer *flag) {
|
||||
extern integer G77_irand_0 (integer *flag);
|
||||
return G77_irand_0 (flag);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lisatty
|
||||
logical isatty_ (integer *lunit) {
|
||||
extern logical G77_isatty_0 (integer *lunit);
|
||||
return G77_isatty_0 (lunit);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Litime
|
||||
int itime_ (integer tarray[3]) {
|
||||
extern int G77_itime_0 (integer tarray[3]);
|
||||
return G77_itime_0 (tarray);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lkill
|
||||
integer kill_ (const integer *pid, const integer *signum) {
|
||||
extern integer G77_kill_0 (const integer *pid, const integer *signum);
|
||||
return G77_kill_0 (pid, signum);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Llink
|
||||
integer link_ (const char *path1, const char *path2, const ftnlen Lpath1, const ftnlen Lpath2) {
|
||||
extern integer G77_link_0 (const char *path1, const char *path2, const ftnlen Lpath1, const ftnlen Lpath2);
|
||||
return G77_link_0 (path1, path2, Lpath1, Lpath2);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Llnblnk
|
||||
integer lnblnk_ (char *str, ftnlen str_len) {
|
||||
extern integer G77_lnblnk_0 (char *str, ftnlen str_len);
|
||||
return G77_lnblnk_0 (str, str_len);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Llstat
|
||||
integer lstat_ (const char *name, integer statb[13], const ftnlen Lname) {
|
||||
extern integer G77_lstat_0 (const char *name, integer statb[13], const ftnlen Lname);
|
||||
return G77_lstat_0 (name, statb, Lname);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lltime
|
||||
int ltime_ (const integer *stime, integer tarray[9]) {
|
||||
extern int G77_ltime_0 (const integer *stime, integer tarray[9]);
|
||||
return G77_ltime_0 (stime, tarray);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lmclock
|
||||
longint mclock_ (void) {
|
||||
extern longint G77_mclock_0 (void);
|
||||
return G77_mclock_0 ();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lperror
|
||||
int perror_ (const char *str, const ftnlen Lstr) {
|
||||
extern int G77_perror_0 (const char *str, const ftnlen Lstr);
|
||||
return G77_perror_0 (str, Lstr);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lrand
|
||||
double rand_ (integer *flag) {
|
||||
extern double G77_rand_0 (integer *flag);
|
||||
return G77_rand_0 (flag);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lrename
|
||||
integer rename_ (const char *path1, const char *path2, const ftnlen Lpath1, const ftnlen Lpath2) {
|
||||
extern integer G77_rename_0 (const char *path1, const char *path2, const ftnlen Lpath1, const ftnlen Lpath2);
|
||||
return G77_rename_0 (path1, path2, Lpath1, Lpath2);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lsecnds
|
||||
double secnds_ (real *r) {
|
||||
extern double G77_secnds_0 (real *r);
|
||||
return G77_secnds_0 (r);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lsecond
|
||||
double second_ () {
|
||||
extern double G77_second_0 ();
|
||||
return G77_second_0 ();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lsleep
|
||||
int sleep_ (const integer *seconds) {
|
||||
extern int G77_sleep_0 (const integer *seconds);
|
||||
return G77_sleep_0 (seconds);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lsrand
|
||||
int srand_ (const integer *seed) {
|
||||
extern int G77_srand_0 (const integer *seed);
|
||||
return G77_srand_0 (seed);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lstat
|
||||
integer stat_ (const char *name, integer statb[13], const ftnlen Lname) {
|
||||
extern integer G77_stat_0 (const char *name, integer statb[13], const ftnlen Lname);
|
||||
return G77_stat_0 (name, statb, Lname);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lsymlnk
|
||||
integer symlnk_ (const char *path1, const char *path2, const ftnlen Lpath1, const ftnlen Lpath2) {
|
||||
extern integer G77_symlnk_0 (const char *path1, const char *path2, const ftnlen Lpath1, const ftnlen Lpath2);
|
||||
return G77_symlnk_0 (path1, path2, Lpath1, Lpath2);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lsclock
|
||||
int system_clock_ (integer *count, integer *count_rate, integer *count_max) {
|
||||
extern int G77_system_clock_0 (integer *count, integer *count_rate, integer *count_max);
|
||||
return G77_system_clock_0 (count, count_rate, count_max);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Ltime
|
||||
longint time_ (void) {
|
||||
extern longint G77_time_0 (void);
|
||||
return G77_time_0 ();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lttynam
|
||||
void ttynam_ (char *ret_val, ftnlen ret_val_len, integer *lunit) {
|
||||
extern void G77_ttynam_0 (char *ret_val, ftnlen ret_val_len, integer *lunit);
|
||||
G77_ttynam_0 (ret_val, ret_val_len, lunit);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lumask
|
||||
integer umask_ (integer *mask) {
|
||||
extern integer G77_umask_0 (integer *mask);
|
||||
return G77_umask_0 (mask);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lunlink
|
||||
integer unlink_ (const char *str, const ftnlen Lstr) {
|
||||
extern integer G77_unlink_0 (const char *str, const ftnlen Lstr);
|
||||
return G77_unlink_0 (str, Lstr);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lvxtidt
|
||||
int vxtidate_ (integer *m, integer *d, integer *y) {
|
||||
extern int G77_vxtidate_0 (integer *m, integer *d, integer *y);
|
||||
return G77_vxtidate_0 (m, d, y);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Lvxttim
|
||||
void vxttime_ (char chtime[8], const ftnlen Lchtime) {
|
||||
extern void G77_vxttime_0 (char chtime[8], const ftnlen Lchtime);
|
||||
G77_vxttime_0 (chtime, Lchtime);
|
||||
}
|
||||
#endif
|
@ -1,32 +0,0 @@
|
||||
#include "f2c.h"
|
||||
#undef abs
|
||||
#undef min
|
||||
#undef max
|
||||
#include <stdio.h>
|
||||
|
||||
static integer memfailure = 3;
|
||||
|
||||
#ifdef KR_headers
|
||||
extern char *malloc();
|
||||
extern void G77_exit_0 ();
|
||||
|
||||
char *
|
||||
F77_aloc(Len, whence) integer Len; char *whence;
|
||||
#else
|
||||
#include <stdlib.h>
|
||||
extern void G77_exit_0 (integer*);
|
||||
|
||||
char *
|
||||
F77_aloc(integer Len, char *whence)
|
||||
#endif
|
||||
{
|
||||
char *rv;
|
||||
unsigned int uLen = (unsigned int) Len; /* for K&R C */
|
||||
|
||||
if (!(rv = (char*)malloc(uLen))) {
|
||||
fprintf(stderr, "malloc(%u) failure in %s\n",
|
||||
uLen, whence);
|
||||
G77_exit_0 (&memfailure);
|
||||
}
|
||||
return rv;
|
||||
}
|
@ -1,95 +0,0 @@
|
||||
# Makefile for GNU F77 compiler runtime.
|
||||
# Copyright 1990 - 1994 by AT&T Bell Laboratories and Bellcore (see the
|
||||
# file `Notice').
|
||||
# Portions of this file Copyright (C) 1995, 1996 Free Software Foundation, Inc.
|
||||
# Contributed by Dave Love (d.love@dl.ac.uk).
|
||||
#
|
||||
#This file is part of GNU Fortran.
|
||||
#
|
||||
#GNU Fortran is free software; you can redistribute it and/or modify
|
||||
#it under the terms of the GNU General Public License as published by
|
||||
#the Free Software Foundation; either version 2, or (at your option)
|
||||
#any later version.
|
||||
#
|
||||
#GNU Fortran is distributed in the hope that it will be useful,
|
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#GNU General Public License for more details.
|
||||
#
|
||||
#You should have received a copy of the GNU General Public License
|
||||
#along with GNU Fortran; see the file COPYING. If not, write to
|
||||
#the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
#02111-1307, USA.
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
#### Start of system configuration section. ####
|
||||
|
||||
# The _FOR_TARGET things are appropriate for a cross-make, passed by the
|
||||
# superior makefile
|
||||
GCC_FOR_TARGET = @CC@
|
||||
CC = $(GCC_FOR_TARGET)
|
||||
CFLAGS = @CFLAGS@ $(GCC_FLAGS)
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
DEFS = @DEFS@
|
||||
CGFLAGS = #-g0
|
||||
# f2c.h should already be installed in xgcc's include directory but add that
|
||||
# to -I anyhow in case not using xgcc.
|
||||
ALL_CFLAGS = -I. -I$(srcdir) -I../../../include $(CPPFLAGS) $(DEFS) $(CFLAGS)
|
||||
AR = @AR@
|
||||
AR_FLAGS = rc
|
||||
RANLIB = @RANLIB@
|
||||
RANLIB_TEST = @RANLIB_TEST@
|
||||
CROSS = @CROSS@
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o
|
||||
|
||||
.c.o:
|
||||
$(CC) -c -DSkip_f2c_Undefs $(ALL_CFLAGS) $(CGFLAGS) $<
|
||||
|
||||
MISC = F77_aloc.o VersionF.o main.o s_rnge.o abort_.o getarg_.o iargc_.o\
|
||||
getenv_.o signal_.o s_stop.o s_paus.o system_.o cabs.o\
|
||||
derf_.o derfc_.o erf_.o erfc_.o sig_die.o exit_.o
|
||||
POW = pow_ci.o pow_dd.o pow_di.o pow_hh.o pow_ii.o pow_ri.o pow_zi.o pow_zz.o \
|
||||
pow_qq.o
|
||||
CX = c_abs.o c_cos.o c_div.o c_exp.o c_log.o c_sin.o c_sqrt.o
|
||||
DCX = z_abs.o z_cos.o z_div.o z_exp.o z_log.o z_sin.o z_sqrt.o
|
||||
REAL = r_abs.o r_acos.o r_asin.o r_atan.o r_atn2.o r_cnjg.o r_cos.o\
|
||||
r_cosh.o r_dim.o r_exp.o r_imag.o r_int.o\
|
||||
r_lg10.o r_log.o r_mod.o r_nint.o r_sign.o\
|
||||
r_sin.o r_sinh.o r_sqrt.o r_tan.o r_tanh.o
|
||||
DBL = d_abs.o d_acos.o d_asin.o d_atan.o d_atn2.o\
|
||||
d_cnjg.o d_cos.o d_cosh.o d_dim.o d_exp.o\
|
||||
d_imag.o d_int.o d_lg10.o d_log.o d_mod.o\
|
||||
d_nint.o d_prod.o d_sign.o d_sin.o d_sinh.o\
|
||||
d_sqrt.o d_tan.o d_tanh.o
|
||||
INT = i_abs.o i_dim.o i_dnnt.o i_indx.o i_len.o i_mod.o i_nint.o i_sign.o
|
||||
HALF = h_abs.o h_dim.o h_dnnt.o h_indx.o h_len.o h_mod.o h_nint.o h_sign.o
|
||||
CMP = l_ge.o l_gt.o l_le.o l_lt.o hl_ge.o hl_gt.o hl_le.o hl_lt.o
|
||||
EFL = ef1asc_.o ef1cmc_.o
|
||||
CHAR = s_cat.o s_cmp.o s_copy.o
|
||||
F90BIT = lbitbits.o lbitshft.o qbitbits.o qbitshft.o
|
||||
|
||||
F2C_H = ../../../include/f2c.h
|
||||
|
||||
all: $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \
|
||||
$(HALF) $(CMP) $(EFL) $(CHAR) $(F90BIT)
|
||||
|
||||
VersionF.o: Version.c
|
||||
$(CC) -c $(CGFLAGS) -o $@ $(srcdir)/Version.c
|
||||
|
||||
mostlyclean clean:
|
||||
-rm -f *.o
|
||||
|
||||
distclean maintainer-clean: clean
|
||||
-rm -f stage? include Makefile
|
||||
|
||||
# Not quite all these actually do depend on f2c.h...
|
||||
$(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \
|
||||
$(HALF) $(CMP) $(EFL) $(CHAR) $(F90BIT): $(F2C_H)
|
||||
|
||||
.PHONY: mostlyclean clean distclean maintainer-clean all
|
@ -1,23 +0,0 @@
|
||||
/****************************************************************
|
||||
Copyright 1990 - 1997 by AT&T, Lucent Technologies and Bellcore.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software
|
||||
and its documentation for any purpose and without fee is hereby
|
||||
granted, provided that the above copyright notice appear in all
|
||||
copies and that both that the copyright notice and this
|
||||
permission notice and warranty disclaimer appear in supporting
|
||||
documentation, and that the names of AT&T, Bell Laboratories,
|
||||
Lucent or Bellcore or any of their entities not be used in
|
||||
advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
AT&T, Lucent and Bellcore disclaim all warranties with regard to
|
||||
this software, including all implied warranties of
|
||||
merchantability and fitness. In no event shall AT&T, Lucent or
|
||||
Bellcore be liable for any special, indirect or consequential
|
||||
damages or any damages whatsoever resulting from loss of use,
|
||||
data or profits, whether in an action of contract, negligence or
|
||||
other tortious action, arising out of or in connection with the
|
||||
use or performance of this software.
|
||||
****************************************************************/
|
||||
|
@ -1,108 +0,0 @@
|
||||
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
|
@ -1,67 +0,0 @@
|
||||
static char junk[] = "\n@(#)LIBF77 VERSION 19970919\n";
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
char __G77_LIBF77_VERSION__[] = "0.5.21";
|
||||
|
||||
/*
|
||||
2.00 11 June 1980. File version.c added to library.
|
||||
2.01 31 May 1988. s_paus() flushes stderr; names of hl_* fixed
|
||||
[ d]erf[c ] added
|
||||
8 Aug. 1989: #ifdefs for f2c -i2 added to s_cat.c
|
||||
29 Nov. 1989: s_cmp returns long (for f2c)
|
||||
30 Nov. 1989: arg types from f2c.h
|
||||
12 Dec. 1989: s_rnge allows long names
|
||||
19 Dec. 1989: getenv_ allows unsorted environment
|
||||
28 Mar. 1990: add exit(0) to end of main()
|
||||
2 Oct. 1990: test signal(...) == SIG_IGN rather than & 01 in main
|
||||
17 Oct. 1990: abort() calls changed to sig_die(...,1)
|
||||
22 Oct. 1990: separate sig_die from main
|
||||
25 Apr. 1991: minor, theoretically invisible tweaks to s_cat, sig_die
|
||||
31 May 1991: make system_ return status
|
||||
18 Dec. 1991: change long to ftnlen (for -i2) many places
|
||||
28 Feb. 1992: repair z_sqrt.c (scribbled on input, gave wrong answer)
|
||||
18 July 1992: for n < 0, repair handling of 0**n in pow_[dr]i.c
|
||||
and m**n in pow_hh.c and pow_ii.c;
|
||||
catch SIGTRAP in main() for error msg before abort
|
||||
23 July 1992: switch to ANSI prototypes unless KR_headers is #defined
|
||||
23 Oct. 1992: fix botch in signal_.c (erroneous deref of 2nd arg);
|
||||
change Cabs to f__cabs.
|
||||
12 March 1993: various tweaks for C++
|
||||
2 June 1994: adjust so abnormal terminations invoke f_exit just once
|
||||
16 Sept. 1994: s_cmp: treat characters as unsigned in comparisons.
|
||||
19 Sept. 1994: s_paus: flush after end of PAUSE; add -DMSDOS
|
||||
12 Jan. 1995: pow_[dhiqrz][hiq]: adjust x**i to work on machines
|
||||
that sign-extend right shifts when i is the most
|
||||
negative integer.
|
||||
26 Jan. 1995: adjust s_cat.c, s_copy.c to permit the left-hand side
|
||||
of character assignments to appear on the right-hand
|
||||
side (unless compiled with -DNO_OVERWRITE).
|
||||
27 Jan. 1995: minor tweak to s_copy.c: copy forward whenever
|
||||
possible (for better cache behavior).
|
||||
30 May 1995: added subroutine exit(rc) integer rc. Version not changed.
|
||||
29 Aug. 1995: add F77_aloc.c; use it in s_cat.c and system_.c.
|
||||
6 Sept. 1995: fix return type of system_ under -DKR_headers.
|
||||
19 Dec. 1995: s_cat.c: fix bug when 2nd or later arg overlaps lhs.
|
||||
19 Mar. 1996: s_cat.c: supply missing break after overlap detection.
|
||||
13 May 1996: add [lq]bitbits.c and [lq]bitshft.c (f90 bit intrinsics).
|
||||
19 June 1996: add casts to unsigned in [lq]bitshft.c.
|
||||
26 Feb. 1997: adjust functions with a complex output argument
|
||||
to permit aliasing it with input arguments.
|
||||
(For now, at least, this is just for possible
|
||||
benefit of g77.)
|
||||
4 April 1997: [cz]_div.c: tweaks invisible on most systems (that may
|
||||
affect systems using gratuitous extra precision).
|
||||
19 Sept. 1997: [de]time_.c (Unix systems only): change return
|
||||
type to double.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
void
|
||||
g77__fvers__ ()
|
||||
{
|
||||
fprintf (stderr, "__G77_LIBF77_VERSION__: %s", __G77_LIBF77_VERSION__);
|
||||
fputs (junk, stderr);
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern VOID sig_die();
|
||||
|
||||
int G77_abort_0 ()
|
||||
#else
|
||||
extern void sig_die(char*,int);
|
||||
|
||||
int G77_abort_0 (void)
|
||||
#endif
|
||||
{
|
||||
sig_die("Fortran abort routine called", 1);
|
||||
#ifdef __cplusplus
|
||||
return 0;
|
||||
#endif
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern double f__cabs();
|
||||
|
||||
double c_abs(z) complex *z;
|
||||
#else
|
||||
extern double f__cabs(double, double);
|
||||
|
||||
double c_abs(complex *z)
|
||||
#endif
|
||||
{
|
||||
return( f__cabs( z->r, z->i ) );
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern double sin(), cos(), sinh(), cosh();
|
||||
|
||||
VOID c_cos(resx, z) complex *resx, *z;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
|
||||
void c_cos(complex *resx, complex *z)
|
||||
#endif
|
||||
{
|
||||
complex res;
|
||||
|
||||
res.r = cos(z->r) * cosh(z->i);
|
||||
res.i = - sin(z->r) * sinh(z->i);
|
||||
|
||||
resx->r = res.r;
|
||||
resx->i = res.i;
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern VOID sig_die();
|
||||
VOID c_div(resx, a, b)
|
||||
complex *a, *b, *resx;
|
||||
#else
|
||||
extern void sig_die(char*,int);
|
||||
void c_div(complex *resx, complex *a, complex *b)
|
||||
#endif
|
||||
{
|
||||
double ratio, den;
|
||||
double abr, abi;
|
||||
complex res;
|
||||
|
||||
if( (abr = b->r) < 0.)
|
||||
abr = - abr;
|
||||
if( (abi = b->i) < 0.)
|
||||
abi = - abi;
|
||||
if( abr <= abi )
|
||||
{
|
||||
if(abi == 0)
|
||||
sig_die("complex division by zero", 1);
|
||||
ratio = (double)b->r / b->i ;
|
||||
den = b->i * (1 + ratio*ratio);
|
||||
res.r = (a->r*ratio + a->i) / den;
|
||||
res.i = (a->i*ratio - a->r) / den;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
ratio = (double)b->i / b->r ;
|
||||
den = b->r * (1 + ratio*ratio);
|
||||
res.r = (a->r + a->i*ratio) / den;
|
||||
res.i = (a->i - a->r*ratio) / den;
|
||||
}
|
||||
|
||||
resx->r = res.r;
|
||||
resx->i = res.i;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern double exp(), cos(), sin();
|
||||
|
||||
VOID c_exp(resx, z) complex *resx, *z;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
|
||||
void c_exp(complex *resx, complex *z)
|
||||
#endif
|
||||
{
|
||||
double expx;
|
||||
complex res;
|
||||
|
||||
expx = exp(z->r);
|
||||
res.r = expx * cos(z->i);
|
||||
res.i = expx * sin(z->i);
|
||||
|
||||
resx->r = res.r;
|
||||
resx->i = res.i;
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern double log(), f__cabs(), atan2();
|
||||
VOID c_log(resx, z) complex *resx, *z;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
extern double f__cabs(double, double);
|
||||
|
||||
void c_log(complex *resx, complex *z)
|
||||
#endif
|
||||
{
|
||||
complex res;
|
||||
|
||||
res.i = atan2(z->i, z->r);
|
||||
res.r = log( f__cabs(z->r, z->i) );
|
||||
|
||||
resx->r = res.r;
|
||||
resx->i = res.i;
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern double sin(), cos(), sinh(), cosh();
|
||||
|
||||
VOID c_sin(resx, z) complex *resx, *z;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
|
||||
void c_sin(complex *resx, complex *z)
|
||||
#endif
|
||||
{
|
||||
complex res;
|
||||
|
||||
res.r = sin(z->r) * cosh(z->i);
|
||||
res.i = cos(z->r) * sinh(z->i);
|
||||
|
||||
resx->r = res.r;
|
||||
resx->i = res.i;
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern double sqrt(), f__cabs();
|
||||
|
||||
VOID c_sqrt(resx, z) complex *resx, *z;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
extern double f__cabs(double, double);
|
||||
|
||||
void c_sqrt(complex *resx, complex *z)
|
||||
#endif
|
||||
{
|
||||
double mag, t;
|
||||
complex res;
|
||||
|
||||
if( (mag = f__cabs(z->r, z->i)) == 0.)
|
||||
res.r = res.i = 0.;
|
||||
else if(z->r > 0)
|
||||
{
|
||||
res.r = t = sqrt(0.5 * (mag + z->r) );
|
||||
t = z->i / t;
|
||||
res.i = 0.5 * t;
|
||||
}
|
||||
else
|
||||
{
|
||||
t = sqrt(0.5 * (mag - z->r) );
|
||||
if(z->i < 0)
|
||||
t = -t;
|
||||
res.i = t;
|
||||
t = z->i / t;
|
||||
res.r = 0.5 * t;
|
||||
}
|
||||
|
||||
resx->r = res.r;
|
||||
resx->i = res.i;
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
#ifdef KR_headers
|
||||
extern double sqrt();
|
||||
double f__cabs(real, imag) double real, imag;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double f__cabs(double real, double imag)
|
||||
#endif
|
||||
{
|
||||
double temp;
|
||||
|
||||
if(real < 0)
|
||||
real = -real;
|
||||
if(imag < 0)
|
||||
imag = -imag;
|
||||
if(imag > real){
|
||||
temp = real;
|
||||
real = imag;
|
||||
imag = temp;
|
||||
}
|
||||
if((real+imag) == real)
|
||||
return(real);
|
||||
|
||||
temp = imag/real;
|
||||
temp = real*sqrt(1.0 + temp*temp); /*overflow!!*/
|
||||
return(temp);
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double d_abs(x) doublereal *x;
|
||||
#else
|
||||
double d_abs(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
if(*x >= 0)
|
||||
return(*x);
|
||||
return(- *x);
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double acos();
|
||||
double d_acos(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_acos(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( acos(*x) );
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double asin();
|
||||
double d_asin(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_asin(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( asin(*x) );
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double atan();
|
||||
double d_atan(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_atan(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( atan(*x) );
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double atan2();
|
||||
double d_atn2(x,y) doublereal *x, *y;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_atn2(doublereal *x, doublereal *y)
|
||||
#endif
|
||||
{
|
||||
return( atan2(*x,*y) );
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
VOID
|
||||
#ifdef KR_headers
|
||||
d_cnjg(resx, z) doublecomplex *resx, *z;
|
||||
#else
|
||||
d_cnjg(doublecomplex *resx, doublecomplex *z)
|
||||
#endif
|
||||
{
|
||||
doublecomplex res;
|
||||
|
||||
res.r = z->r;
|
||||
res.i = - z->i;
|
||||
|
||||
resx->r = res.r;
|
||||
resx->i = res.i;
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double cos();
|
||||
double d_cos(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_cos(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( cos(*x) );
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double cosh();
|
||||
double d_cosh(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_cosh(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( cosh(*x) );
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double d_dim(a,b) doublereal *a, *b;
|
||||
#else
|
||||
double d_dim(doublereal *a, doublereal *b)
|
||||
#endif
|
||||
{
|
||||
return( *a > *b ? *a - *b : 0);
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double exp();
|
||||
double d_exp(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_exp(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( exp(*x) );
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double d_imag(z) doublecomplex *z;
|
||||
#else
|
||||
double d_imag(doublecomplex *z)
|
||||
#endif
|
||||
{
|
||||
return(z->i);
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double floor();
|
||||
double d_int(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_int(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( (*x>0) ? floor(*x) : -floor(- *x) );
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#define log10e 0.43429448190325182765
|
||||
|
||||
#ifdef KR_headers
|
||||
double log();
|
||||
double d_lg10(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_lg10(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( log10e * log(*x) );
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double log();
|
||||
double d_log(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_log(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( log(*x) );
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
#ifdef IEEE_drem
|
||||
double drem();
|
||||
#else
|
||||
double floor();
|
||||
#endif
|
||||
double d_mod(x,y) doublereal *x, *y;
|
||||
#else
|
||||
#ifdef IEEE_drem
|
||||
double drem(double, double);
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
#endif
|
||||
double d_mod(doublereal *x, doublereal *y)
|
||||
#endif
|
||||
{
|
||||
#ifdef IEEE_drem
|
||||
double xa, ya, z;
|
||||
if ((ya = *y) < 0.)
|
||||
ya = -ya;
|
||||
z = drem(xa = *x, ya);
|
||||
if (xa > 0) {
|
||||
if (z < 0)
|
||||
z += ya;
|
||||
}
|
||||
else if (z > 0)
|
||||
z -= ya;
|
||||
return z;
|
||||
#else
|
||||
double quotient;
|
||||
if( (quotient = *x / *y) >= 0)
|
||||
quotient = floor(quotient);
|
||||
else
|
||||
quotient = -floor(-quotient);
|
||||
return(*x - (*y) * quotient );
|
||||
#endif
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double floor();
|
||||
double d_nint(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_nint(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( (*x)>=0 ?
|
||||
floor(*x + .5) : -floor(.5 - *x) );
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double d_prod(x,y) real *x, *y;
|
||||
#else
|
||||
double d_prod(real *x, real *y)
|
||||
#endif
|
||||
{
|
||||
return( (*x) * (*y) );
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double d_sign(a,b) doublereal *a, *b;
|
||||
#else
|
||||
double d_sign(doublereal *a, doublereal *b)
|
||||
#endif
|
||||
{
|
||||
double x;
|
||||
x = (*a >= 0 ? *a : - *a);
|
||||
return( *b >= 0 ? x : -x);
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double sin();
|
||||
double d_sin(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_sin(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( sin(*x) );
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double sinh();
|
||||
double d_sinh(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_sinh(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( sinh(*x) );
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double sqrt();
|
||||
double d_sqrt(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_sqrt(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( sqrt(*x) );
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double tan();
|
||||
double d_tan(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_tan(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( tan(*x) );
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double tanh();
|
||||
double d_tanh(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double d_tanh(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( tanh(*x) );
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double erf();
|
||||
double G77_derf_0 (x) doublereal *x;
|
||||
#else
|
||||
extern double erf(double);
|
||||
double G77_derf_0 (doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( erf(*x) );
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern double erfc();
|
||||
|
||||
double G77_derfc_0 (x) doublereal *x;
|
||||
#else
|
||||
extern double erfc(double);
|
||||
|
||||
double G77_derfc_0 (doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( erfc(*x) );
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
#include "time.h"
|
||||
#ifndef USE_CLOCK
|
||||
#include "sys/types.h"
|
||||
#include "sys/times.h"
|
||||
#endif
|
||||
|
||||
#undef Hz
|
||||
#ifdef CLK_TCK
|
||||
#define Hz CLK_TCK
|
||||
#else
|
||||
#ifdef HZ
|
||||
#define Hz HZ
|
||||
#else
|
||||
#define Hz 60
|
||||
#endif
|
||||
#endif
|
||||
|
||||
double
|
||||
#ifdef KR_headers
|
||||
dtime_(tarray) float *tarray;
|
||||
#else
|
||||
dtime_(float *tarray)
|
||||
#endif
|
||||
{
|
||||
#ifdef USE_CLOCK
|
||||
#ifndef CLOCKS_PER_SECOND
|
||||
#define CLOCKS_PER_SECOND Hz
|
||||
#endif
|
||||
static double t0;
|
||||
double t = clock();
|
||||
tarray[1] = 0;
|
||||
tarray[0] = (t - t0) / CLOCKS_PER_SECOND;
|
||||
t0 = t;
|
||||
return tarray[0];
|
||||
#else
|
||||
struct tms t;
|
||||
static struct tms t0;
|
||||
|
||||
times(&t);
|
||||
tarray[0] = (t.tms_utime - t0.tms_utime) / Hz;
|
||||
tarray[1] = (t.tms_stime - t0.tms_stime) / Hz;
|
||||
t0 = t;
|
||||
return tarray[0] + tarray[1];
|
||||
#endif
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
/* EFL support routine to copy string b to string a */
|
||||
|
||||
#include "f2c.h"
|
||||
|
||||
|
||||
#define M ( (long) (sizeof(long) - 1) )
|
||||
#define EVEN(x) ( ( (x)+ M) & (~M) )
|
||||
|
||||
#ifdef KR_headers
|
||||
extern VOID s_copy();
|
||||
G77_ef1asc_0 (a, la, b, lb) ftnint *a, *b; ftnlen *la, *lb;
|
||||
#else
|
||||
extern void s_copy(char*,char*,ftnlen,ftnlen);
|
||||
int G77_ef1asc_0 (ftnint *a, ftnlen *la, ftnint *b, ftnlen *lb)
|
||||
#endif
|
||||
{
|
||||
s_copy( (char *)a, (char *)b, EVEN(*la), *lb );
|
||||
#ifdef __cplusplus
|
||||
return 0;
|
||||
#endif
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
/* EFL support routine to compare two character strings */
|
||||
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern integer s_cmp();
|
||||
integer G77_ef1cmc_0 (a, la, b, lb) ftnint *a, *b; ftnlen *la, *lb;
|
||||
#else
|
||||
extern integer s_cmp(char*,char*,ftnlen,ftnlen);
|
||||
integer G77_ef1cmc_0 (ftnint *a, ftnlen *la, ftnint *b, ftnlen *lb)
|
||||
#endif
|
||||
{
|
||||
return( s_cmp( (char *)a, (char *)b, *la, *lb) );
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double erf();
|
||||
double G77_erf_0 (x) real *x;
|
||||
#else
|
||||
extern double erf(double);
|
||||
double G77_erf_0 (real *x)
|
||||
#endif
|
||||
{
|
||||
return( erf(*x) );
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double erfc();
|
||||
double G77_erfc_0 (x) real *x;
|
||||
#else
|
||||
extern double erfc(double);
|
||||
double G77_erfc_0 (real *x)
|
||||
#endif
|
||||
{
|
||||
return( erfc(*x) );
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
#include "time.h"
|
||||
#ifndef USE_CLOCK
|
||||
#include "sys/types.h"
|
||||
#include "sys/times.h"
|
||||
#endif
|
||||
|
||||
#undef Hz
|
||||
#ifdef CLK_TCK
|
||||
#define Hz CLK_TCK
|
||||
#else
|
||||
#ifdef HZ
|
||||
#define Hz HZ
|
||||
#else
|
||||
#define Hz 60
|
||||
#endif
|
||||
#endif
|
||||
|
||||
double
|
||||
#ifdef KR_headers
|
||||
etime_(tarray) float *tarray;
|
||||
#else
|
||||
etime_(float *tarray)
|
||||
#endif
|
||||
{
|
||||
#ifdef USE_CLOCK
|
||||
#ifndef CLOCKS_PER_SECOND
|
||||
#define CLOCKS_PER_SECOND Hz
|
||||
#endif
|
||||
double t = clock();
|
||||
tarray[1] = 0;
|
||||
return tarray[0] = t / CLOCKS_PER_SECOND;
|
||||
#else
|
||||
struct tms t;
|
||||
|
||||
times(&t);
|
||||
return (tarray[0] = t.tms_utime/Hz) + (tarray[1] = t.tms_stime/Hz);
|
||||
#endif
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
/* This gives the effect of
|
||||
|
||||
subroutine exit(rc)
|
||||
integer*4 rc
|
||||
stop
|
||||
end
|
||||
|
||||
* with the added side effect of supplying rc as the program's exit code.
|
||||
*/
|
||||
|
||||
#include "f2c.h"
|
||||
#undef abs
|
||||
#undef min
|
||||
#undef max
|
||||
#ifndef KR_headers
|
||||
#include <stdlib.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
extern void f_exit(void);
|
||||
#endif
|
||||
|
||||
void
|
||||
#ifdef KR_headers
|
||||
G77_exit_0 (rc) integer *rc;
|
||||
#else
|
||||
G77_exit_0 (integer *rc)
|
||||
#endif
|
||||
{
|
||||
#ifdef NO_ONEXIT
|
||||
f_exit();
|
||||
#endif
|
||||
exit(*rc);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
@ -1,162 +0,0 @@
|
||||
/* If you are using a C++ compiler, append the following to f2c.h
|
||||
for compiling libF77 and libI77. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern int abort_(void);
|
||||
extern double c_abs(complex *);
|
||||
extern void c_cos(complex *, complex *);
|
||||
extern void c_div(complex *, complex *, complex *);
|
||||
extern void c_exp(complex *, complex *);
|
||||
extern void c_log(complex *, complex *);
|
||||
extern void c_sin(complex *, complex *);
|
||||
extern void c_sqrt(complex *, complex *);
|
||||
extern double d_abs(double *);
|
||||
extern double d_acos(double *);
|
||||
extern double d_asin(double *);
|
||||
extern double d_atan(double *);
|
||||
extern double d_atn2(double *, double *);
|
||||
extern void d_cnjg(doublecomplex *, doublecomplex *);
|
||||
extern double d_cos(double *);
|
||||
extern double d_cosh(double *);
|
||||
extern double d_dim(double *, double *);
|
||||
extern double d_exp(double *);
|
||||
extern double d_imag(doublecomplex *);
|
||||
extern double d_int(double *);
|
||||
extern double d_lg10(double *);
|
||||
extern double d_log(double *);
|
||||
extern double d_mod(double *, double *);
|
||||
extern double d_nint(double *);
|
||||
extern double d_prod(float *, float *);
|
||||
extern double d_sign(double *, double *);
|
||||
extern double d_sin(double *);
|
||||
extern double d_sinh(double *);
|
||||
extern double d_sqrt(double *);
|
||||
extern double d_tan(double *);
|
||||
extern double d_tanh(double *);
|
||||
extern double derf_(double *);
|
||||
extern double derfc_(double *);
|
||||
extern integer do_fio(ftnint *, char *, ftnlen);
|
||||
extern integer do_lio(ftnint *, ftnint *, char *, ftnlen);
|
||||
extern integer do_uio(ftnint *, char *, ftnlen);
|
||||
extern integer e_rdfe(void);
|
||||
extern integer e_rdue(void);
|
||||
extern integer e_rsfe(void);
|
||||
extern integer e_rsfi(void);
|
||||
extern integer e_rsle(void);
|
||||
extern integer e_rsli(void);
|
||||
extern integer e_rsue(void);
|
||||
extern integer e_wdfe(void);
|
||||
extern integer e_wdue(void);
|
||||
extern integer e_wsfe(void);
|
||||
extern integer e_wsfi(void);
|
||||
extern integer e_wsle(void);
|
||||
extern integer e_wsli(void);
|
||||
extern integer e_wsue(void);
|
||||
extern int ef1asc_(ftnint *, ftnlen *, ftnint *, ftnlen *);
|
||||
extern integer ef1cmc_(ftnint *, ftnlen *, ftnint *, ftnlen *);
|
||||
extern double erf(double);
|
||||
extern double erf_(float *);
|
||||
extern double erfc(double);
|
||||
extern double erfc_(float *);
|
||||
extern integer f_back(alist *);
|
||||
extern integer f_clos(cllist *);
|
||||
extern integer f_end(alist *);
|
||||
extern void f_exit(void);
|
||||
extern integer f_inqu(inlist *);
|
||||
extern integer f_open(olist *);
|
||||
extern integer f_rew(alist *);
|
||||
extern int flush_(void);
|
||||
extern void getarg_(integer *, char *, ftnlen);
|
||||
extern void getenv_(char *, char *, ftnlen, ftnlen);
|
||||
extern short h_abs(short *);
|
||||
extern short h_dim(short *, short *);
|
||||
extern short h_dnnt(double *);
|
||||
extern short h_indx(char *, char *, ftnlen, ftnlen);
|
||||
extern short h_len(char *, ftnlen);
|
||||
extern short h_mod(short *, short *);
|
||||
extern short h_nint(float *);
|
||||
extern short h_sign(short *, short *);
|
||||
extern short hl_ge(char *, char *, ftnlen, ftnlen);
|
||||
extern short hl_gt(char *, char *, ftnlen, ftnlen);
|
||||
extern short hl_le(char *, char *, ftnlen, ftnlen);
|
||||
extern short hl_lt(char *, char *, ftnlen, ftnlen);
|
||||
extern integer i_abs(integer *);
|
||||
extern integer i_dim(integer *, integer *);
|
||||
extern integer i_dnnt(double *);
|
||||
extern integer i_indx(char *, char *, ftnlen, ftnlen);
|
||||
extern integer i_len(char *, ftnlen);
|
||||
extern integer i_mod(integer *, integer *);
|
||||
extern integer i_nint(float *);
|
||||
extern integer i_sign(integer *, integer *);
|
||||
extern integer iargc_(void);
|
||||
extern ftnlen l_ge(char *, char *, ftnlen, ftnlen);
|
||||
extern ftnlen l_gt(char *, char *, ftnlen, ftnlen);
|
||||
extern ftnlen l_le(char *, char *, ftnlen, ftnlen);
|
||||
extern ftnlen l_lt(char *, char *, ftnlen, ftnlen);
|
||||
extern void pow_ci(complex *, complex *, integer *);
|
||||
extern double pow_dd(double *, double *);
|
||||
extern double pow_di(double *, integer *);
|
||||
extern short pow_hh(short *, shortint *);
|
||||
extern integer pow_ii(integer *, integer *);
|
||||
extern double pow_ri(float *, integer *);
|
||||
extern void pow_zi(doublecomplex *, doublecomplex *, integer *);
|
||||
extern void pow_zz(doublecomplex *, doublecomplex *, doublecomplex *);
|
||||
extern double r_abs(float *);
|
||||
extern double r_acos(float *);
|
||||
extern double r_asin(float *);
|
||||
extern double r_atan(float *);
|
||||
extern double r_atn2(float *, float *);
|
||||
extern void r_cnjg(complex *, complex *);
|
||||
extern double r_cos(float *);
|
||||
extern double r_cosh(float *);
|
||||
extern double r_dim(float *, float *);
|
||||
extern double r_exp(float *);
|
||||
extern double r_imag(complex *);
|
||||
extern double r_int(float *);
|
||||
extern double r_lg10(float *);
|
||||
extern double r_log(float *);
|
||||
extern double r_mod(float *, float *);
|
||||
extern double r_nint(float *);
|
||||
extern double r_sign(float *, float *);
|
||||
extern double r_sin(float *);
|
||||
extern double r_sinh(float *);
|
||||
extern double r_sqrt(float *);
|
||||
extern double r_tan(float *);
|
||||
extern double r_tanh(float *);
|
||||
extern void s_cat(char *, char **, integer *, integer *, ftnlen);
|
||||
extern integer s_cmp(char *, char *, ftnlen, ftnlen);
|
||||
extern void s_copy(char *, char *, ftnlen, ftnlen);
|
||||
extern int s_paus(char *, ftnlen);
|
||||
extern integer s_rdfe(cilist *);
|
||||
extern integer s_rdue(cilist *);
|
||||
extern integer s_rnge(char *, integer, char *, integer);
|
||||
extern integer s_rsfe(cilist *);
|
||||
extern integer s_rsfi(icilist *);
|
||||
extern integer s_rsle(cilist *);
|
||||
extern integer s_rsli(icilist *);
|
||||
extern integer s_rsne(cilist *);
|
||||
extern integer s_rsni(icilist *);
|
||||
extern integer s_rsue(cilist *);
|
||||
extern int s_stop(char *, ftnlen);
|
||||
extern integer s_wdfe(cilist *);
|
||||
extern integer s_wdue(cilist *);
|
||||
extern integer s_wsfe(cilist *);
|
||||
extern integer s_wsfi(icilist *);
|
||||
extern integer s_wsle(cilist *);
|
||||
extern integer s_wsli(icilist *);
|
||||
extern integer s_wsne(cilist *);
|
||||
extern integer s_wsni(icilist *);
|
||||
extern integer s_wsue(cilist *);
|
||||
extern void sig_die(char *, int);
|
||||
extern integer signal_(integer *, void (*)(int));
|
||||
extern integer system_(char *, ftnlen);
|
||||
extern double z_abs(doublecomplex *);
|
||||
extern void z_cos(doublecomplex *, doublecomplex *);
|
||||
extern void z_div(doublecomplex *, doublecomplex *, doublecomplex *);
|
||||
extern void z_exp(doublecomplex *, doublecomplex *);
|
||||
extern void z_log(doublecomplex *, doublecomplex *);
|
||||
extern void z_sin(doublecomplex *, doublecomplex *);
|
||||
extern void z_sqrt(doublecomplex *, doublecomplex *);
|
||||
}
|
||||
#endif
|
@ -1,28 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
/*
|
||||
* subroutine getarg(k, c)
|
||||
* returns the kth unix command argument in fortran character
|
||||
* variable argument c
|
||||
*/
|
||||
|
||||
#ifdef KR_headers
|
||||
VOID G77_getarg_0 (n, s, ls) ftnint *n; register char *s; ftnlen ls;
|
||||
#else
|
||||
void G77_getarg_0 (ftnint *n, register char *s, ftnlen ls)
|
||||
#endif
|
||||
{
|
||||
extern int xargc;
|
||||
extern char **xargv;
|
||||
register char *t;
|
||||
register int i;
|
||||
|
||||
if(*n>=0 && *n<xargc)
|
||||
t = xargv[*n];
|
||||
else
|
||||
t = "";
|
||||
for(i = 0; i<ls && *t!='\0' ; ++i)
|
||||
*s++ = *t++;
|
||||
for( ; i<ls ; ++i)
|
||||
*s++ = ' ';
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
/*
|
||||
* getenv - f77 subroutine to return environment variables
|
||||
*
|
||||
* called by:
|
||||
* call getenv (ENV_NAME, char_var)
|
||||
* where:
|
||||
* ENV_NAME is the name of an environment variable
|
||||
* char_var is a character variable which will receive
|
||||
* the current value of ENV_NAME, or all blanks
|
||||
* if ENV_NAME is not defined
|
||||
*/
|
||||
|
||||
#ifdef KR_headers
|
||||
VOID G77_getenv_0 (fname, value, flen, vlen) char *value, *fname; ftnlen vlen, flen;
|
||||
#else
|
||||
void G77_getenv_0 (char *fname, char *value, ftnlen flen, ftnlen vlen)
|
||||
#endif
|
||||
{
|
||||
extern char **environ;
|
||||
register char *ep, *fp, *flast;
|
||||
register char **env = environ;
|
||||
|
||||
flast = fname + flen;
|
||||
for(fp = fname ; fp < flast ; ++fp)
|
||||
if(*fp == ' ')
|
||||
{
|
||||
flast = fp;
|
||||
break;
|
||||
}
|
||||
|
||||
while (ep = *env++)
|
||||
{
|
||||
for(fp = fname; fp<flast ; )
|
||||
if(*fp++ != *ep++)
|
||||
goto endloop;
|
||||
|
||||
if(*ep++ == '=') { /* copy right hand side */
|
||||
while( *ep && --vlen>=0 )
|
||||
*value++ = *ep++;
|
||||
|
||||
goto blank;
|
||||
}
|
||||
endloop: ;
|
||||
}
|
||||
|
||||
blank:
|
||||
while( --vlen >= 0 )
|
||||
*value++ = ' ';
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
shortint h_abs(x) shortint *x;
|
||||
#else
|
||||
shortint h_abs(shortint *x)
|
||||
#endif
|
||||
{
|
||||
if(*x >= 0)
|
||||
return(*x);
|
||||
return(- *x);
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
shortint h_dim(a,b) shortint *a, *b;
|
||||
#else
|
||||
shortint h_dim(shortint *a, shortint *b)
|
||||
#endif
|
||||
{
|
||||
return( *a > *b ? *a - *b : 0);
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double floor();
|
||||
shortint h_dnnt(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
shortint h_dnnt(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( (*x)>=0 ?
|
||||
floor(*x + .5) : -floor(.5 - *x) );
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
shortint h_indx(a, b, la, lb) char *a, *b; ftnlen la, lb;
|
||||
#else
|
||||
shortint h_indx(char *a, char *b, ftnlen la, ftnlen lb)
|
||||
#endif
|
||||
{
|
||||
ftnlen i, n;
|
||||
char *s, *t, *bend;
|
||||
|
||||
n = la - lb + 1;
|
||||
bend = b + lb;
|
||||
|
||||
for(i = 0 ; i < n ; ++i)
|
||||
{
|
||||
s = a + i;
|
||||
t = b;
|
||||
while(t < bend)
|
||||
if(*s++ != *t++)
|
||||
goto no;
|
||||
return((shortint)i+1);
|
||||
no: ;
|
||||
}
|
||||
return(0);
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
shortint h_len(s, n) char *s; ftnlen n;
|
||||
#else
|
||||
shortint h_len(char *s, ftnlen n)
|
||||
#endif
|
||||
{
|
||||
return(n);
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
shortint h_mod(a,b) short *a, *b;
|
||||
#else
|
||||
shortint h_mod(short *a, short *b)
|
||||
#endif
|
||||
{
|
||||
return( *a % *b);
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double floor();
|
||||
shortint h_nint(x) real *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
shortint h_nint(real *x)
|
||||
#endif
|
||||
{
|
||||
return( (*x)>=0 ?
|
||||
floor(*x + .5) : -floor(.5 - *x) );
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
shortint h_sign(a,b) shortint *a, *b;
|
||||
#else
|
||||
shortint h_sign(shortint *a, shortint *b)
|
||||
#endif
|
||||
{
|
||||
shortint x;
|
||||
x = (*a >= 0 ? *a : - *a);
|
||||
return( *b >= 0 ? x : -x);
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern integer s_cmp();
|
||||
shortlogical hl_ge(a,b,la,lb) char *a, *b; ftnlen la, lb;
|
||||
#else
|
||||
extern integer s_cmp(char *, char *, ftnlen, ftnlen);
|
||||
shortlogical hl_ge(char *a, char *b, ftnlen la, ftnlen lb)
|
||||
#endif
|
||||
{
|
||||
return(s_cmp(a,b,la,lb) >= 0);
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern integer s_cmp();
|
||||
shortlogical hl_gt(a,b,la,lb) char *a, *b; ftnlen la, lb;
|
||||
#else
|
||||
extern integer s_cmp(char *, char *, ftnlen, ftnlen);
|
||||
shortlogical hl_gt(char *a, char *b, ftnlen la, ftnlen lb)
|
||||
#endif
|
||||
{
|
||||
return(s_cmp(a,b,la,lb) > 0);
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern integer s_cmp();
|
||||
shortlogical hl_le(a,b,la,lb) char *a, *b; ftnlen la, lb;
|
||||
#else
|
||||
extern integer s_cmp(char *, char *, ftnlen, ftnlen);
|
||||
shortlogical hl_le(char *a, char *b, ftnlen la, ftnlen lb)
|
||||
#endif
|
||||
{
|
||||
return(s_cmp(a,b,la,lb) <= 0);
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern integer s_cmp();
|
||||
shortlogical hl_lt(a,b,la,lb) char *a, *b; ftnlen la, lb;
|
||||
#else
|
||||
extern integer s_cmp(char *, char *, ftnlen, ftnlen);
|
||||
shortlogical hl_lt(char *a, char *b, ftnlen la, ftnlen lb)
|
||||
#endif
|
||||
{
|
||||
return(s_cmp(a,b,la,lb) < 0);
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
integer i_abs(x) integer *x;
|
||||
#else
|
||||
integer i_abs(integer *x)
|
||||
#endif
|
||||
{
|
||||
if(*x >= 0)
|
||||
return(*x);
|
||||
return(- *x);
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
integer i_dim(a,b) integer *a, *b;
|
||||
#else
|
||||
integer i_dim(integer *a, integer *b)
|
||||
#endif
|
||||
{
|
||||
return( *a > *b ? *a - *b : 0);
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double floor();
|
||||
integer i_dnnt(x) doublereal *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
integer i_dnnt(doublereal *x)
|
||||
#endif
|
||||
{
|
||||
return( (*x)>=0 ?
|
||||
floor(*x + .5) : -floor(.5 - *x) );
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
integer i_indx(a, b, la, lb) char *a, *b; ftnlen la, lb;
|
||||
#else
|
||||
integer i_indx(char *a, char *b, ftnlen la, ftnlen lb)
|
||||
#endif
|
||||
{
|
||||
ftnlen i, n;
|
||||
char *s, *t, *bend;
|
||||
|
||||
n = la - lb + 1;
|
||||
bend = b + lb;
|
||||
|
||||
for(i = 0 ; i < n ; ++i)
|
||||
{
|
||||
s = a + i;
|
||||
t = b;
|
||||
while(t < bend)
|
||||
if(*s++ != *t++)
|
||||
goto no;
|
||||
return(i+1);
|
||||
no: ;
|
||||
}
|
||||
return(0);
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
integer i_len(s, n) char *s; ftnlen n;
|
||||
#else
|
||||
integer i_len(char *s, ftnlen n)
|
||||
#endif
|
||||
{
|
||||
return(n);
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
integer i_mod(a,b) integer *a, *b;
|
||||
#else
|
||||
integer i_mod(integer *a, integer *b)
|
||||
#endif
|
||||
{
|
||||
return( *a % *b);
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double floor();
|
||||
integer i_nint(x) real *x;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
integer i_nint(real *x)
|
||||
#endif
|
||||
{
|
||||
return( (*x)>=0 ?
|
||||
floor(*x + .5) : -floor(.5 - *x) );
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
integer i_sign(a,b) integer *a, *b;
|
||||
#else
|
||||
integer i_sign(integer *a, integer *b)
|
||||
#endif
|
||||
{
|
||||
integer x;
|
||||
x = (*a >= 0 ? *a : - *a);
|
||||
return( *b >= 0 ? x : -x);
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
ftnint G77_iargc_0 ()
|
||||
#else
|
||||
ftnint G77_iargc_0 (void)
|
||||
#endif
|
||||
{
|
||||
extern int xargc;
|
||||
return ( xargc - 1 );
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern integer s_cmp();
|
||||
logical l_ge(a,b,la,lb) char *a, *b; ftnlen la, lb;
|
||||
#else
|
||||
extern integer s_cmp(char *, char *, ftnlen, ftnlen);
|
||||
logical l_ge(char *a, char *b, ftnlen la, ftnlen lb)
|
||||
#endif
|
||||
{
|
||||
return(s_cmp(a,b,la,lb) >= 0);
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern integer s_cmp();
|
||||
logical l_gt(a,b,la,lb) char *a, *b; ftnlen la, lb;
|
||||
#else
|
||||
extern integer s_cmp(char *, char *, ftnlen, ftnlen);
|
||||
logical l_gt(char *a, char *b, ftnlen la, ftnlen lb)
|
||||
#endif
|
||||
{
|
||||
return(s_cmp(a,b,la,lb) > 0);
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern integer s_cmp();
|
||||
logical l_le(a,b,la,lb) char *a, *b; ftnlen la, lb;
|
||||
#else
|
||||
extern integer s_cmp(char *, char *, ftnlen, ftnlen);
|
||||
logical l_le(char *a, char *b, ftnlen la, ftnlen lb)
|
||||
#endif
|
||||
{
|
||||
return(s_cmp(a,b,la,lb) <= 0);
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
extern integer s_cmp();
|
||||
logical l_lt(a,b,la,lb) char *a, *b; ftnlen la, lb;
|
||||
#else
|
||||
extern integer s_cmp(char *, char *, ftnlen, ftnlen);
|
||||
logical l_lt(char *a, char *b, ftnlen la, ftnlen lb)
|
||||
#endif
|
||||
{
|
||||
return(s_cmp(a,b,la,lb) < 0);
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifndef LONGBITS
|
||||
#define LONGBITS 32
|
||||
#endif
|
||||
|
||||
integer
|
||||
#ifdef KR_headers
|
||||
lbit_bits(a, b, len) integer a, b, len;
|
||||
#else
|
||||
lbit_bits(integer a, integer b, integer len)
|
||||
#endif
|
||||
{
|
||||
/* Assume 2's complement arithmetic */
|
||||
|
||||
unsigned long x, y;
|
||||
|
||||
x = (unsigned long) a;
|
||||
y = (unsigned long)-1L;
|
||||
x >>= b;
|
||||
y <<= len;
|
||||
return (integer)(x & ~y);
|
||||
}
|
||||
|
||||
integer
|
||||
#ifdef KR_headers
|
||||
lbit_cshift(a, b, len) integer a, b, len;
|
||||
#else
|
||||
lbit_cshift(integer a, integer b, integer len)
|
||||
#endif
|
||||
{
|
||||
unsigned long x, y, z;
|
||||
|
||||
x = (unsigned long)a;
|
||||
if (len <= 0) {
|
||||
if (len == 0)
|
||||
return 0;
|
||||
goto full_len;
|
||||
}
|
||||
if (len >= LONGBITS) {
|
||||
full_len:
|
||||
if (b >= 0) {
|
||||
b %= LONGBITS;
|
||||
return (integer)(x << b | x >> LONGBITS -b );
|
||||
}
|
||||
b = -b;
|
||||
b %= LONGBITS;
|
||||
return (integer)(x << LONGBITS - b | x >> b);
|
||||
}
|
||||
y = z = (unsigned long)-1;
|
||||
y <<= len;
|
||||
z &= ~y;
|
||||
y &= x;
|
||||
x &= z;
|
||||
if (b >= 0) {
|
||||
b %= len;
|
||||
return (integer)(y | z & (x << b | x >> len - b));
|
||||
}
|
||||
b = -b;
|
||||
b %= len;
|
||||
return (integer)(y | z & (x >> b | x << len - b));
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
integer
|
||||
#ifdef KR_headers
|
||||
lbit_shift(a, b) integer a; integer b;
|
||||
#else
|
||||
lbit_shift(integer a, integer b)
|
||||
#endif
|
||||
{
|
||||
return b >= 0 ? a << b : (integer)((uinteger)a >> -b);
|
||||
}
|
@ -1,135 +0,0 @@
|
||||
/* STARTUP PROCEDURE FOR UNIX FORTRAN PROGRAMS */
|
||||
|
||||
#include <stdio.h>
|
||||
#include "signal1.h"
|
||||
|
||||
#ifndef SIGIOT
|
||||
#ifdef SIGABRT
|
||||
#define SIGIOT SIGABRT
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef KR_headers
|
||||
#undef VOID
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#ifndef VOID
|
||||
#define VOID void
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifdef NO__STDC
|
||||
#define ONEXIT onexit
|
||||
extern VOID f_exit();
|
||||
#else
|
||||
#ifndef KR_headers
|
||||
extern void f_exit(void);
|
||||
#ifndef NO_ONEXIT
|
||||
#define ONEXIT atexit
|
||||
extern int atexit(void (*)(void));
|
||||
#endif
|
||||
#else
|
||||
#ifndef NO_ONEXIT
|
||||
#define ONEXIT onexit
|
||||
extern VOID f_exit();
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef KR_headers
|
||||
extern VOID f_init(), sig_die();
|
||||
extern int MAIN__();
|
||||
#define Int /* int */
|
||||
#else
|
||||
extern void f_init(void), sig_die(char*, int);
|
||||
extern int MAIN__(void);
|
||||
#define Int int
|
||||
#endif
|
||||
|
||||
static VOID sigfdie(Int n)
|
||||
{
|
||||
sig_die("Floating Exception", 1);
|
||||
}
|
||||
|
||||
|
||||
static VOID sigidie(Int n)
|
||||
{
|
||||
sig_die("IOT Trap", 1);
|
||||
}
|
||||
|
||||
#ifdef SIGQUIT
|
||||
static VOID sigqdie(Int n)
|
||||
{
|
||||
sig_die("Quit signal", 1);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
static VOID sigindie(Int n)
|
||||
{
|
||||
sig_die("Interrupt", 0);
|
||||
}
|
||||
|
||||
static VOID sigtdie(Int n)
|
||||
{
|
||||
sig_die("Killed", 0);
|
||||
}
|
||||
|
||||
#ifdef SIGTRAP
|
||||
static VOID sigtrdie(Int n)
|
||||
{
|
||||
sig_die("Trace trap", 1);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
int xargc;
|
||||
char **xargv;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef KR_headers
|
||||
main(argc, argv) int argc; char **argv;
|
||||
#else
|
||||
main(int argc, char **argv)
|
||||
#endif
|
||||
{
|
||||
xargc = argc;
|
||||
xargv = argv;
|
||||
signal1(SIGFPE, sigfdie); /* ignore underflow, enable overflow */
|
||||
#ifdef SIGIOT
|
||||
signal1(SIGIOT, sigidie);
|
||||
#endif
|
||||
#ifdef SIGTRAP
|
||||
signal1(SIGTRAP, sigtrdie);
|
||||
#endif
|
||||
#ifdef SIGQUIT
|
||||
if(signal1(SIGQUIT,sigqdie) == SIG_IGN)
|
||||
signal1(SIGQUIT, SIG_IGN);
|
||||
#endif
|
||||
if(signal1(SIGINT, sigindie) == SIG_IGN)
|
||||
signal1(SIGINT, SIG_IGN);
|
||||
signal1(SIGTERM,sigtdie);
|
||||
|
||||
#ifdef pdp11
|
||||
ldfps(01200); /* detect overflow as an exception */
|
||||
#endif
|
||||
|
||||
f_init();
|
||||
#ifndef NO_ONEXIT
|
||||
ONEXIT(f_exit);
|
||||
#endif
|
||||
MAIN__();
|
||||
#ifdef NO_ONEXIT
|
||||
f_exit();
|
||||
#endif
|
||||
exit(0); /* exit(0) rather than return(0) to bypass Cray bug */
|
||||
return 0; /* For compilers that complain of missing return values; */
|
||||
/* others will complain that this is unreachable code. */
|
||||
}
|
@ -1,103 +0,0 @@
|
||||
.SUFFIXES: .c .o
|
||||
CC = cc
|
||||
SHELL = /bin/sh
|
||||
CFLAGS = -O
|
||||
|
||||
# If your system lacks onexit() and you are not using an
|
||||
# ANSI C compiler, then you should add -DNO_ONEXIT to CFLAGS,
|
||||
# e.g., by changing the above "CFLAGS =" line to
|
||||
# CFLAGS = -O -DNO_ONEXIT
|
||||
|
||||
# On at least some Sun systems, it is more appropriate to change the
|
||||
# "CFLAGS =" line to
|
||||
# CFLAGS = -O -Donexit=on_exit
|
||||
|
||||
# compile, then strip unnecessary symbols
|
||||
.c.o:
|
||||
$(CC) -c -DSkip_f2c_Undefs $(CFLAGS) $*.c
|
||||
ld -r -x -o $*.xxx $*.o
|
||||
mv $*.xxx $*.o
|
||||
## Under Solaris (and other systems that do not understand ld -x),
|
||||
## omit -x in the ld line above.
|
||||
## If your system does not have the ld command, comment out
|
||||
## or remove both the ld and mv lines above.
|
||||
|
||||
MISC = F77_aloc.o Version.o main.o s_rnge.o abort_.o getarg_.o iargc_.o \
|
||||
getenv_.o signal_.o s_stop.o s_paus.o system_.o cabs.o\
|
||||
derf_.o derfc_.o erf_.o erfc_.o sig_die.o exit_.o
|
||||
POW = pow_ci.o pow_dd.o pow_di.o pow_hh.o pow_ii.o pow_ri.o pow_zi.o pow_zz.o
|
||||
CX = c_abs.o c_cos.o c_div.o c_exp.o c_log.o c_sin.o c_sqrt.o
|
||||
DCX = z_abs.o z_cos.o z_div.o z_exp.o z_log.o z_sin.o z_sqrt.o
|
||||
REAL = r_abs.o r_acos.o r_asin.o r_atan.o r_atn2.o r_cnjg.o r_cos.o\
|
||||
r_cosh.o r_dim.o r_exp.o r_imag.o r_int.o\
|
||||
r_lg10.o r_log.o r_mod.o r_nint.o r_sign.o\
|
||||
r_sin.o r_sinh.o r_sqrt.o r_tan.o r_tanh.o
|
||||
DBL = d_abs.o d_acos.o d_asin.o d_atan.o d_atn2.o\
|
||||
d_cnjg.o d_cos.o d_cosh.o d_dim.o d_exp.o\
|
||||
d_imag.o d_int.o d_lg10.o d_log.o d_mod.o\
|
||||
d_nint.o d_prod.o d_sign.o d_sin.o d_sinh.o\
|
||||
d_sqrt.o d_tan.o d_tanh.o
|
||||
INT = i_abs.o i_dim.o i_dnnt.o i_indx.o i_len.o i_mod.o i_nint.o i_sign.o
|
||||
HALF = h_abs.o h_dim.o h_dnnt.o h_indx.o h_len.o h_mod.o h_nint.o h_sign.o
|
||||
CMP = l_ge.o l_gt.o l_le.o l_lt.o hl_ge.o hl_gt.o hl_le.o hl_lt.o
|
||||
EFL = ef1asc_.o ef1cmc_.o
|
||||
CHAR = F77_aloc.o s_cat.o s_cmp.o s_copy.o
|
||||
F90BIT = lbitbits.o lbitshft.o
|
||||
QINT = pow_qq.o qbitbits.o qbitshft.o
|
||||
TIME = dtime_.o etime_.o
|
||||
|
||||
all: signal1.h libF77.a
|
||||
|
||||
# You may need to adjust signal1.h suitably for your system...
|
||||
signal1.h: signal1.h0
|
||||
cp signal1.h0 signal1.h
|
||||
|
||||
# If you get an error compiling dtime_.c or etime_.c, try adding
|
||||
# -DUSE_CLOCK to the CFLAGS assignment above; if that does not work,
|
||||
# omit $(TIME) from the dependency list for libF77.a below.
|
||||
|
||||
# For INTEGER*8 support (which requires system-dependent adjustments to
|
||||
# f2c.h), add $(QINT) to the libf2c.a dependency list below...
|
||||
|
||||
libF77.a : $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \
|
||||
$(HALF) $(CMP) $(EFL) $(CHAR) $(F90BIT) $(TIME)
|
||||
ar r libF77.a $?
|
||||
-ranlib libF77.a
|
||||
|
||||
### If your system lacks ranlib, you don't need it; see README.
|
||||
|
||||
Version.o: Version.c
|
||||
$(CC) -c Version.c
|
||||
|
||||
# To compile with C++, first "make f2c.h"
|
||||
f2c.h: f2ch.add
|
||||
cat /usr/include/f2c.h f2ch.add >f2c.h
|
||||
|
||||
install: libF77.a
|
||||
mv libF77.a /usr/lib
|
||||
ranlib /usr/lib/libF77.a
|
||||
|
||||
clean:
|
||||
rm -f libF77.a *.o
|
||||
|
||||
check:
|
||||
xsum F77_aloc.c Notice README Version.c abort_.c c_abs.c c_cos.c \
|
||||
c_div.c c_exp.c c_log.c c_sin.c c_sqrt.c cabs.c d_abs.c d_acos.c \
|
||||
d_asin.c d_atan.c d_atn2.c d_cnjg.c d_cos.c d_cosh.c d_dim.c \
|
||||
d_exp.c d_imag.c d_int.c d_lg10.c d_log.c d_mod.c d_nint.c \
|
||||
d_prod.c d_sign.c d_sin.c d_sinh.c d_sqrt.c d_tan.c d_tanh.c \
|
||||
derf_.c derfc_.c dtime_.c \
|
||||
ef1asc_.c ef1cmc_.c erf_.c erfc_.c etime_.c exit_.c f2ch.add \
|
||||
getarg_.c getenv_.c h_abs.c h_dim.c h_dnnt.c h_indx.c h_len.c \
|
||||
h_mod.c h_nint.c h_sign.c hl_ge.c hl_gt.c hl_le.c hl_lt.c \
|
||||
i_abs.c i_dim.c i_dnnt.c i_indx.c i_len.c i_mod.c i_nint.c \
|
||||
i_sign.c iargc_.c l_ge.c l_gt.c l_le.c l_lt.c lbitbits.c lbitshft.c \
|
||||
main.c makefile pow_ci.c pow_dd.c pow_di.c pow_hh.c pow_ii.c \
|
||||
pow_qq.c pow_ri.c pow_zi.c pow_zz.c qbitbits.c qbitshft.c \
|
||||
r_abs.c r_acos.c r_asin.c r_atan.c r_atn2.c \
|
||||
r_cnjg.c r_cos.c r_cosh.c r_dim.c r_exp.c r_imag.c r_int.c r_lg10.c \
|
||||
r_log.c r_mod.c r_nint.c r_sign.c r_sin.c r_sinh.c r_sqrt.c \
|
||||
r_tan.c r_tanh.c s_cat.c s_cmp.c s_copy.c \
|
||||
s_paus.c s_rnge.c s_stop.c sig_die.c signal1.h0 signal_.c system_.c \
|
||||
z_abs.c z_cos.c z_div.c z_exp.c z_log.c z_sin.c z_sqrt.c >zap
|
||||
cmp zap libF77.xsum && rm zap || diff libF77.xsum zap
|
@ -1,20 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
VOID pow_ci(p, a, b) /* p = a**b */
|
||||
complex *p, *a; integer *b;
|
||||
#else
|
||||
extern void pow_zi(doublecomplex*, doublecomplex*, integer*);
|
||||
void pow_ci(complex *p, complex *a, integer *b) /* p = a**b */
|
||||
#endif
|
||||
{
|
||||
doublecomplex p1, a1;
|
||||
|
||||
a1.r = a->r;
|
||||
a1.i = a->i;
|
||||
|
||||
pow_zi(&p1, &a1, b);
|
||||
|
||||
p->r = p1.r;
|
||||
p->i = p1.i;
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double pow();
|
||||
double pow_dd(ap, bp) doublereal *ap, *bp;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
double pow_dd(doublereal *ap, doublereal *bp)
|
||||
#endif
|
||||
{
|
||||
return(pow(*ap, *bp) );
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double pow_di(ap, bp) doublereal *ap; integer *bp;
|
||||
#else
|
||||
double pow_di(doublereal *ap, integer *bp)
|
||||
#endif
|
||||
{
|
||||
double pow, x;
|
||||
integer n;
|
||||
unsigned long u;
|
||||
|
||||
pow = 1;
|
||||
x = *ap;
|
||||
n = *bp;
|
||||
|
||||
if(n != 0)
|
||||
{
|
||||
if(n < 0)
|
||||
{
|
||||
n = -n;
|
||||
x = 1/x;
|
||||
}
|
||||
for(u = n; ; )
|
||||
{
|
||||
if(u & 01)
|
||||
pow *= x;
|
||||
if(u >>= 1)
|
||||
x *= x;
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
return(pow);
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
shortint pow_hh(ap, bp) shortint *ap, *bp;
|
||||
#else
|
||||
shortint pow_hh(shortint *ap, shortint *bp)
|
||||
#endif
|
||||
{
|
||||
shortint pow, x, n;
|
||||
unsigned u;
|
||||
|
||||
x = *ap;
|
||||
n = *bp;
|
||||
|
||||
if (n <= 0) {
|
||||
if (n == 0 || x == 1)
|
||||
return 1;
|
||||
if (x != -1)
|
||||
return x == 0 ? 1/x : 0;
|
||||
n = -n;
|
||||
}
|
||||
u = n;
|
||||
for(pow = 1; ; )
|
||||
{
|
||||
if(u & 01)
|
||||
pow *= x;
|
||||
if(u >>= 1)
|
||||
x *= x;
|
||||
else
|
||||
break;
|
||||
}
|
||||
return(pow);
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
integer pow_ii(ap, bp) integer *ap, *bp;
|
||||
#else
|
||||
integer pow_ii(integer *ap, integer *bp)
|
||||
#endif
|
||||
{
|
||||
integer pow, x, n;
|
||||
unsigned long u;
|
||||
|
||||
x = *ap;
|
||||
n = *bp;
|
||||
|
||||
if (n <= 0) {
|
||||
if (n == 0 || x == 1)
|
||||
return 1;
|
||||
if (x != -1)
|
||||
return x == 0 ? 1/x : 0;
|
||||
n = -n;
|
||||
}
|
||||
u = n;
|
||||
for(pow = 1; ; )
|
||||
{
|
||||
if(u & 01)
|
||||
pow *= x;
|
||||
if(u >>= 1)
|
||||
x *= x;
|
||||
else
|
||||
break;
|
||||
}
|
||||
return(pow);
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
longint pow_qq(ap, bp) longint *ap, *bp;
|
||||
#else
|
||||
longint pow_qq(longint *ap, longint *bp)
|
||||
#endif
|
||||
{
|
||||
longint pow, x, n;
|
||||
unsigned long long u; /* system-dependent */
|
||||
|
||||
x = *ap;
|
||||
n = *bp;
|
||||
|
||||
if (n <= 0) {
|
||||
if (n == 0 || x == 1)
|
||||
return 1;
|
||||
if (x != -1)
|
||||
return x == 0 ? 1/x : 0;
|
||||
n = -n;
|
||||
}
|
||||
u = n;
|
||||
for(pow = 1; ; )
|
||||
{
|
||||
if(u & 01)
|
||||
pow *= x;
|
||||
if(u >>= 1)
|
||||
x *= x;
|
||||
else
|
||||
break;
|
||||
}
|
||||
return(pow);
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double pow_ri(ap, bp) real *ap; integer *bp;
|
||||
#else
|
||||
double pow_ri(real *ap, integer *bp)
|
||||
#endif
|
||||
{
|
||||
double pow, x;
|
||||
integer n;
|
||||
unsigned long u;
|
||||
|
||||
pow = 1;
|
||||
x = *ap;
|
||||
n = *bp;
|
||||
|
||||
if(n != 0)
|
||||
{
|
||||
if(n < 0)
|
||||
{
|
||||
n = -n;
|
||||
x = 1/x;
|
||||
}
|
||||
for(u = n; ; )
|
||||
{
|
||||
if(u & 01)
|
||||
pow *= x;
|
||||
if(u >>= 1)
|
||||
x *= x;
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
return(pow);
|
||||
}
|
@ -1,61 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
VOID pow_zi(resx, a, b) /* p = a**b */
|
||||
doublecomplex *resx, *a; integer *b;
|
||||
#else
|
||||
extern void z_div(doublecomplex*, doublecomplex*, doublecomplex*);
|
||||
void pow_zi(doublecomplex *resx, doublecomplex *a, integer *b) /* p = a**b */
|
||||
#endif
|
||||
{
|
||||
integer n;
|
||||
unsigned long u;
|
||||
double t;
|
||||
doublecomplex x;
|
||||
doublecomplex res;
|
||||
static doublecomplex one = {1.0, 0.0};
|
||||
|
||||
n = *b;
|
||||
|
||||
if(n == 0)
|
||||
{
|
||||
resx->r = 1;
|
||||
resx->i = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
res.r = 1;
|
||||
res.i = 0;
|
||||
|
||||
if(n < 0)
|
||||
{
|
||||
n = -n;
|
||||
z_div(&x, &one, a);
|
||||
}
|
||||
else
|
||||
{
|
||||
x.r = a->r;
|
||||
x.i = a->i;
|
||||
}
|
||||
|
||||
for(u = n; ; )
|
||||
{
|
||||
if(u & 01)
|
||||
{
|
||||
t = res.r * x.r - res.i * x.i;
|
||||
res.i = res.r * x.i + res.i * x.r;
|
||||
res.r = t;
|
||||
}
|
||||
if(u >>= 1)
|
||||
{
|
||||
t = x.r * x.r - x.i * x.i;
|
||||
x.i = 2 * x.r * x.i;
|
||||
x.r = t;
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
resx->r = res.r;
|
||||
resx->i = res.i;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
#include "f2c.h"
|
||||
|
||||
#ifdef KR_headers
|
||||
double log(), exp(), cos(), sin(), atan2(), f__cabs();
|
||||
VOID pow_zz(r,a,b) doublecomplex *r, *a, *b;
|
||||
#else
|
||||
#undef abs
|
||||
#include <math.h>
|
||||
extern double f__cabs(double,double);
|
||||
void pow_zz(doublecomplex *r, doublecomplex *a, doublecomplex *b)
|
||||
#endif
|
||||
{
|
||||
double logr, logi, x, y;
|
||||
|
||||
logr = log( f__cabs(a->r, a->i) );
|
||||
logi = atan2(a->i, a->r);
|
||||
|
||||
x = exp( logr * b->r - logi * b->i );
|
||||
y = logr * b->i + logi * b->r;
|
||||
|
||||
r->r = x * cos(y);
|
||||
r->i = x * sin(y);
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user