Compaq Visual Fortran Version 6.6 for Win32 x86 Systems SPD 80.56.01 DESCRIPTION This is the Software Product Description (SPD) for Compaq[R] Visual Fortran Version 6.6 for Windows x86 Systems. Compaq Visual Fortran for Windows 2000, NT, ME, 98, and 95 systems is a complete development system that includes the Compaq Fortran 95 compiler and runtime system, libraries, and tools combined with the Microsoft Developer Studio integrated development environment (IDE) and tools. Compaq Visual Fortran is an implementation of the Fortran programming language that supports the FORTRAN 66, FORTRAN 77, and Fortran 90 and 95 standards. Compaq Visual Fortran runs on, and generates native object code for x86 systems under Windows NT, Windows 95, Windows 98, Windows 2000, and Windows ME. Compaq Visual Fortran fully supports the following language standards: o FORTRAN 66 (ANSI X3.9-1966) o FORTRAN 77 (ANSI X3.9-1978) o FORTRAN 77 (ISO 1539-1980(E)) o Fortran 90 (ANSI X3.198-1992) o Fortran 95 (ISO/ IEC 1539-1:1997(E)) Compaq Visual Fortran can optionally produce diagnostic messages for compile-time elements that do not conform to the Full-Level ANSI Fortran Standard. Compaq Visual Fortran supports extensions to the ISO and ANSI standards, including a number of extensions defined by Compaq Fortran for the various Compaq Fortran platforms (operating system/architecture pairs). In addition to Win32 x86 Systems, Compaq Fortran platforms include: o Compaq Fortran 95 and Compaq Fortran 77 for Tru64 UNIX Alpha Systems o Compaq Fortran 95 for Linux Alpha Systems o Compaq Fortran 95 and Compaq Fortran 77 for OpenVMS [TM] Alpha Systems o Compaq Fortran 77 for OpenVMS VAX [R] Systems o Compaq Visual Fortran also includes a number of extensions defined by Microsoft Fortran PowerStation 4.0. Compaq Visual Fortran includes the following features and enhancements also found on other Compaq Fortran platforms: o Support for linking against static libraries o Support for linking against dynamically linked libraries (DLL) o Support for creating code to be put into a dynamically linked library (DLL) o Support for stack-based storage o Support for dynamic memory allocation o Support for reading and writing binary data files in nonnative formats, including IEEE (little-endian and big-endian), VAX, IBM System\360, and CRAY integer and floating point formats o User control over IEEE floating point exception handling, reporting, and resulting values o Control for memory boundary alignment of items in COMMON and fields in structures and warnings for misaligned data o Directives to control listing page titles and subtitles, object file identification field, COMMON and record field alignment, and some attributes of COMMON blocks o Ability to CALL an external function subprogram o 7200 Character Statement Length o Free form unlimited line length o Mixing Subroutines/Functions in Generic Interfaces o Composite data declarations using STRUCTURE, END STRUCTURE, and RECORD statements, and access to record components through field references o Explicit specification of storage allocation units for data types such as: - INTEGER*4 - LOGICAL*4 - REAL*4 - REAL*8 - COMPLEX*8 o A set of data types: - BYTE - LOGICAL*1, LOGICAL*2, LOGICAL*4, LOGICAL*8 - INTEGER*1, INTEGER*2, INTEGER*4, INTEGER*8 - REAL*4, REAL*8 - COMPLEX*8, COMPLEX*16, DOUBLE COMPLEX o POINTER (CRAY style) o Data statement style initialization in type declaration statements o AUTOMATIC and STATIC statements o Bit constants to initialize LOGICAL, REAL, and INTEGER values and participate in arithmetic and logical expressions o Built-in functions %LOC, %REF, and %VAL o VOLATILE statement o Bit manipulation functions o Binary, hexadecimal, and octal constants and Z and O format edit descriptors applicable to all data types o I/O unit numbers that can be any nonnegative INTEGER*4 value o Variable amounts of data can be read from and written to "STREAM" files, which contain no record delimiters o ENCODE and DECODE statements o ACCEPT, TYPE, and REWRITE input/output statements o DEFINE FILE, UNLOCK, and DELETE statements o USEROPEN subroutine invocation at file OPEN time o Support for reading nondelimited character strings as input for character NAMELIST items o Debug statements in source o Generation of a source listing file with optional machine code representation of the executable source o Variable format expressions in a FORMAT statement o Optional run-time bounds checking of array subscripts and character substrings o 63-character identifiers that may include dollar sign ($) and underscore o Support for the supercomputer intrinsics POPCNT, POPPAR, LEADZ, and TRAILZ o Language elements that support the various extended range and extended precision floating point architectural features: - 32-bit IEEE S_floating data type, with an 8-bit exponent and 24-bit mantissa, which provides a range of 1.17549435E-38 (normalized) to 3.40282347E38 (the IEEE denormalized limit is 1.40129846E45) and a precision of typically 7 decimal digits - 64-bit IEEE T_floating data type, with an 11-bit exponent and 53-bit mantissa, which provides a range of 2.2250738585072013D-308 (normalized) to 1.7976931348623158D308 (the IEEE denormalized limit is 4.94065645841246544D-324) and a precision of typically 15 decimal digits o Command line control for: - The size of default INTEGER, REAL, and DOUBLE PRECISION data items - The levels and types of optimization to be applied to the program - The directories to search for INCLUDE and .MOD files - Inclusion or suppression of various compile-time warnings - Inclusion or suppression of run-time checking for various I/O and computational errors - Control over whether compilation terminates after a specific number of errors has been found - Choosing whether executing code will be thread-reentrant o Internal procedures can be passed as actual arguments to procedures o Kind types for all of the hardware-supported data types: - For 1-, 2-, 4-, and 8-byte LOGICAL data: LOGICAL (KIND=1) LOGICAL (KIND=2) LOGICAL (KIND=4) LOGICAL (KIND=8) - For 1-, 2-, 4-, and 8-byte INTEGER data: INTEGER (KIND=1) INTEGER (KIND=2) INTEGER (KIND=4) INTEGER (KIND=8) - For 4- and 8-byte REAL data: REAL (KIND=4) REAL (KIND=8) - For single precision and double precision COMPLEX data: COMPLEX (KIND=4) COMPLEX (KIND=8) In addition, the Fortran 90 standard includes the following industry-accepted extensions to the FORTRAN 77 standard: o Support for recursive subprograms o IMPLICIT NONE statement o INCLUDE statement o NAMELIST-directed I/O o DO WHILE and ENDDO statements o Use of exclamation point (!) for end of line comments o Support for automatic arrays o Support for the following SELECT CASE - CASE - CASE DEFAULT - END SELECT statements o Support for the EXIT and CYCLE statements and for construct names on DO - END DO statements Major additions to the FORTRAN 77 standard introduced by the Fortran 90 standard include: o Array operations o Improved facilities for numeric computation o Parameterized intrinsic data types o User-defined data types o Facilities for modular data and procedure definitions o Pointers o The concept of language evolution o Support for DATE_AND_TIME intrinsic for obtaining dates using a four-digit year format Compaq Visual Fortran fully supports the Fortran 95 standard, including the following features: o FORALL statement and construct o Automatic deallocation of ALLOCATABLE arrays o Dim argument to MAXLOC and MINLOC o PURE user-defined subprograms o ELEMENTAL user-defined subprograms (a restricted form of a pure procedure) o Pointer initialization (initial value) o The NULL intrinsic to nullify a pointer o Derived-type structure default initialization o CPU_TIME intrinsic subroutine o Kind argument to CEILING and FLOOR intrinsics o Nested WHERE constructs, masked ELSEWHERE statement, and named WHERE constructs o Comments allowed in namelist input o Generic identifier in END INTERFACE statements o Minimal width field editing using a numeric edit descriptor with 0 width o Detection of Obsolescent and/or Deleted features listed in the Fortran 95 standard. Compaq Fortran flags these deleted and obsolescent features, but fully supports them. Compaq Visual Fortran provides a multiphase optimizer that is capable of performing optimizations across entire programs. Specific optimizations performed include: o Constant folding o Optimizations of arithmetic IF, logical IF, and block IF-THEN-ELSE o Global common subexpression elimination o Removal of invariant expressions from loops o Global allocation of general registers across program units o In-line expansion of statement functions and routines o Optimization of array addressing in loops o Value propagation o Deletion of redundant and unreachable code o Loop unrolling o Thorough dependence analysis o Optimized interface to intrinsic functions o Array temporary elimination o Loop transformation optimizations that apply to array references within loops, including: - Loop blocking - Loop distribution - Loop fusion - Loop interchange - Loop scalar replacement - Outer loop unrolling Compaq Visual Fortran includes the following features and enhancements found in Microsoft Fortran PowerStation Version 4.0: o .f, .for, .f90 source file types o # Constants-constants using other than base 10 o C Strings-NUL terminated strings o MBCS Characters in Comments o MBCS Characters in String Literals o Conditional Compilation And Metacommand Expressions ($define, $undefine, $if, $elseif, $else, $endif) o !MS$ metacommand Form o $FREEFORM, $NOFREEFORM, $FIXEDFORM-source file format o $OBJCOMMENT-place library-search record in object file o $INTEGER, $REAL-selects size o $FIXEDFORMLINESIZE-line length for fixed form source o $STRICT, $NOSTRICT-F90 conformance o $PACK-structure packing o Kind Numbers Match Bytes-Kind parameters o AUTOMATIC Attribute-automatic storage class o Integer Pointers-also known as Cray Pointers o VAX Structures == F90 sequence Derived Types o Mixing Logicals and Numerics-logicals used with arithmetic operators and variables o Argument Matching For Procedure Calls o Mixing Integer Kinds to Intrinsics o Byte Data Type == INTEGER*1 o $ATTRIBUTES [ ] Form o $ATTRIBUTES ALIAS-external name for a subprogram or common block o $ATTRIBUTES C, STDCALL-calling and naming conventions o $ATTRIBUTES VALUE, REFERENCE-calling conventions o $ATTRIBUTES DLLIMPORT, DLLEXPORT-import/export from DLL o Character and Non-character equivalence o Double Complex Data Type o .XOR.-exclusive disjunction o Integer Arguments In Logical Expressions o OPEN statement specifier options: - CARRIAGECONTROL=-controls the output of formatted files - MODE=-controls access to file on networked systems - TITLE=, IOFOCUS=-controls QuickWin child windows - SHARE=-controls simultaneous access to file on networked systems o Default Carriage Control o Implicit Open-prompt user for filenames o Special Device Names For FILE= In OPEN statements o FORM=BINARY in INQUIRE/OPEN statements o Unformatted Sequential File Form o Q Edit Descriptor-number of characters remaining in the input record o \ Descriptor-prevents writing an end-of-record mark o $ Edit Descriptor-suppresses the carriage return at the end of a record o X Edit Descriptor Default-1 o Ew.dDe and Gw.dDe Edit Descriptors-similar to Ew.dEe and Gw.dEe o Variable Format Expressions-integer expression in FORMAT statement o Expanded missing commas In FORMAT statements o Expanded Namelist Start/End Sequences o All Path Names, including Driver, Compiler, and INCLUDE Statement MBCS Enabled o Universal Naming Convention (UNC) Pathnames o Long Filenames o 7200 Character Statement Length o Debug Lines (D in column 1) o $DECLARE and $NODECLARE == IMPLICIT NONE o Logical Truth: 0 = .false.; non-0 = .true. o $ATTRIBUTES EXTERN-variable allocated in another source file o $ATTRIBUTES VARYING-variable number of arguments o Alternate PARAMETER syntax-no parenthesis o $ in identifiers o INTERFACE TO-subroutine/function prototype [global scoping not supported] o Option - BLOCKSIZE=-internal buffer size used in I/O o Argument Passing Modifiers-%VAL, %REF o Argument Passing Modifiers-%DESCR (treated as %REF) o CRAY pointer support for procedure names o $ATTRIBUTES ALLOCATABLE-allocatable array o Integer array can contain FORMAT o Mixing Subroutines/Functions in Generic Interfaces o $MESSAGE-output message during compilation o $LINE == C's #line o Listing Metacommands - $TITLE, $SUBTITLE o STATIC Attribute-static storage class o EOF intrinsic checks for end of file o LOC intrinsic equivalent to %LOC o HFIX converts to short integer o INT1 converts to one byte integer by truncating o INT2 converts to two byte integer by truncating o INT4 converts to four byte integer by truncating o JFIX same as INT4 o MALLOC allocates a memory block of size bytes and returns an integer pointer to the block o FREE frees the memory block specified by the integer pointer o COTAN returns cotangent o DCOTAN returns double precision cotangent o IMAG returns the imaginary part of complex number o IBCHNG reverses value of bit o ISHA shifts arithmetically left or right o ISHC performs a circular shift o ISHL shifts logically left or right The following features from Microsoft Fortran PowerStation are not supported by Compaq Visual Fortran: o Tab continuation lines that start with other than the digits 1 through 9 o $DEBUG, $NODEBUG-additional runtime checking o DATA statement style initialization in attribute style declaration statements o Debug lines (other than D) o $OPTIMIZE-change optimization options o Internal files can be any type o Listing metacommands - $page, $pagesize, $linesize, $[no]list, $include Integrated Development Environment The compiler, runtime system, libraries, and tools in Compaq Visual Fortran are combined with the Microsoft Developer Studio integrated development environment and tools. The integrated tool set in Developer Studio includes: o Text Editor which features user-customizable keyword coloring for easy-to-read source files o Resource Editors for creating Win32 user interface components such as dialog boxes or icons o Debugger for checking the logic of an executing program and examining or changing variable values at run-time o Linker which supports incremental linking for faster builds following small changes to the source o Source Browser for perusing symbol usage in the source code and viewing graphs of calling relationships among functions o Project Manager for automating application builds according to user-defined specifications and tool settings o Profiler for determining the execution frequency of various code paths In addition, there are a variety of other utilities and tools to support the developer. Documentation Compaq Visual Fortran provides extensive online documentation for Compaq Visual Fortran, Compaq Array Visualizer, and the Win32 APIs, including a Language Reference, Programmer's Guide, and Error Messages. This online documentation uses the Microsoft HTML Help Viewer, which requires Internet Explorer 4.0 SP1 (or later). Printed hard copy documentation includes the multiplatform Compaq Fortran Language Reference Manual and the Compaq Visual Fortran Installing and Getting Started guide. Compaq Extended Math Library (CXML) Distributed with Compaq Visual Fortran is the Compaq Extended Math Library (CXML), which is a set of mathematical subprograms. Included subprograms cover the areas of: o Basic Linear Algebra (BLAS Level 1, 2, and 3 including some Level 1 extensions) o Array Math Functions o LAPACK Library o Linear System and Eigenproblem Solvers o Sparse Linear System Solvers o Sorting o Random Number Generation o Signal Processing For more information about CXML, see: http://www.compaq.com/math Windows Programming Support Compaq Visual Fortran supports multiple project types, including Fortran Console, Fortran QuickWin/Standard Graphics, Fortran Windows, Fortran DLL, Fortran Static Library, and Fortran COM Server (Professional and Enterprise editions). Compaq Visual Fortran provides full access to the Windows Application Programming Interfaces (APIs) for Fortran Windows applications and provides non-graphical Windows APIs for Fortran Console applications. Project wizards make it easy to create new Fortran projects in Developer Studio. Fortran environments can be saved, copied, and managed. Dialog procedures can be created in Fortran to use ActiveX controls as well as a variety of other Windows controls. Declarations of Win32 API routines, structures, and constants are provided in pre-built modules with sources. Mixed Language Programming Support Mixed-language programming is the process of building programs in which the source code is written in two or more languages. Compaq Visual Fortran can be used with other 32-bit versions of Microsoft languages like Visual C++, Visual Basic, and MASM (Microsoft assembler). Mixed language development is especially easy in combination with Microsoft Visual C++ 6. All minor versions of Compaq Visual Fortran Version 6 use the same Microsoft Developer Studio IDE that is used with Visual C++ 6. Having a common IDE with Microsoft Visual C++ enables you to edit, debug, compile, and link Fortran and C/C++ modules transparently. Fortran object modules may be linked directly with your C/C++ program. It also possible to create Fortran DLLs and use MFC in Visual C++ 6 to create "wrappers" for the DLLs. OLE objects can also be created in this manner. The Fortran Module Wizard An added value tool provided in Compaq Visual Fortran is the Fortran Module Wizard. The Fortran Module Wizard is designed to automatically generate Fortran source code that can invoke routines in a dynamic link library (DLL), methods of an Automation object, and member functions of a Component Object Model (COM) object. COM is the base architecture of OLE (Object Linking and Embedding) and ActiveX and is an extensible architecture that provides mechanisms for creating and using software components in multiple languages. The goal of the Fortran Module Wizard is to remove some of the complexity facing a Fortran developer in accessing the rich set of services available to clients in the Windows environment through DLLs and COM-based servers. The Fortran Module Wizard reads a description of a service, which the service provider created, and generates appropriate Fortran interface code. This automatically generated code makes calling these services as easy as calling another Fortran function or subroutine. More information can be found at http://www.compaq.com/fortran/visual/ The Fortran COM Server Wizard (Professional and Enterprise editions) The Fortran COM Server Wizard generates the Fortran code necessary to implement a COM server, and allows you to concentrate on the code that is specific to the component you are creating. The COM Server Wizard creates in-process servers and custom or dual interfaces (not Automation - only interfaces). The Fortran COM Server Wizard provides a graphical user interface to help interactively define the attributes of your COM server. It lets you define and name classes, interfaces, methods, and so on. The user interface contains two panes: o A tree control to display your classes, interfaces, methods, and so on o A property page that displays the properties of the selected element in the hierarchy The Compaq Array Visualizer (Professional and Enterprise editions) The Compaq Array Visualizer is a set of software components that enables you to visualize array data interactively. Any integer or real type array of rank 1-7 can be viewed using the Compaq Array Visualizer. The Compaq Array Visualizer also defines a binary file format (.agl) that can be used to save array data for later analysis. The Compaq Array Visualizer consists of: o Array Viewer The Array Viewer (a component of the Compaq Array Visualizer that is distributed in all editions) is an executable program (aviewer.exe) that can load and display .agl or .hdf files. It displays array data in two adjustable panes: the top pane shows a scrollable spreadsheet-style view of the array data; the bottom pane displays a graphical view of the array data. There are four viewing modes in which the graph can be displayed in the bottom pane: - Height Plot displays the array data as a 3D surface where the X and Y dimensions correspond to the array indexes and the array elements are mapped as a displacement in Z. This option is only available for arrays of rank 2 or higher. - Image Map displays the array data as a 2D image where the X and Y dimensions correspond to the array indexes and the array elements are mapped to a color range. This option is only available for arrays of rank 2 or higher. - Vector Graph displays the array data as a series of 2, 3, or 4 component vectors. In this mode an array is viewed as a list of vectors. For example an array declared as M(3, 500) would consist of 500 vectors of the form (x, y, z). The first three components are mapped to the x, y, and z axis. The fourth component (if present), is mapped to a color using the color palette. This option is only available for arrays of rank 2 or higher. - 2D View displays the array data as a conventional 2D graph where the X dimension corresponds to the array index and the array elements are mapped as a displacement in Z. This option is available for arrays of rank 1 or arrays of higher rank but with 10 or fewer rows. o Aview Library The Aview Library (aview.lib) is a small set of subroutines that enables any Fortran application to display array data with Array Viewer. The Aview Library can also be used to directly save array data to an .agl file for later viewing with the Array Viewer. The AVDef module defines the Fortran interface for the Aview library. There is also a C language interface defined in avdef.h. The \Program Files\ArrayVisualizer\Samples directory includes example programs that use the Aview Library. o Avis2D ActiveX Control The Avis2D ActiveX (ocx) control can be used by any development environment that supports ActiveX controls. For example, you can access ActiveX controls from VC++/MFC, Visual Basic, and Compaq Visual Fortran. The Avis2D control enables the application to display array data, as a height field or image view, within one of its applications windows. The Avis2D control provides more than 100 properties and methods that the application can use to customize its behavior. o AvisGrid ActiveX Control Like the Avis2D control, the AvisGrid control can be used by any development environment that supports ActiveX controls. The AvisGrid control can be used to display array data numerically in a scrollable window. AvisGrid shares many of Avis2D's properties and methods. RUN-TIME LIBRARY REDISTRIBUTION The Compaq Visual Fortran kit includes both shared (*.dll) and non-shared (*.lib) Run-time libraries. Users may distribute royalty-free the shared Run-time library in binary form as part of their added-value software in accordance with license terms and restrictions in the Compaq License Agreement included with the kit. RELATED PRODUCTS The following third party products, which provide additional development capabilities to technical users, are distributed 'AS IS' with one or more editions of Compaq Visual Fortran. While the respective vendors have certified that their software works in conjunction with Compaq Visual Fortran, Compaq neither warrants nor makes any functional or performance claims for these products. Determination of the suitability of these third party products in meeting your specific computing needs is left to the user. Licensing and support for these products are provided by the respective vendors. o IMSL mathematical and statistical libraries from Visual Numerics. (Professional and Enterprise editions only) The IMSL Fortran library provides more than 900 FORTRAN 77 subroutines for mathematical and statistical applications in science and engineering. The IMSL Fortran 90 MP Library includes Fortran 90-based algorithms designed for high performance systems. o f90SQL-lite from Canaima Software f90SQL-lite is a library that makes it possible for Fortran applications to directly read and write data stored in Excel, Microsoft Access, Microsoft SQL-Server, Oracle, Paradox, FoxPro, and other ODBC-compliant databases. For additional complementary software packages, see listings on our web site at: http://www.compaq.com/fortran/visual/companion.html SOFTWARE LICENSING Compaq Visual Fortran is licensed in three editions: the Standard, Professional, and Enterprise editions. The Standard edition includes the compiler and runtime system, libraries, and tools combined with the Microsoft Developer Studio integrated tool set. The Professional edition includes all components of the Standard edition plus the Compaq Array Visualizer and the COM server wizard from Compaq and the IMSL mathematical and statistical libraries from Visual Numerics. The Enterprise edition includes all the components of the Professional edition plus the Enterprise Toolkit for managing development on a remote UNIX system from the Windows desktop (see URL http://tru64unix.compaq.com/enterprisetoolkit ). License terms for all editions of Compaq Visual Fortran are provided on a License Agreement included with the kits. In addition, the License Agreement is available separately. LICENSE MANAGEMENT There are two license options available: the Single User Option or the Concurrent User Option. All three editions of the product offer the Single User Option. In addition, the Standard and Professional editions have available packs of 10 or 25 Single User licenses or a Concurrent User license that supports increments of 5 or 10 concurrent users. The Single User Option permits use of the software by a single individual. The Concurrent User Option differs from Single User Option permitting installation of Compaq Visual Fortran on any computer node within a network that is accessible by the FLEXlm license manager (NOTE: FLEXlm is provided in the kit but must be installed on a central server by the user). The license manager limits the number of concurrent users of the software according to the 'quantity of individuals' authorized by the license. This licensing schema provides access to the product by a larger pool of occasional users while constraining the number of concurrent users of the product. With the purchase of the Concurrent User Option, a License Agreement will be shipped to you along with an Authorization ID and instructions for obtaining the license key. Use of the license key is limited to the terms of the License Agreement. Please retain both your License Agreement with Authorization ID and the electronic license keys in a safe location. DISTRIBUTION OPTIONS Standard Edition Software Licenses: Commercial - media, documentation, 1, 10, or 25 single user licenses QB-5LCAB-SA, -SD, -SE Commercial - 1 user license only QM-5LCAB-AA Academic - media, documentation, 1, 10, or 25 single user licenses QB-5LCAB-SB, -SH, -SJ Academic - 1 user license only QM-5LCAB-AB Commercial - media, documentation, 2, 5 or 10 concurrent user license QB-6KSAB-SA, -SB, -SC Commercial - 1 concurrent user license only QM-6KSAB-AC Academic - media, documentation, 2, 5 or 10 concurrent user license QB-6KSAB-SE, -SF, -SG Academic - 1 concurrent user license only QM-6KSAB-AG Documentation only QA-5LCAA-GZ Standard Edition Version Upgrade Licenses: Commercial V5 to V6.6 Upgrade - media, doc- umentation, 1 user license QB-5LCAB-MA Commercial V5 to V6.6 Upgrade - 1 user license only QM-5LCAB-CA Academic V5 to V6.6 Upgrade - media, doc- umentation, 1 user license QB-5LCAB-MB Academic V5 to V6.6 Upgrade - 1 user license only QM-5LCAB-CB Professional Edition Software Licenses: Commercial - media, documentation, 1, 10, or 25 single user licenses QB-5LBAB-PA, -PD, -PE Commercial - 1 user license only QM-5LBAB-AA Academic - media, documentation, 1, 10, or 25 single user licenses QB-5LBAB-PB, -PH, -PJ Academic - 1 user license only QM-5LBAB-AB Commercial - media, documentation, 2, 5 or 10 concurrent user license QB-6KTAB-PA, -PB, -PJ Commercial - 1 concurrent user license only QM-6KTAB-AC Academic - media, documentation, 2, 5 or 10 concurrent user license QB-6KTAB-PE, -PF, -PK Academic - 1 concurrent user license only QM-6KTAB-AG Documentation only QA-5LBAA-GZ Professional Edition Version Upgrade Licenses: Commercial V5 to V6.6 Upgrade - media, doc- umentation, 1 user license QB-5LBAB-PM Commercial V5 to V6.6 Upgrade - 1 user license only QM-5LBAB-CA Academic V5 to V6.6 Upgrade - media, doc- umentation, 1 user license QB-5LBAB-PN Academic V5 to V6.6 Upgrade - 1 user license only QM-5LBAB-CB Standard-to-Professional Edition Upgrade Licenses: Commerical V6.5/V6.6 Standard-to-V6.6 Professional upgrade - media, documentation, 1 user license QB-5UDAB-PA Commercial V6.5/V6.6 Standard-to-V6.6 Professional upgrade - 1 user license only QM-5UDAB-AA Academic V6.5/V6.6 Standard-to-V6.6 Professional upgrade - media, documentation, 1 user license QB-5UDAB-PB Academic V6.5/V6.6 Standard-to-V6.6 Professional upgrade - 1 user license only QM-5UDAB-AB Commercial V6.5/V6.6 Standard-to-V6.6 Professional upgrade - media, documentation, 1 concurrent user license QB-6KUAB-PC Commercial V6.5/V6.6 Standard-to-V6.6 Professional upgrade - 1 concurrent license only QM-6KUAB-AC Academic V6.5/V6.6 Standard-to-V6.6 Professional upgrade - media, documentation, 1 concurrent user license QB-6KUAB-PE Academic V6.5/V6.6 Standard-to-V6.6 Professional upgrade - 1 concurrent license only QM-6KUAB-AE Enterprise Edition Software Licenses: Enterprise - media, documentation, 1 user license QB-6EJAB-PA/PB Enterprise Edition Version Upgrade License: V6.1 and 6.5 to V6.6 Upgrade - media, documentation, 1 user license QB-6EJAA-PM SYSTEM REQUIREMENTS Compaq recommends the following minimum system configuration: o PC with a 90MHz (or faster) Intel Pentium (or compatible) processor o Microsoft Windows 2000, NT 4.0 with SP3 (or later),ME, 98, 95 installed o 24 MB of memory (32 MB recommended) o Hard disk space: - 33 MB to run from CD-ROM and up to 400 MB to install all components for Standard and Professional editions; an additional 200 MB on PC and 90 MB on the UNIX server for Enterprise edition - 10 to 90 MB for Compaq Array Visualizer depending on options selected - 48 MB for Internet Explorer Version 4 o CD-ROM drive to install Compaq Visual Fortran. Your system should have 32-bit CD-ROM drivers installed. o VGA monitor (17 inch SVGA monitor recommended) o Mouse or compatible pointing device ORDERING INFORMATION Compaq Visual Fortran is sold directly by Compaq in limited geographies and in the U.S. via the Fortran online eStore at: http://www.compaq.com/fortran/store In addition, it is sold worldwide as a retail product through resellers. For information on local and international resellers, visit the Compaq Visual Fortran "Where-To-Buy" web page at: http://www.compaq.com/fortran/visual/wheretobuy.html LIMITED WARRANTY COMPAQ warrants that the Software will perform substantially as described in the Software Product Description (SPD), or documentation accompanying the Software if an SPD is not provided, for a period of ninety (90) days from delivery. EXCLUSIVE REMEDY. For product purchased directly from Compaq, the entire liability of COMPAQ and your exclusive remedy for Software which does not conform to this Limited Warranty shall be, at the option of COMPAQ, either (1) repair or replacement of the nonconforming Software, or (2) refund of your purchase price. This warranty and remedy are subject to your returning the nonconforming Software during the warranty period to COMPAQ in the country in which you obtained the Software. For product purchased from an authorized Compaq distributor or reseller, the remedy for Software which does not conform to this Limited Warranty is defined by the distributor's or reseller's standard business practices. It is your responsibility to be familiar with the vendor's business practices and return policy before purchasing software from them. DISCLAIMER OF WARRANTIES. THE ABOVE WARRANTIES ARE YOUR EXCLUSIVE WARRANTIES AND NO OTHER WARRANTY, EXPRESS OR IMPLIED, WILL APPLY. COMPAQ SPECIFICALLY EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. COMPAQ DOES NOT WARRANT THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR FREE. For more information or any other support question, visit the Compaq Visual Fortran web site at: http://www.compaq.com/fortran/support/visual.html RESTRICTIONS You may not rent, lease, or otherwise transfer the Software except as expressly authorized in this License Agreement. You may not make the Software available over the Internet or similar networking technology. You may not modify or make inoperable the license key or license management software, if provided. You may not remove any copyright, trademark, or other proprietary notices from the Software or the media. You may not reverse engineer, decompile, or disassemble the Software, except to the extent COMPAQ cannot prohibit such acts by law. The product information in this SPD was valid at time of release. For current product information, contact your local Compaq office. A valid license from Compaq is required for possession, use, or copying of this confidential computer software. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. Compaq shall not be liable for technical or editorial errors or omissions contained herein. The information in this document is subject to change without notice. SOFTWARE PRODUCT SERVICES A variety of service options are available from Compaq. For more information, contact your local Compaq office. TRADEMARK INFORMATION Copyright (c) 2001 Compaq Computer Corporation Compaq, the COMPAQ logo, OpenVMS, Tru64, and VAX are trademarks of Compaq Information Technologies, L.P. in the United States and/or other countries. ActiveX, Developer Studio, Microsoft, NT, Visual Basic, Visual C++, Win32, Windows, and Windows NT are trademarks of Microsoft Corporation in the United States and/or other countries. Intel and Pentium are trademarks of Intel Corporation in the United States and/or other countries. UNIX is a trademark of The Open Group in the United States and/or other countries. FlexLM and GLOBEtrotter are registered trademarks of GLOBEtrotter Software, Inc. IMSL and Visual Numerics are registered trademarks of Visual Numerics, Inc. All other product names mentioned herein may be trademarks or registered trademarks of their respective companies. Confidential computer software. Valid license from Compaq required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. Compaq shall not be liable for technical or editorial errors or omissions contained herein. The information in this document is provided "as is" without warranty of any kind and is subject to change without notice. The warranties for Compaq products are set forth in the express limited warranty statements accompanying such products. Nothing herein should be construed as constituting an additional warranty.