THE COMPUTER TRANSITION SYSTEMS REPORT
NOVEMBER/DECEMBER 1995


SPECIAL FORTRAN 90 ISSUE

John Prentice of Quetzal Computational Associates, a company with extensive experience in the production of major scientific programs, has summarized the advantages of Fortran 90 as being "more concise, efficient, readable, less error prone, and better suited to modern computer architectures than is possible with Fortran 77". He further points out that these reasons will force Fortran compiler vendors from now on to put their optimization efforts into the facilities new to Fortran 90. So, although Fortran 77 code can be compiled with Fortran 90 compilers, those who continue to only Fortran 77 will be missing out on performance.



CONTENTS

ELF90 - low cost Fortran 90
LF90 UPGRADE OFFER - from earlier Lahey compilers
LF90 Version 2 - December release
SPEED IMPROVEMENTS with LF90
EPC FORTRAN 90 - for SUN, SGI, and RS/6000
FORTRAN 90 WORKSHOP
VAST90 - high quality Fortran 77 <-> 90 translators
SALFORD FORTRAN - EDUCATIONAL SITE LICENSE OFFER
NEW SALFORD DEBUGGER
GRAPHORIA DISCONTINUED - remaining stock discounted
LINUX FORTRAN 77 Compiler - $995
INTERACTER NEWS - version 3.1, Windows version for LF90
MATH77 - a large math/stat library in Fortran 77
FORTRAN on the Macintosh - two Fortran 77 compilers
ABSOFT FORTRAN77 for Windows95 etc
CoHort Coplot - quality data plotting
CoStat - statistical software
CoDraw - technical drawing software
CoVis - a data animation package

Elf90 - low cost Fortran 90
Elf 90, Lahey's new economical Fortran compiler, is now available for immediate delivery. The price is $295 or $130 for universities. Elf90 is ideal for those who want an inexpensive 32 bit Fortran compiler. Elf90 is Fortran 90 with some obsolete features removed. All these features are generally recognized as being poor programming practice because errors in current Fortran programs can frequently be traced to their use. Examples include ASSIGN, BLOCK DATA, COMMON, DATA, DO LABEL, DOUBLE PRECISION, END, END BLOCK DATA, ENTRY, EQUIVALENCE, EXTERNAL, GOTO (computed), GO TO (assigned), INCLUDE, and INTRINSIC.
Elf90 is an excellent compiler for those who want to learn Fortran 90. In fact is was specifically designed for this.

LF90 UPGRADE OFFER
Until 31 December 1995 anyone who has F77L, F77LEM/32, LF90, or any other 32 bit Fortran compiler for the PC may obtain LF90 for $995. This is a 25% discount on the normal price. To obtain the special offer pricing just mail or fax a copy of the cover page of your manual with your order.

LF90 VERSION 2
LF90 version 2 should be available in December. The cost to upgrade from version 1.10 of LF90 is $275 inclusive of shipping. The version 1.10 disks should be returned. Those who purchased LF90 version 1.10 on or after 1 September will receive version 2 at no cost. Version 2 of LF90 contains four major enhancements over version 1.10. These are:
- An INTERACTER graphics subset library instead of Graphoria. This enables the creation of DOS, Windows 3.x, Windows 95 and Windows NT applications from within LF90. Windows menus and dialog boxes can be inserted into Fortran applications. The printer and video card installed for Windows is the one used by LF90 programs compiled with the INTERACTER subset library. Current INTERACTER users may upgrade to the full INTERACTER Windows library at special prices until 31 March 1996.
- ED, the Programmers Editor, fully customized for Fortran 90 replaces the current Lahey Editor. The Ed editor has many powerful facilities which greatly enhance programmer productivity.
- 32 bit DLL support. This was originally scheduled for release in the "second quarter" of this year. LF90 can now generate 32 bit DLLs. These in turn can be used in applications produced by any compiler which supports 32 bit DLLs. Examples include 32 bit Visual C++ and Visual Basic 4.0.
- P6 support. The P6 CPU from INTEL should be available before the end of the year. Version 2 of LF90 has a P6 switch which will optimize for execution speed on the PCs having this CPU. Floating point operations in particular should be substantially accelerated.

SPEED IMPROVEMENTS with LF90
While there can be significant variations most Lahey users with Pentium PCs can reasonably expect increases in execution speed of 20% when their source code is compiled with LF90 rather than with F77LEM/32. We have had people report increases of 40% in their production code. Further efficiencies can be obtained if array expressions are used to replace DO LOOPs. One investigator has found that the parts of his program dealing with arrays executed in half the time when array expressions were used. Another, Dr. D Jenssen, reports that one of his programs which makes extensive use of double precision complex numbers runs 2.5 times faster when compiled with LF90 (version 1.10i) than with Microsoft PowerStation. He also has found on his Windows 95 system LF90 compiled programs run 25% faster under Windows 95 DOS prompt than if run under a vanilla DOS (the DOS provided if Windows 95 is not started up). Between version 1.10c and 1.10i he finds his programs generally run 10% faster.

EPC FORTRAN 90 - for SUN, SGI, and RS/6000
Edinburgh Portable Compilers (EPC) have excellent Fortran 90 compilers for SUN, Silicon Graphics and RS/6000 based computers. EPC's powerful source code debugger, edb, is included with the SUN and SGI compilers. The EPC Fortran 90 compiler gave very favourable results when compared with other Fortran 90 compiler for the SUN in "Performance Benchmarks for Optimizing Fortran 90 Compilers" (May/June 1995 Fortran Journal. Evaluation copies of the EPC compilers with a one month period of operation can be obtained for $300. This amount is deducted from the full price if a decision to purchase is made.

FORTRAN 90 WORKSHOP
Tom Lahey lead a Fortran 90 workshop in Melbourne which began October 16 and lasted four days. A practical approach was taken. Formal presentations were given but the stress was on participants obtaining a concrete knowledge of salient Fortran 90 features by incorporating them into their own Fortran 77 code during the workshop. A significant part of the program was discussion on points which arose as a result of this porting exercise.

VAST90
We are now distributors for Pacific-Sierra Research. They produce Fortran77 to 90 translators (VAST/77to90) and Fortran 90 to 77 (VAST/f90) source code translators for a wide range of Unix computers including SUN, IBM RS/6000, HP9000, DECstation 5000, DEC Alpha, Silicon Graphics, CONVEX and VAXstation VMS.
The VAST/77to90 translator automatically upgrades existing Fortran 77 programs to efficient Fortran 90. It reformats the source code, does extensive diagnostic checks and carries out the following conversions - removal of obsolete features, Fortran 77 declarations to Fortran 90 declarations, reduction and, where possible, elimination of GOTOs and labels, generation of array syntax in place of DO and IF loops, creation of MODULEs from COMMONs, creation of MODULEs from INCLUDEs, and automatic generation of interface blocks. Other facilities include translation of VAX Fortran structure definitions and references into Fortran 90 derived types and reference, a trace debugging option which inserts print statements for each event (branch, assignment, subroutine call, if test etc) in the program, and user directives within programs to control the translation of individual loops to array syntax. Switches give the user full control on what conversion operations are carried out. The translation process is fast. A program of 8000 lines took 21 seconds on a Sparc 10. An article describing VAST/77to90 by one who has used it to migrate tens of thousands of lines of Fortran 77 appeared in Fortran Journal July/August 1993.
The VAST/f90 translator is of particular interest to those who have a Fortran 77 compiler and wish to program in Fortran 90 since it converts a Fortran 77 compiler into a Fortran 90 compiler. As reported by John Prentice in his recent comparison of Fortran 90 for SUN platforms in Fortran Journal May/June 1995 if the Fortran77 compiler is of high quality then use of the VAST/f90 front end produces excellent results.
Prices for a singe concurrent user on one machine are $1300 for either VAST product described above or $1700 for both.
VAST/77toHPF translates Fortran 77 to High Performance Fortran. It should be an essential tool for those wanting their Fortran77 programs to take full advantage of computers which use parallel processing. For most applications it is hard to translate automatically for completely efficient execution on distributed systems. The automatic translation carried out by VAST/77toHPF should thus be considered a tool not a total solution. Please contact Computer Transition Systems for further information.
Pacific Sierra also produce an optimizing preprocessor for both Fortran and C which can significantly improve the performance of programs on superscaler platforms. Please contact Computer Transition Systems for details.

SALFORD FORTRAN - EDUCATIONAL SITE LICENSE OFFER
For a limited time Salford is offering unrestricted site licenses for their FTN77 and their FTN90 Fortran compilers to educational institutions. The prices are a very cost efficient way for a university to cover all their purchases of Fortran compilers for both research and teaching.
FTN77 Fortran 77 compiler for DOS and Windows 3.1. This includes ClearWin+, a module which makes development of Windows programs very easy. The cost is $6500 plus a $1700 support and update service fee for the first and two subsequent years.
FTN90 Fortran 90 compiler. The cost without ClearWin+ is $9500 plus a $1475 support and update service fee for the first and subsequent two years. The cost with ClearWin+ is $13,000 plus $1700 support and update service fee for the first and subsequent two years.
All site licenses include two copies of documentation. Additional documentation may be purchased at any time.

NEW SALFORD DEBUGGER
With the latest release of Salford compilers users have the option of using the beta release of Salford's new debugger, SDBG. When SDBG is started the user is presented with three movable and fully resizable windows. These contain the source code of the module being debugged, the variables that are accessible from the current point in the program and the current call stack. The next line to be executed is highlighted in red. Separate watch windows for specified variables can be created. These are updated at each breakpoint. Multiple source windows are also available. Each time you enter and new function a new source window is opened. This allows one to instantly see the source statement which activated the current function call. Context sensitive help is now available for all debugger functions. The current window and debugger status will determine witch help screen is displayed.

GRAPHORIA DISCONTINUED
As mentioned in the latest Lahey "Fortran Source" the Lahey Graphoria graphics library is no longer being offered. We have one copy for LF90, one copy for F77L and two copies for F77LEM/32 which we are offering at more than 50% off as a closeout special. The respective sale prices are $165, $230, and $230.

LINUX FORTRAN 77 COMPILER - $995
Absoft reports that they have users who are successfully using their SVR4 Fortran 77 compiler with LINUX.
We can supply this compiler for $995 (universities $750.)

INTERACTER NEWS
In our previous newsletter (August 1995) we somehow neglected to mention that Windows/INTERACTER for the Salford FTN77 and FTN90 Windows compilers has been released. Two libraries are included. One for the DOS/DBOS based compilers and another for the Win32 compilers. The former allow generation of executables for Windows 3.1 and Windows 95 whereas the latter allows generation of true Win32 programs for Windows 95 and Windows NT. Virtually all existing programs should run straight away when compiled relinked with the Windows library, but most programs will benefit from some minor changes to produce a more Windows-like look and feel. Such changes will not restrict programs to the Windows environment. INTERACTER is a portable library which allows Fortran programmers to provide high quality graphics and user interfaces in their programs.
As mentioned elsewhere in this newsletter, with version 2 Lahey are using a subset of the INTERACTER graphics library in LF90. This will allow the generation of Win32 executables with LF90. A Windows /INTERACTER for LF90 version 2 has also been released.
INTERACTER is upgraded twice a year. Version 3.10 was released October 27. Customers who purchased new licenses or upgrades after 1 October 1995 will receive a free 3.10 upgrade.
New features in this release include
- complete new "look" Toolkit. It will have a Windows-like appearance on all platforms.
- optional 3D "look" option of windows/menus/input-fields/forms. This dramatically enhances the
appearance of programs running graphics mode under DOS, X Windows, and Microsoft Windows.
- framed fields in forms.
- colour tags can be embedded in window output to highlight words or strings. This has been used
extensively in INTHELP to highlight subroutine and variable names.
- CGM graphics driver. This provides an additional means of transferring graphical data to word
processing and desk top publishing packages.
- a data filter routine which converts random (x,y) spot heights to a gridded array which can then be
used with the INTERACTER 2D and 3D contouring routines.
- various Windows-like features to further ensure Windows compatibility (e.g. automatic support for
Alt keys in menus, trimmed menu strings in horizontal menus).
- arrow drawing routines.
- bigger polygons.
- graphics proximity checks (e.g. "is this point inside this polygon?").
- dynamically allocated raster graphics buffer under Fortran 90 compilers.
- 3D surface plots viewable from any angle.
- substantial improvement to graphics performance under Windows.
- a two volume wirebound manual.
- a Windows/INTERACTER for LF90 version 2.0. The price is $995. Special upgrade prices are available
until 31 March for current LF90 INTERACTER users.

- an INTERACTER package for either LF90 or Salford compilers which includes versions for both DOS and Windows. The cost is $1495.
- a lower priced ($1495) X Windows version for many UNIX Workstations.
Significant improvements in the INTERACTER Toolkit have also been made. Major changes include:
- Windows version available for the first time.
- a Windows-like user interface is employed on all platforms.
- Toolkit programs can now operate in graphics mode on most displays.
- a royalty free distribution license is now bundled free of charge.

MATH77
MATH77 ($175) is a mathematical subroutine library produced for the Jet Propulsion Laboratory by the California Institute of Technology. The library is written in Fortran 77 and is provided in source form on PC, Macintosh and Sun format diskettes. A 600 page user manual documents the more than 450 routines in Math77. The content of Math77 is similar to that of the NSWC library and the mathematics section of NAG and IMSL. Routines in the library include generation of special functions, random number generators, matrix solvers, solution of eigen vector and eigen value problems, solution of systems of nonlinear equations, curve fitting, sorting, roots of polynomials, interpolation, character based graphics, and some statistics routines. One powerful routine not found in major competing libraries is the finding of local minima of a multivariate function with linear constraints. The maximum likelihood routines in the statistics section are also noteworthy. Demonstration drivers are provided for each subroutine in Math77.

FORTRAN on the Macintosh
We are now able to offer the leading Fortran compilers for the Macintosh. These are the ABSOFT and Language Systems compilers. After examining both we are convinced that they are high quality compilers and are backed up with sound technical support. As we become more familiar with them we hope to provide more details concerning their relative strengths and weaknesses. We anticipate that the compilers for the Power PC (PPC) will be of central interest since they have the capability of producing programs which execute at speeds similar to that achieved by 32 bit Fortran compilers on Pentium based PCs. A brief summary of both products is given below.
ABSOFT F77 SDK v4.1 for PPC - $995 (similar compiler for 68K is $850)
- compatible with MacOS version 7.1.2 or later, 16 MB of memory is recommended
- native PPC product
- easy to port Fortran 77 applications with basic GUI between Windows 95/NT and Macintosh since Absoft produce compilers for both platforms. A UNIX/386 compiler is also available.
- user friendly commando interface
- MPW (bundled) is used but for the PPC version has an ABSOFT debugger, linker and other tools
- profiler, FTNCHEK static analyzer, and source code splitter
- flexible and easy to use make facility
- debugger supports the full syntax of FORTRAN and has 2D array display capability
- debugger can be used on code which includes Absoft C/C++, Apple C, and Apple PowerPC assembler in addition to Absoft Fortran 77.
- two basic graphics libraries, SuperPlotLite and MIG, are provided
- native Fortran 90 version based on Cray technology will go into beta in early 1996
- excellent support for VAX and IBM VS extensions
- a set of UNIX extensions
- complete access to Macintosh Toolbox routines.
- compatible C/C++ compiler available ($595)
LS FORTRAN PPC - $995 (similar compiler for 68K machines is $750)
- 68K based code runs in emulation on PPC
- can produce target code for both PPC and 68K
- does not require floating point unit
- MPW is used - uses Macintosh debugger, and linker
- has a make facility, static analyzer
- excellent support for VAX, and Data General extensions
- compatible with MPW C and LS Pascal compilers
- complete access to Macintosh Toolbox routines. Optional software (AppMaker $295) automates the calling of Toolbox routines from Fortran.
- low cost (but lesser capability) student versions available 68K $135, PPC $340.
- documentation includes language manual as well as a users manual

ABSOFT FORTRAN77 for Windows95 etc.
As a consequence of taking on board the Absoft Macintosh Fortran compiler we are now able to offer all their Fortran compilers. These include products for UNIX/386 (Unixware, SCO, and INTEL SVR4 -$1280 each), AIX 3.1 ($850) and Windows 95/and NT($995). The latter product (W95/NT) is probably of most interest and will be the product described in what follows.
W95/NT is a native Windows 95 or NT application and can produce executables for these environments and, via Win32s (included), for Windows 3.1. It can directly generate Win32 DLLs and also call any Win32 DLL. A powerful feature of the W95/NT compiler is full support for direct use of the full Win32 application programming interface. There is no requirement for the purchase of a second language or programming tools. A detailed source code example of how to create a Windows application is provided. This Windows interface can be added to any application at compile time by just by setting a compiler option. One set of source code can be maintained for both Windows and the Macintosh. In both instances a compiler switch will allow the incorporation of the native GUI.
The porting of code is facilitated by the W95/NT compiler containing options which support VAX/VMS, IBM, Cray and major PC Fortran extensions. There is full support for MIL-STD 1753 extensions and also and extensive range of UNIX functions. Development tools provided with W95/NT include a make, and linker, MRWE (Microsoft Runtime Windows Environment), a graphics library, and the FX debugger. The latter supports intermixed Fortran, C/C++( Microsoft) and assembly language. The graphics library, SuperPlot, is quite unusual in that it provides an interactive data visualization capability. You can interactively manipulate the plot on the screen and display cuts by means of a "slicer" facility.
We have undertaken a limited amount of testing of the Win32/NT compiler. The indications are that it produces executables which execute at about the same speed as those compiled by other 32 bit PC Fortran 77 compilers.

COHORT CoPlot - quality data plotting software
Computer Transition Systems is now able to offer the entire suite of CoHort Software. This consists of a full line of high quality graphics and statistics software for scientists and engineers. Each program is an effective tool when used by itself, but the various packages are even more effective when they used together. CoPlot ($250) creates publication-quality, scientific graphs of data and equations. Anyone who needs to produce technical illustrations should find CoPlot a valuable tool. A senior scientist from the CSIRO brought CoPlot to our attention. He has used it extensively to produce the diagrams for his papers and reports. He finds it an extremely flexible and very simple to operate.
CoPlot is a ``What-You-See-Is-What-You-Get'' program. Your graph is always on the screen as you modify it. Menus appear beside the graph so that you can specify which part of the graph you want to modify and how you want to modify it. You see the changes immediately. CoPlot's flexibility gives you absolute control over the appearance of everything on the screen - line widths, marker types, colours, grid lines, text attributes, kinds of axes, error bars, etc. Dates, for instance, can be in day/month/year format not just the American month/day/, year format.
You can choose from 18 different kinds of graphs and maps (XY, contour maps, Z-3D, histograms, 3D histograms, NChannel, grouped bars, stacked bars, multivariate bars, polar graphs, 3D Bar charts, 100% bars, correlation matrix, triangle plots, origin, orthographic maps, Mercator maps, and Albert conic maps). Up to 16 plots can be on screen simultaneously. Eight different types of regression are provided. Up to 99 data sets and 99 functions can be plotted. Graphs can be saved so that they can be used as templates for future graphs. Data entry is simple. A wide variety of data import file types can be used - several types of ASCII text, dBase II or IV, Excel, Lotus 123, Microstat II, Quattro, and binary data files. Any number of floating point numbers can be entered and edited with CoPlot's spreadsheet style data editor. Output can be sent to a printer plotter or graphics file (Postscript, EPS, HPGL, HPGL/2, PBM, PIC, CGM, PCX, Targa TGA, Scodl, WMF, WPG) selected to any size of image at the highest resolution available on that device. Colour printers are supported. Compatible screen displays include VGA, Super VGA 800x600, and 1024x768 produced by some cards. CoPlot can be used without a mouse but many operations are much more conveniently carried out with a mouse. Most major brands of digitizers can be used with CoPlot - either in place of a mouse or as a digitizer.
The fully indexed spiral bound CoPlot manual has 380 pages. A clearly written and a detailed tutorial is provided. Twenty pages are devoted to discussing questions frequently asked by users. Another section offers suggestions on what constitutes an effective diagram. Excellent free technical support via email, fax, phone, or mail is provided by CoHort.

CoStat - statistical software
CoStat ($250, $595 bundled with CoPlot and CoDraw) is an interactive, menu-driven, statistical program which makes commonly used statistical procedures available to microcomputer users at a reasonable price. CoStat has many of the features normally found only on expensive micro and mainframe statistics packages, but it is much easier to use and considerably less expensive.
The salient features include
Intelligent Menus - CoStat remembers all of the settings on all of the menus. This facilitates making small changes and rerunning an analysis, or running the same analysis on different data sets. CoStat also supports keystroke macros that are easily recorded, easily edited, and can be assigned to function keys.
Large Intelligent Data Files - CoStat data files may contain up to 100 variables (columns). The number of 16-digit (64 bit), floating-point numbers is limited only by disk space. CoStat data files hold descriptions of experimental designs (in terms of variables, replicates, and factors) as well as the actual numeric data. After the data file has been created, you can analyze it quickly, without repeatedly re-describing the experimental design.
Numerous Procedures - CoStat has procedures for: descriptive statistics, GLM ANOVA, correlation, histograms, frequency analysis, regression, non-parametric tests, etc. An extensive collection of utilities are included for importing data, editing, transforming (with algebraic equations), creating subsets, sorting, performing FFTs to get power spectra, plotting, etc.
370 Page Manual - Includes a Tutorial, a Reference Guide and a Procedure Description section. The procedure descriptions contain detailed examples and references for the statistical procedures and computational methods used.

CoDraw - technical drawing software
CoDraw ($250, $595 bundled with CoPlot and CoStat) is an extremely flexible drawing program designed to help you create high-quality, technical drawings. CoDraw is convenient for drawing apparatus diagrams, field maps, circuit diagrams, genetic maps, chemical symbols, landscape designs, seminar announcements, etc. You can also use it to add custom features to graphs from CoPlot. CoDraw can create drawings with lines, splines, Bézier lines, circles, arcs, ellipses, markers, filled areas, Bézier filled areas, .PCX images, and text. CoDraw has very flexible, high-quality, text-drawing facilities that use smooth outline (Bézier) fonts which can be scaled to any size and rotated to any angle. CoDraw's character editor lets you edit existing characters or create your own characters and symbols.
You can obtain distance, length, angle, area, and other information about existing objects or directly from printed drawings and maps using the Get procedure with a digitizer. The included editor allows drawings to be interactively altered with the changes occurring immediately - What you see is what you get. CoDraw can import, edit, and print vector drawings from HPGL plotter files, Lotus PIC, CGM, AutoCad DXF, and Adobe Illustrator EPS graphics files. PCX files can be imported. CoDraw is well documented in a 220 page manual. A tutorial is provided.

CoVis -a data animation package
CoVis ($250) is an inexpensive data visualization/animation package. CoVis is similar to CoPlot but is designed for animated views of data sets. The need for smooth animation places limits (compared to CoPlot) on the way information can be presented with CoVis. The animation facilities include panning, rotation, zooming, arbitrary viewing position, playing a sequence of frames.
A wide range of graph types can be handled by CoVis - Nchannel, 3D snake, point, contour (coloured 2D blocks in a 2D array), volumetric (3D blocks in a 3D array), vector, and wireframe. Volumetric graphs can be sectioned to reveal internal structures. Animation output and display hardware devices are the same as those for CoPlot (see previous article). A demo disk illustrating the capability of CoVis is available on request. The 270 page manual includes a tutorial to facilitate rapid learning of Covis facilities.



Return to Computer Transition Systems home page

Updated 6 June 1996