Lahey Fortran Compiler Overview
Lahey Fortran Compiler Detailed Description
Lahey Fortran Compiler Prices

LF95 System Requirements.

  • Windows 9x, NT , Me, or 2000
  • CD-ROM Drive
  • 80486DX, Pentium, Pentium Pro, Pentium II, or compatible processor
  • 24 MB RAM
  • 60 MB of available hard disk space

-block

Set default block size for OPEN statements

-[n]c

Compile only

-[n]chk

Check substrings and array subscripts, non-common variables accessed before initialization, and mismatched procedure arguments

-[n]co

Display compiler options

-[n]dal

Deallocate allocatable arrays

-[n]dbl

Extend REAL and COMPLEX variables, arrays, constants, and functions to KIND=8

-[n]dll

Generate a dynamic link library

-[n]f95

Generate warnings for non-standard Fortran 95

-file

Ensure driver interprets file name as name of file and not a switch argument

-[n]fix

Interpret source files as Fortran 95 fixed source form.

-[n]g

Generate debugger information

-i

Specify search path for Fortran INCLUDE files

-[n]in

Equivalent to including an IMPLICIT NONE statement in each program unit

-lib

Specify library file names

-libpath

Specify search path for libraries

-[n]long

Extend all default INTEGER variables, arrays, constants, and functions to KIND=8

-[n]lst

Create source listings

-[n]maxfatals

Specify maximum number of fatal errors allowed before stopping compilation

-ml 

Generate code compatible with other languages

-mod

Specify search path for module files

-o

Override default object file name

-o0

Optimization level 0 - perform no optimization

-o1

Optimization level 1 - perform full optimization

-out

Specify output file name

-[n]quad

Extend all double-precision REAL and COMPLEX variables, arrays, rays, constants, and functions to KIND=16

-[n]sav 

Allocate local variables in a compiler-generated SAVE area

-stack

Specify the size of the stack area for a program

-[n]staticlink

Statically link with code produced by another supported language system

-[n]stchk

Check for stack overflows

-[n]swm

Suppress warning messages

-t4

Generate code optimized for Intel 80386 or 80486 processor

-tp

Generate code optimized for Intel Pentium, Pentium Pro, or Pentium II processor

-[n]trace

Include procedure traceback and line numbers in runtime error messages

-[n]trap

Trap numeric data processor (NDP) exceptions at runtime

-[n]vsw

Create a simple console-like Windows GUI application

-[n]w

Generate warning messages

-win[console]

Create Windows or Windows Console application

-[n]wisk

Create application that uses the Winteracter Starter Kit (WiSK)

-[n]wo

Generate warning messages for obsolescent Fortran 90 code

-[n]xref

Create cross-reference listings

Visually analyze the call structure and logic flow of your Fortran and C source code. Display a detailed cross reference of all the variables in the program and where modules and commons are defined and referenced. Show C global variable definitions and references as well. VA can help you understand someone else's code, detect subtle programming errors across multiple files, and verify compliance with the Fortran 95 standard.

LF95 beta tester Barry Santana says, "Fujitsu Visual Analyzer has been a great help in avoiding conflicts in the modifications. The help that Lahey Technical Support has provided quickly and without hassle has provided this project with a much needed shot in the arm! It has confirmed that my decision to switch to the Lahey compiler was correct. Thanks for all the help."

Fujitsu Scientific Subroutine Library 2.

The Fujitsu Scientific Subroutine Library 2 (SSL2) has been in use for years in Japan on Fujitsu mainframe and workstation hardware. SSL2 offers over 250 optimized routines in the following areas:

Linear Algebra

  • Matrix Storage Mode Conversion
  • Matrix Manipulation
  • Linear Equations and Matrix Inversion (Direct Method)
  • Least Squares Solution

Eigenvalues and Eigenvectors

  • Eigenvalues and Eigenvectors of a Real Matrix
  • Eigenvalues and Eigenvectors of a Complex Matrix
  • Eigenvalues and Eigenvectors of a Real Symmetric Matrix
  • Eigenvalues and Eigenvectors of a Hermitian Matrix
  • Eigenvalues and Eigenvectors of a Real Symmetric Band Matrix
  • Eigenvalues and Eigenvectors of a Real Symmetric Generalized Eigenproblem
  • Eigenvalues and Eigenvectors of a Real Symmetric Band Generalized Eigenproblem

Nonlinear Equations

  • Polynomial Equations
  • Transcendental Equations
  • Nonlinear Simultaneous Equations

Extrema

  • Minimization of Function with a Variable
  • Unconstrained Minimization of Multivariable Function
  • Unconstrained Minimization of Sum of Squares of Functions (Nonlinear Least Squares Solution)
  • Linear Programming
  • Nonlinear Programming (Constrained Minimization of Multivariable Function)

Interpolation and Approximation

  • Interpolation
  • Approximation
  • Smoothing
  • Series

Transforms

  • Discrete Real Fourier Transforms
  • Discrete Cosine Transforms
  • Discrete Sine Transforms
  • Discrete Complex Fourier Transforms
  • Laplace Transform

Numerical Differentiation and Quadrature

Differential Equations

Special Functions

  • Elliptic Integrals
  • Exponential Integral
  • Sine and Cosine Integrals
  • Fresnel Integrals
  • Gamma Functions
  • Error Functions
  • Bessel Functions
  • Normal Distribution Functions

Pseudo Random Numbers

  • Pseudo Random Generation
  • Pseudo Random Testing

Free, Unlimited Telephone Support.

In addition to the free, unlimited, e-mail, fax, and postal mail technical support available, LF95 Pro includes free, unlimited telephone support.

LF95 Specifications.

Compiler Switches

lahey_compiler_5

Statically Link Fujitsu C, VC++, and Borland C++ Object Files.

LF95 supports static linking with Fujitsu C, Microsoft Visual C++ version 2.0 and greater, and with Borland C++ version 4.5 and greater. Combine your Fortran and C/C++ code into one executable. For the routines you don't want to develop yourself, you can also link with C/C++ routines from commercially available libraries.

DLL Interfaces to Visual Basic, VC++, Borland C++ and Delphi.

Create 32-bit, Windows DLLs from your Fortran routines and call the Fortran routines from 32-bit, Windows programs created with Microsoft Visual Basic, Microsoft Visual C++, Borland C++, and Borland Delphi.

Win32 API Access.

LF95 supports direct calls from Fortran to functions in the Win32 API. For a narrow range of applications, this might be the last little bit of glue you need to pull off your project. Note that this is not for the faint-hearted! You'll need to be a Windows programmer to get all but the most basic functionality. That's because the API was written to be called from C. And consequently, arguments need to be passed as C expects them. Structures and callback routines pose additional problems. Clearly, this would be a difficult way to build a Windows application from scratch.

Legacy Fortran Support.

LF95 extends its language support in other directions adding many legacy Fortran features, including VAX structures and the various UNIX service routines. These features further facilitate your move to cost/performance efficiency on the PC platform:

  • Unlimited number of continuation lines in free or fixed source form
  • DO UNTIL statement
  • FIND statement
  • STRUCTURE and END STRUCTURE statements
  • UNION and END UNION statements
  • MAP and END MAP statements
  • RECORD statement
  • Non-standard POINTER statement
  • AUTOMATIC statement
  • STATIC statement
  • VALUE statement
  • BYTE statement
  • Hollerith constants
  • Alternative forms of binary, octal, and hexadecimal constants
  • Binary, octal, or hexadecimal constants in a DATA, declaration statement
  • Period structure component separator
  • IMPLICIT UNDEFINED statement
  • Namelist input/output on internal file
  • FORM = 'BINARY'
  • TOTALREC specifier
  • STATUS = 'SHR'
  • Gw, $, \, and R edit descriptors
  • LOC intrinsic function
  • The following service subroutines: ABORT, BEEP, BIC, BIS, CLOCK, CLOCKM, DATE, EXIT, ERRSAV, ERRSTR, ERRSET, ERRTRA, FDATE, FREE,GETARG, GETDAT, GETLOG, GETPARM, GETTIM, GMTIME, IBTOD, IDATE, IETOM, ITIME, IVALUE, LTIME, MTOIE, PERROR, PRNSET, QSORT, SETRCD, SETBIT, SIGNAL, SLEEP
  • The following service functions: ACCESS, ALARM, BIT, CHDIR, CHMOD, CTIME, DRAND, DTIME, ETIME, FGETC, FPUTC, FSEEK, FSTAT, FTELL, GETC, GETCWD, GETFD, GETPID, HOSTNM, IARGC, IERRNO, INMAX, IOINIT, IRAND, JDATE, KILL, LNBLNK, LONG, LSTAT, MALLOC, NARGS, PUTC, RAN, RAND, RENAME, RINDEX, RTC, SECOND, SECNDS, SETDAT, SETTIM, SHORT, STAT, TIME, TIMEF, UNLINK

ANSI/ISO-Compliant Fortran 95.

LF95 is a complete implementation of the ANSI/ISO Fortran 95 standard. Fortran 95 offers some small but important improvements over Fortran 90, including the ability to create your own elemental procedures, default initialization for structure components, the NULL intrinsic for initializing pointers, the FORALL construct, and a standard CPU_TIME intrinsic procedure.

New LF95 PRO Features

Fujitsu Visual Analyzer.

lahey_compiler_4

The visual dialog designer, DialogED, allows you to interactively create Windows dialogs. Like MenuEd, DialogEd generates resource scripts and module or include files defining the identifiers of each dialog control. Various standard field types and controls are supported including string fields, list boxes, combo boxes, group boxes, push-buttons, picture frames, and labels. DialogED also offers a "test" button to try out your dialogs without having to build or rebuild your application.                                                  

lahey_compiler_3

Fortran-Smart Windows Editor
Lahey ED for Windows leads the way in intelligent, language-sensitive editing. Up and running straight out of the box for the new user but still highly configurable, ED fits the way you want to work:

Locate Problems: Lahey ED automatically highlights syntax and semantic errors generated by the compiler and positions the cursor on the offending line in your source code.

Reduce Errors: Color syntax highlighting makes errors obvious and dramatically reduces compile-edit cycles.

Save Time: Drag and drop text using the mouse. Right-click to look up functions in other source files, open include files, and do bracket matching.

Boost Productivity: Lahey ED formats and writes code for you with smart indenting, code templates, auto-correction, code completion, and automatic case conversion. You'll produce legible, correct code quicker than ever before.

Fortran-Smart Windows Debugger
Lahey's Source On-Line Debugger (SOLD) is part of Lahey ED for Windows. You can edit, compile, link, execute, and debug your program all from within the editor. SOLD helps you detect and correct programming errors quickly:

Incrementally Execute Your Program: Single step through your program. Step into or over calls to other routines.

Stop on Break Points: Click in the margin of your source code to set break points.

Display Variables: Right-click on a variable to display its value.

Watch Variables - Open a watch window to show variable values in any active program unit. Debug Mixed-Language Programs - Debug programs created from LF95 and Fujitsu C objects.

Other Development Tools
Complementing the Windows Development Environment, LF95 includes the Automake make utility, Lahey's Library Manager (LM) for building and working with library files, and Phar Lap's 386 LINK Linker.

Improved Performance.

LF95 offers significantly improved execution performance over most Fortran 90 codes. According to beta tester Art Raiche, "Over the past two decades, my group has been actively engaged in research and code development in electromagnetic modeling and inversion for the mineral exploration industry. We use finite element, integral equation and hybrid methods, all of which imply a lot of work with large matrices. We make heavy use of the allocatable array feature of Fortran 90. Depending upon the program, the new LF95 has improved runtimes by factors of between 1.8 and 2.3 over LF90. LF95-compiled code running on a 333 MHz Pentium now runs quite a lot faster than the same code on a Unix SGI R8000 machine. The new compiler has allowed us to switch from Unix workstations to PCs for number crunching as well as program analysis."

Winteracter Starter Kit.

Use the Winteracter Starter Kit - WiSK - for creating true Windows programs with Fortran. WiSK is a subset of the Winteracter Library created by Interactive Software Services, Ltd. Winteracter is a Fortran 95-callable, 32-bit, Windows, user-interface and graphics development kit. Derived from Winteracter, WiSK provides a library of subroutines for window management, input handling, dialog management, and high resolution graphics, plus custom versions of the visual menu and dialog designers.

The visual menu designer, MenuEd, allows you to create menus in the conventional Windows horizontal format or as Windows 9x and NT floating menus. MenuEd saves menu layouts as reusable resource scripts. LF95 automatically compiles these scripts with the resource compiler and links the menus into your WiSK program. MenuEd also saves a Fortran source file containing type declaration statements with PARAMETER attributes defining identifiers for each item in the menu resource file. This file can be USE'd or INCLUDE'd by a WiSK program allowing you to reference items in the menu using meaningful names.                                                               

The LF95 PRO includes the powerful Lahey/Fujitsu Fortran 95 optimizing compiler, linker, command line debugger, librarian, support for creating DLLs and calling the Windows APIs, Fortran-smart integrated development environment, the Winteracter Starter Kit, WiSK, for creating Windows GUIs and displaying graphics, Polyhedron's Automake utility, Fujitsu's WinFDB Windows debugger, the Coverage Analysis Tool that detects unexecuted code and performs range-of-operation checking, the Sampler Tool (an execution profiler) that helps tune program performance, the Fujitsu Visual Analyzer, the Fujitsu SSL2 math library (an extensive library and a proven performer on Fujitsu mainframes and workstations), the Fujitsu C compiler, and free phone and email support.

LF95 Optimizations.

Basic Optimization

  • Constant folding
  • Common subexpression elimination
  • Copy propagation
  • Strength Reduction
  • Algebraic simplifications
  • Dead code elimination
  • Peephole optimization
  • Loop invariant code motion
  • Transform array element to simple variable
  • Local Instruction scheduling
  • Address calculation optimization

Program Reconstruction Optimizations

  • Loop unrolling
  • Loop interchange

Procedure Optimization

  • Inlining mathematical functions
  • Stack optimization

Others

  • 486/Pentium/Pentium PRO instruction selection
  • Using fast input/output libraries

Fortran-Smart Windows Development Environment.

LF95 v5.6 Delivers!

Important new features include ...

  • New diagnostic capabilities include the following:
     
    • Enhanced runtime and compile-time diagnostics for -CHK option.
    • Global compile diagnostics with new -CHKGLOBAL option.
       
  • Executable speed improvements: loop optimization is improved when -O1 is specified, FORALL and DOT_PRODUCT statement processing is faster, and evaluation of the exponentiation operator (**) is faster.
  • File I/O speed improvements.
  • New OPEN statement specifier to convert big endian and IBM/370 file formats (and new corresponding specifier in INQUIRE statement).
  • Windows 2000 compatibility.
  • Fortran 2000 Standard (proposed) feature: ALLOCATABLE attributes on array components of structures, dummy arrays, and function results.
  • New -CHK arguments to control compiler diagnostics.
  • Ability to set default target language name-decoration/calling convention for all program units with new -MLDEFAULT option.
  • Ability to exclude non-standard Lahey intrinsic procedures with new -NLI option.
  • Character variable length limit increase from 65000 to 2147483647 characters.
  • New VOLATILE statement and attribute porting extensions.
  • New variable format expression porting extension (VAX)
  • f90SQL-Lite: A library of Fortran-callable procedures that allows you to read data from and write data to databases and spreadsheets.
  • New Lahey ED Developer toolbar buttons: "Optimized LF95 build," "Debug LF95 Build," and "Technical Support Questionnaire."
  • File splitter (LFsplit) to divide each program unit into separate source files.
  • More mixed-language programming examples.
  • New Fujitsu Visual Analyzer that accepts non-standard source filename extensions.
  • Technical Support Questionnaire program.
  • Online updates from Lahey's web site (during and after installation).
  • New revision of the User's Guide.

Speed. Dependability. Great Tech Support. Lahey Fortran 95. The standard for Fortran programming from the leader in Fortran language systems.

Lahey Compilers - Lahey Fortran Compilers

Lahey Compiler Categories: compilers, civil engineering
 

Lahey Fortran 95 Compiler Description

Scientific Software Group    P.O. Box 708188   Sandy, Utah 84070
Phone (801) 208-3011   Toll Free (U.S.) 1-866-620-9214    Fax (801) 302-1160    E-mail
info@scisoftware.com
Copyright 1998   Scientific Software Group    All rights reserved