This page is for supplementary information relating to the implementation described in Section 2.1 of the Installer's Note. It may be augmented over the life-time of the product if further pertinent information becomes available.
This implementation is a compiled, tested, ready-to-use version of the NAG Fortran Library that is considered suitable for operation on the computer systems detailed below:
hardware: Intel x64 systems and compatible operating system: Microsoft Windows 64-bit editions (XP / Vista / 7 / 8 and compatible) Fortran compiler: Intel 64-bit Fortran Compiler Version 15.0 and compatible
Note: This list is not exhaustive; other combinations of hardware, operating system and compiler may also work.
This implementation has also been successfully tested using the following:
hardware: Intel Core i7-3770 3.4 GHz operating system: Microsoft Windows 7 x64 Edition Fortran compiler: Intel(R) Fortran Compiler Version Version 188.8.131.52 Build 20141023 hardware: AMD Opteron 2.6 GHz operating system: Microsoft Windows Server 2003 Enterprise x64 Edition Fortran compiler: Intel(R) Fortran Compiler Version 11.1 Build 20100414 hardware: AMD Opteron 2.6 GHz operating system: Microsoft Windows Server 2003 Enterprise x64 Edition Fortran compiler: Intel(R) Fortran Compiler Version 12.1 Build 20110811 hardware: Intel Core i7-3770 3.4 GHz operating system: Microsoft Windows 7 x64 Edition Fortran compiler: Intel(R) Fortran Compiler Version 13.1 Build 20130313 hardware: Intel Core i7-3770 3.4 GHz operating system: Microsoft Windows 7 x64 Edition Fortran compiler: Intel(R) Fortran Compiler Version 14.0 Build 20131008 hardware: Intel Core i7-2600 3.4 GHz operating system: Microsoft Windows Server 2012 R2 Standard Fortran compiler: Intel(R) Fortran Compiler Version 184.108.40.206 Build 20150121
NAG Fortran Builder has in-built knowledge of some versions of the NAG Fortran Library. However, as new versions of the NAG library are produced, Fortran Builder will not know about them until it too has a new release. Nevertheless, it is perfectly possible to call a newer version of the NAG Library by following the instructions here.
Note: we assume that when you installed the NAG Library, you allowed the installer to modify your Windows environment variables - this enables the NAG library to be found at program run time.
For this example we will use one of the Mark 25 example programs, d01ahfe.f90, which comes with your installation of FLW6I25DCL.
Start Fortran Builder, and click on File, then New, and Project.
Fortran Builder will create a file named main.f90 for you, containing a small program which prints "Hello World". Delete the contents of the file (but not the file itself). Locate one of the NAG Mark 25 example programs - by default they are installed under c:\Program Files\NAG\FL25\flw6i25dcl\examples\source. For this example, we choose a simple one, d01ahfe.f90. You can use the Fortran Builder File/Open buttons to find this file, or you can locate it yourself using any editor. However you do it, copy and paste the contents of d01ahfe.f90 into your file main.f90.
From the Fortran Builder menu bar, click on Project and then Project Settings.
This example program needs to get some input from the user when it runs. You can get this input by redirecting from the data file that comes with d01ahfe.f90.
By default, the date file is located in C:\Program Files\NAG\FL25\flw6i25dcl\examples\data\d01ahfe.d, and so in Fortran Builder, click Run, then Command Line ... and in the text box type
< "C:\Program Files\NAG\FL25\flw6i25dcl\examples\data\d01ahfe.d"(note that the quotation marks are necessary if the folder name contains a space as here).
Again click Run, then Execute - the program should run and produce output like this:
D01AHF Example Program Results Integral = 3.14159 Estimated relative error = 0.58E-08 Number of function evaluations = 15
Some of the routines in this implementation of the NAG library can set the IEEE arithmetic "invalid operation" flag during their internal calculations. This is as a consequence of certain optimizations performed by the compiler used to build the library. It is only known to affect a handful of routines, and it does not affect the accuracy of results.
However, this may be a concern if your computing environment raises an exception as a result of the invalid operation. By default, the Intel Fortran compiler does not raise an exception, and so the invalid operation is not likely to be noticed. With the NAG Fortran compiler, however, the default behaviour is to raise an exception when an invalid operation is encountered.
Therefore, if using the DLLs from this product with the NAG compiler,
you may find it useful to ensure that the compiler's floating-point exception
handling is set to allow full IEEE 754 floating-point exception behaviour
(non-stop arithmetic). This can be done by using the
Routines known to be affected by this issue include:
F01FQF F01KEF F01KFF F01KJF F01KFF
Due to Microsoft refactoring the run-time libraries in Visual Studio 2015, the NAG static libraries in this product will only work with older versions of Visual Studio. Unfortunately, the legacy_stdio_definitions.lib file provided by Microsoft does not supply all the missing symbols required.
A possible workaround would be to link to the NAG dynamic link libraries (DLLs) provided in this product instead of the static libraries, as these are unaffected by the change. See Section 3.1 of the Users' Note for information on linking with the DLLs.
NAG has produced new implementations to work with Visual Studio 2015; the equivalent VS2015-compatible Library to this one is FLW6I25DEL.