HDTenEightyP/NetNews huggingface dataset:
From: silvert@biome.bio.ns.ca (Bill Silvert)
Subject: Re: Variable seperator for F77 code.
Reply-To: silvert@biome.bio.dfo.ca (Bill Silvert)
Organization: Habitat Ecology Div., Bedford Inst. Oceanography
Date: Tue, 21 Jul 1992 12:59:11 GMT

In <20JUL92.14460039@wl.aecl.ca> zinckt@wl.aecl.ca writes:

>Hell0 - 

>I am looking for code which produces a list of variable names from inputed 
>F77 code.  I as using F77 on VAX/VMS. I thought I would ask the net before I 
>write one myself.

>Thanx in advance.

I've written a program called fxref which is a Fortran equivalent of the C
xref program.  It won't work on all Fortran code (for example, it requires
spaces between variable names), but anyone interested is welcome to ftp it
biome.bio.dfo.ca in pub/fortran/fxref.tar.Z

Bill

-- 
------------------------------------------------------------------------
William Silvert, Habitat Ecology Division, Bedford Inst. of Oceanography
P. O. Box 1006, Dartmouth, Nova Scotia, CANADA B2Y 4A2.  Tel. (902)426-1577
InterNet Address: silvert@biome.bio.dfo.ca
From: ciechan@ubvmsd.cc.buffalo.edu (Chaishia Tracy Chan)
Newsgroups: comp.lang.fortran
Subject: subroutine ZPORC ?
Date: 27 Jul 92 03:31:00 GMT
Organization: University at Buffalo
News-Software: VAX/VMS VNEWS 1.41

Hi,

Thank you to all of you who gave me help to the question about ZPOLR.

Now I encounter another program, in which subroutine ZPORC is used.
Since I have to run this program on PC, so I would need the source code
of this subroutine. Could anyone find it for me? 
Please reply by mail. Your help is highly appreciated. 

Tracy
Newsgroups: comp.lang.fortran
From: gary@pongnasa.gov (Gary Kenneth Krueger)
Subject: Re: Using ! to denote a comment
Reply-To: gary@pong.gsfc.nasa.gov
Organization: General Sciences Corporation @ Goddard Space Flight Center
Date: Wed, 22 Jul 1992 20:44:54 GMT

In article <1992Jul22.151302.28373@colorado.edu>, ejh@khonshu.colorado.edu (Edward J. Hartnett) writes:
> From: ejh@khonshu.colorado.edu (Edward J. Hartnett)
> Subject: Re: Using ! to denote a comment
> 
> In article <BURLEY.92Jul21174207@geech.gnu.ai.mit.edu> burley@geech.gnu.ai.mit.edu (Craig Burley) writes:
> >In article <21JUL199214442858@summa.tamu.edu> elo9246@summa.tamu.edu (LaNelle Ohlhausen) writes:
> >
> >   I have seen ! used in a program line in VAX fortran to denote that
> >   everything following the ! is a comment, e.g.:
> >
> >	   x=x+1	! This is a comment
> >
> >   Is this standard Fortran 77 or is it a VAX extension only?
> >
> >It is not standard.  It is a VAX extension, among other vendors.  Seems
> >pretty popular, from what I've been able to tell.
> >
> 
> It's also used in the Sun FORTRAN compilers, and the Convex Fortran compilers.
> 			Ed Hartnett
> 
> 

	Hello,

	I typically use the following construction to avoid compatibility problems:

      x=x+1
*          { This is a comment. }

    OR

      x=x+1
C          { This is a comment. }

	Indenting the comment by about five spaces more than the statement allows you to indicate that it
is associated with the statement, while not cluttering the beginning columns, which typically contain more
major comments.

	Although, I would prefer the F90 standard to be more widely available, so that we might just go ahead
and use the exclamation point comment.

-- 
Gary Kenneth Krueger         )))) | Internet: gary@pong.gsfc.nasa.gov
General Sciences Corporation   ,, |
NASA/GSFC 974                   7 | voice: (301) 286-3133
Greenbelt, MD 20771           \_  |
From: sandee@Think.COM (Daan Sandee)
Newsgroups: comp.lang.fortran
Subject: Re: Using ! to denote a comment
Date: 21 Jul 1992 20:57:20 GMT
Organization: TMC
Distribution: world
NNTP-Posting-Host: telecaster.think.com

In article <21JUL199214442858@summa.tamu.edu>, elo9246@summa.tamu.edu (LaNelle Ohlhausen) writes:
|> I have seen ! used in a program line in VAX fortran to denote that
|> everything following the ! is a comment, e.g.:
|> 
|> 	x=x+1	! This is a comment
|> 
|> Is this standard Fortran 77 or is it a VAX extension only?  

It is not standard Fortran 77. 
It is an extension found in many compilers, e.g. DEC or Cray or TMC.
Your compiler should tell you about this when you turn on the appropriate
option to flag non-ANSI usage, or whatever the manual calls it.

Daan Sandee                                           sandee@think.com
Thinking Machines Corporation
Cambridge, Mass 02142                                 (617) 234-5044
Newsgroups: comp.lang.fortran
From: jal41820@uxa.cso.uiuc.edu (Smiley)
Subject: Segmentation Violation help...
Summary: help
Organization: University of Illinois at Urbana
Date: Wed, 22 Jul 1992 22:11:49 GMT
Keywords: help


In one of the programs I'm working with, I have the following code:

      open(unit=13,file=cendata,status='old',form='formatted')
 1013 format (i4,i4,f8.1,f8.1,f9.4,f8.4)
   73 read(13,1013,end=93) i,j,dum1,dum2,grid(i,j,1),grid(i,j,2)
      grid(i,j,2) = 0 - grid(i,j,2)
      go to 73

   93 open(unit=14,file=griddata,status='old',form='formatted')

(etc...)

Now, all the variables are declared (the file is a variable). The file
exists. The format statement is correct. All lines referenced in go to's
are existant. Better yet, I used this segment exactly as is before with
no problems. However, now I get a segmentation violation, something
about signal 11, code 3, and am told there may be a problem with line
numbers and library calls. I put a write statement just above the
go to 73, and discovered the program reads through 52 lines of the file,
then gives this error. I checked it with other files of the same format,
and looked at the file itself. No problems there. If anyone has any ideas,
please let me know... thanks.


-- 
        Josh Laff              #     #      
email to: smiley@uiuc.edu     _       _     Hello! I am a signature virus!  
      (217) 356-6079         |#\_____/#|    Join the fun and copy mo*#(*&^!>.
                              \#######/
From: pviswana@uceng.UC.EDU (Prashanth V.)
Newsgroups: comp.lang.fortran
Subject: Is there a good Integer Random number generator in FORTRAN??
Date: 30 Jul 92 19:24:01 GMT
Distribution: usa
Organization: College of Engineering, University of Cincinnati


Hi netters:

	I am looking for a good Integer random number generator that
does not make use of any of the systems libraries. Can anyone please lead
me to one.

Thanks in advance.

-- 
Prashanth Viswanath				 Elemental empathy
pviswana@uceng.uc.edu				 A change of synergy
pviswana@thor.ece.uc.edu			 Music making contact, 
					 	 Naturally
Newsgroups: comp.lang.fortran
From: ohl@ips103.desy.de (Thorsten Ohl)
Subject: Re: recursive I/O
Organization: Deutsches Elektronen-Synchrotron, Hamburg, Germany.
Date: Wed, 22 Jul 1992 01:55:44 GMT

>>>>> On Tue, 21 Jul 1992 22:31:57 GMT, ecmtwhk@ccu1.aukuni.ac.nz (Thomas Koenig) said:

Thomas> Is the following [ = recursive I/O ] legal F77?

No!

Thomas> It works on the UNIX box I'm on at the moment, but I can
Thomas> imagine trouble with architectures which do not use a stack
Thomas> for argument passing, for example /370.

It will certainly fail on S/370 running MVS, but I seem to remember to
have seen a runtime error also on a RS/6000 running AIX 3.1.  The
problem is not only the missing stack, but also that several FORTRAN
I/O subsystems are _not_ reentrant (they seem to use statically
allocated buffers and other nasty things).

I try to avoid function calls in I/O lists.   Yes, that costs
additional temporaries, but in large codes it is easy to overlook that
the (n+1)-th level of a nested function call might call the I/O
subsystem.

--
////// Thorsten Ohl, DESY (-T-), Notkestr. 85, W-2000 Hamburg 52, F.R.G.
///////// net: ohl@crunch.ikp.physik.th-darmstadt.de, ohl@gnu.ai.mit.edu
//////////////////////// voice: +49-40-8998-3699,  fax: +49-40-8998-3282
Newsgroups: comp.lang.fortran
From: hirchert@ncsa.uiuc.edu (Kurt Hirchert)
Subject: Re: Variable repeat count specifier for FORMAT statments
Originator: hirchert@harriett.ncsa.uiuc.edu
Organization: Nat'l Ctr for Supercomp App (NCSA) @ University of Illinois
Distribution: na
Date: Sun, 26 Jul 1992 03:43:24 GMT

In article <nn1.712013604@Ra.MsState.Edu> nn1@Ra.MsState.Edu (N. Narenthiran) writes:
>But,
>  Is the statement WRITE (*,FMT='(I5)') I standard conforming or not?

Yes.

>If it is, is it ok to name a character string as FMT?

Yes. (FORTRAN has no reserved words.)
-- 
Kurt W. Hirchert     hirchert@ncsa.uiuc.edu
National Center for Supercomputing Applications
Newsgroups: comp.lang.fortran
From: bauwens@acs.ucalgary.ca (Luc Bauwens)
Subject: Re: MS Fortran 5.1 upgrade. Is it worth it?
Date: Sun, 26 Jul 92 02:39:52 GMT
Organization: The University of Calgary, Alberta

In article <1992Jul25.220659.2257@news.Hawaii.Edu> tholen@galileo.ifa.hawaii.edu (Dave Tholen) writes:
>Luc Bauwens writes:
>
>> The 32 bit apps run about 35% faster than the 16 bits MS apps.
>
>I have found that the speedup depends on the relative amounts of I/O and
>number crunching.  WATCOM's I/O performance would appear to be slightly
>worse than Microsoft's, but in the number-crunching department, the
>32-bit code wins handily, and by more than a factor of two.
 

Not that I doubt your results, but my observation of a 35% speed increase
was with very little i/o, primarily double-precision floating point
stuff.

Potential explanations for the differences?  Somebody suggested me
that it me be related to array size: my code does not contain any
array larger than  64 kB.

Also, there is a number of transcendental functions in my code, which
may not benefit from the improvement?

(And perhaps I should do some kind of sensitivity analysis, just
change my array sizes and look at what happens?)

Luc B

Newsgroups: comp.lang.fortran
From: hirchert@ncsa.uiuc.edu (Kurt Hirchert)
Subject: Re: Variable repeat count specifier for FORMAT statments
Originator: hirchert@harriett.ncsa.uiuc.edu
Organization: Nat'l Ctr for Supercomp App (NCSA) @ University of Illinois
Distribution: na
Date: Sun, 26 Jul 1992 03:41:05 GMT

In article <1992Jul24.152129.16299@newshost.lanl.gov> jlg@cochiti.lanl.gov (Jim Giles) writes:
|>In article <1992Jul24.012058.21162@ncsa.uiuc.edu>, hirchert@ncsa.uiuc.edu (Kurt Hirchert) writes:
|>
|>|> [...]                                            In more complex
|>|> situations, I would build the format on the fly:
|>|> 
|>|> 		      character*80 fmt
|>|> 		      ...
|>|> 		      write (fmt,'(a,i3,a)') '(',n,'(I8))'
|>|> 		      write (*,fmt) whatever_it_is_you_wanted_to_write
|>
|>Wouldn't it be more legible to write:
|>
|>      character*80 fmt
|>      ...
|>      fmt='(nnn(I8))'
|>      write (fmt(2:4),'(I3)') n
|>      write (*,fmt) whatever_it_is_you_wanted_to_write
|>
|>There is no need to construct the entire value of `fmt' with the internal
|>write, you need only concern yourself with that part which changes.

I guess this is a matter of taste.  I don't like the idea of having to
figure out the exact character positions I want to modify (not difficult
in this case, but it could be in a more complex format), and I like even
less the idea of maintaining this position information each time the
format is altered.

I also prefer using only two statements.
-- 
Kurt W. Hirchert     hirchert@ncsa.uiuc.edu
National Center for Supercomputing Applications
Newsgroups: comp.lang.fortran
From: harrisp@wl.aecl.ca
Subject: Help! Partial Differential equation solvers
Organization: AECL RESEARCH
Date: Tue, 21 Jul 1992 17:59:25 GMT

To:   Greg Lampard

From: HARRISP@WL.AECL.CA   (Phil Harris)
Date: 22-JUL-1992
RE:   Solving partial differential equations numerically

Can anyone recommend a fortran callable  package for solving pde's and systems
of pde's. I really need the source code, preferably written as standard 
Fortran 77 as I want this to run on a PC (80486) using Lahey Fortran. Some 
documentation would be nice also. I'm looking for something that is fast, 
since the model I am developing has to run for several months of real time. 
I wrote a simple program to solve the equations using explicit
finite differences which works just fine, but I need to use very small time 
steps for it to remain numerically stable, and takes almost a minute of 
execution time on my '486 to simulate the results of a minute of real time.
I am currently working on a code using implicit (Crank-Nicholson) finite 
differencing, but am having some trouble getting it to execute correctly. 
I'm hoping that once I get this working, I will be able to use larger time
steps.

The equations I need to solve are fairly simple:

dQ(z,t)
-------  = a1*( Const1(z) - Q(z,t) )*C(z,t) - a2*Q(z,t)
  dt

dC(z,t)                dQ(z,t)    dC(z,t)
-------- = -Const2 * ( ------- +  ------- )
  dt                     dt         dz

a1, a2, Const2  are independant of z and t
Const1 independant of t, but dependant on z.

Anybody have any suggestions. I've heard rumors of some NETLIB routines,
but wouldn't know where to start in terms of which routines and where
to get them from.


Phil Harris				|  Imagination is more
Whiteshell Laboratories			|  important than knowledge.
Atomic Energy of Canada			|           Albert Einstein
HARRISP@WL.AECL.CA			|
From: dale@imsl.UUCP (Dale Neaderhouse)
Newsgroups: comp.lang.fortran
Subject: IMSL/ZPOLR --> ZPLRC
Date: 27 Jul 92 17:46:12 GMT
Organization: IMSL, Inc., Houston

In an article by: ciechan@ubvmsc.cc.buffalo.edu (Chaishia Tracy Chan)

> Where can I find the related library for this "ZPOLR"?

The routine ZPOLR is an IMSL routine under a naming convention before
April, 1987.  The new name is ZPLRC or DZPLRC. In 1987 automatic workspace
handling and automatic error handling were incorporated in all IMSL 
routines changing all argument lists.  Our policy is that a different 
argument list requires a different subroutine name, hence the renaming.

When I help people make the conversion to the new names they often need
the old documentation to be faxed to them.  If this is the case, please
contact me.

Dale

Have a good day!
 
Dale L. Neaderhouser          dale@imsl3.imsl.com   FAX: 713-242-9799
Senior Software Engineer      uunet!imsl!dale      IMSL: 713-242-6776
Post Sales Technical Support: 800-324-4675        Sales: 800-222-4675
Newsgroups: comp.lang.fortran
From: dedmunds@selkirk.sfu.ca (Darran Edward Edmundson)
Subject: why are fortran binaries so large?
Organization: Simon Fraser University, Burnaby, B.C., Canada
Date: Thu, 23 Jul 1992 18:47:58 GMT

Why are fortran executable binaries so large compared to similar code
produced by other languages?

Is space for variables being reserved in the data segment (like initialized
variables in assembly language)?  (i.e. my binary is very large even if
my code is quite short and simple but I have a large array.)

If this is the answer, is there a way to prevent it (I don't have a f77
manual handy)?

Thanks.

-- 

Darran Edmundson
darran@chaos.phys.sfu.ca

Newsgroups: comp.lang.fortran
From: doherty@msc.edu (David C. Doherty)
Subject: ERR= with free formatted READ on DECStation
Keywords: READ ERR DECStation f77
Reply-To: doherty@msc.edu
Organization: Minnesota Supercomputer Center
Date: Thu, 23 Jul 1992 16:39:59 GMT

I am having problems getting the ERR= statement to work
with a List Directed READ, using f77 on a DECStation running
Ultrix 4.1. The compiler identifies itself as DEC Fortran V3.0-2.
When an error occurs, it seems not to branch to the ERR= label.
If I change the READ to formatted, an error causes it to
branch properly.

Is this a known problem or feature (like allowing character
strings to be read into INTEGER variables)? I am relying on
the ERR= to work properly in my code... so is there a way around this 
(perhaps a compiler switch that I haven't found)?

in case my message is not clear, what follows are:

1. the input file
2. snippet of code with free formatted READ
3. output of (2)
4. snippet of coded with FORMATTED READ
5. output of (4)

btw, the desired behavior is achieved with many other compilers (cf77 on
CRAYs, f77 on IRIS (thought that this was the same mips compiler!)...)

any help would be greatly appreciated,

Dave Doherty
Minnesota Supercomputer Center
doherty@msc.edu



input file ('test.dat')
------------------------------------------------
  1   1                 4.4000         1.5230         0.0000         0.0000 
  1   5                 4.6000         1.1130         0.0000         0.0000 
bend
  1   1   5             0.3600       109.3900       109.4100       109.4100 
  5   1   5             0.3200       109.4000       109.0000       109.0000 
  1   1   1             0.4500       109.4700       109.5100       109.5100 
------------------------------------------------
free-formatted READ code
------------------------------------------------
      program test1
      open(unit=13,file='test.dat',status='old')
      do i=1,10
        read(13,*,err=200)i,j
100     format(i3,x,i3)
        write(6,100)i,j
      enddo
      goto 300
200   stop 'i/o'
300   continue
      end
------------------------------------------------
output of above code
------------------------------------------------
  1   1
  1   5
  0   0
  1   1
  5   1
  1   1
i/o
------------------------------------------------
formatted READ code
------------------------------------------------
      program test2
      open(unit=13,file='test.dat',status='old')
      do i=1,10
        read(13,100,err=200)i,j
100     format(i3,x,i3)
        write(6,100)i,j
      enddo
      goto 300
200   stop 'i/o'
300   continue
      end
------------------------------------------------
output of above code
------------------------------------------------
  1   1
  1   5
i/o
------------------------------------------------
From: burley@geech.gnu.ai.mit.edu (Craig Burley)
Newsgroups: comp.lang.fortran
Subject: Re: why are fortran binaries so large?
Date: 24 Jul 92 17:02:28 GMT
Organization: Free Software Foundation 545 Tech Square Cambridge, MA 02139
In-reply-to: dedmunds@selkirk.sfu.ca's message of 23 Jul 92 18:47:58 GMT

In article <dedmunds.711917278@sfu.ca> dedmunds@selkirk.sfu.ca (Darran Edward Edmundson) writes:

   Why are fortran executable binaries so large compared to similar code
   produced by other languages?

Because they're correct?  :-)

   Is space for variables being reserved in the data segment (like initialized
   variables in assembly language)?  (i.e. my binary is very large even if
   my code is quite short and simple but I have a large array.)

That is probably what is happening -- or because the way its libraries are
linked, you might be getting the entire library instead of portions thereof?

   If this is the answer, is there a way to prevent it (I don't have a f77
   manual handy)?

If your f77 is indeed allocating all variables as "static" in C terms, it
probably has an option to not do this unless you explicitly SAVE a given
variable (or all of them) in your source.

Many compilers default to pretending SAVE has been done for the entire
program unit, because lots of code was written before SAVE was really
understood as important (and in some places, that point in time is still in
the future :-).  So it does things like

      SUBROUTINE NEXT(N)
      INTEGER N,NEXTN
      LOGICAL FIRST
      DATA FIRST/.TRUE./
      IF (FIRST) NEXTN = 0
      NEXTN = NEXTN + 1
      N = NEXTN
      END

and the programmer expects successive calls to return 1, 2, 3, ... in the
passed argument.  But without SAVE NEXTN (and, strictly speaking for ANSI
FORTRAN 77 to be safe, SAVE FIRST as well), that isn't necessarily the case;
in fact, without both those statements, the subroutine is not standard-
conforming.

If you do find the option to tell your compiler to put variables on the stack
(except when SAVEd or initialized), be aware that using it might expose
bugs in your code because of this sort of problem.  Fortunately, you can
pick and choose which files you want to do this to, to try and track down the
problem -- or use a compiler that reports possible uninitialized-variable
references.
--

James Craig Burley, Software Craftsperson    burley@gnu.ai.mit.edu
Member of the League for Programming Freedom (LPF)
From: krk@j.cc.purdue.edu (Kathy Robinson Krane)
Newsgroups: comp.lang.fortran
Subject: wanted: UNIX "learn" style FORTRAN lessons
Keywords: learn cai introduction
Date: 30 Jul 92 21:46:04 GMT
Distribution: usa
Organization: Purdue University


Does anyone know of a public domain FORTRAN tutorial that uses the UNIX 
"learn" command format?  

Please respond via email.  I will post a followup summary.

Kathy Robinson Krane
krk@mentor.cc.purdue.edu
From: zinckt@wl.aecl.ca
Newsgroups: comp.lang.fortran
Subject: Wanted : Structure chart generator for F
Date: 29 Jul 92 16:30:51 GMT
Organization: AECL RESEARCH

Hello- 

I am looking for  code that creates a structure chart from F77 code. I am 
working on VAX/VMS Fortran. Any C or FORTRAN code which does this would be 
appreciated.

		Thanx in advance.

		Tom.

_________________________________________________________-
T. R. A. Zinck 
ATOMIC ENERGY OF CANADA
Whiteshell Labs, Pinawa , Manitoba, Canada.
zinckt@wl.aecl.ca
Newsgroups: comp.lang.fortran
From: jsvrc@rc.rit.edu (Doctor FORTRAN)
Subject: Re: C to Fortran?
Followup-To: comp.lang.fortran,comp.lang.c
Originator: jsvrc@rcmain.rc.rit.edu
Organization: RIT Research Corp
Distribution: comp
Date: Mon, 27 Jul 1992 17:44:58 GMT

In article <MERNST.92Jul24081907@coot.lcs.mit.edu> mernst@theory.lcs.mit.edu (Michael Ernst) writes:
>Can anyone point me at a tool for converting programs written in C to
>Fortran?

Unfortunately, this is a very difficult thing to do, as it violates the Second
Law of Thermodynamics. :-)

If you're looking for readable, maintainable code, it is doubtful that an
automated tool can do the job. f2c, which goes in the opposite direction
(hence in accordance with the Second Law of Thermodynamics :-) does not, I
understand, produce code which one would want to read nor maintain. A
translation by hand may be your best option if you want to easily understand
the FORTRAN code.

==Doctor FORTRAN
From: sundius@cc.helsinki.fi
Newsgroups: comp.lang.fortran
Subject: Re: Why CALL EXIT? (was Re: Question for C ==> Fortran)
Date: 31 Jul 92 08:39:17 GMT
Organization: University of Helsinki

In article <6881@charon.cwi.nl>, dik@cwi.nl (Dik T. Winter) writes:
> Well, I know of systems were you get a non-zero exit status if your program
> does not terminate with a STOP statement.
> -- 

According to the FORTRAN 77 standard (ANSI X3.9-1978), the STOP statement
causes the termination of execution of the executable program, and the
END statement (when executed in the main program) terminates the execution
of the executable program (pp. 11-9, 11-10). The STOP statement has an
additional digit string or character constant which is "accessible" at
the time of termination. According to page B-6 in the appendix, the 
availability of this string depends on the processor. I could not find
any reference to the CALL EXIT statement at all.

It thus seems that the omission of the STOP statement is fully permissible
according to the standard.

 
+--------------------------------------------------------------------+
! Tom Sundius                          Department of Physics         !
! Internet: sundius@cc.helsinki.fi     University of Helsinki        !
! BitNet:   SUNDIUS@FINUH              SF-00170 Helsinki, Finland    !
+--------------------------------------------------------------------+
From: dodd@mycenae.cchem (Lawrence R. Dodd)
Newsgroups: comp.lang.fortran
Subject: Re: Using ! to denote a comment
Date: 21 Jul 92 14:19:50
Organization: Dept of Chemical Engineering, UC Berkeley, CA, USA
	<1992Jul21.131602.1@slacvx.slac.stanford.edu>
NNTP-Posting-Host: mycenae.cchem.berkeley.edu
In-reply-to: fairfield@slacvx.slac.stanford.edu's message of 21 Jul 92 21:16:02 GMT


>>>>> On 21 Jul 92 21:16:02 GMT, fairfield@slacvx.slac.stanford.edu said:
  fairfield> Nntp-Posting-Host: slacvx.slac.stanford.edu

  fairfield>     No, it is NOT standard Fortran 77; yes, it IS a VMS
  fairfield> extension.  In addition, it has become widely distributed (even
  fairfield> IBM's VS Fortran supports it), and (correct me if I'm wrong) has
  fairfield> been incorporated into the Fortran 90 standard.

yes it is part of f90.