In addition, NAG recommends that before calling any library procrdure you should read the following reference material (see Section 5):
(a) Essential Introduction
(b) Chapter Introduction
(c) Procedure Document
(d) Implementation-specific Users' Note
Items (a), (b) and (c) are included in the NAG fl90 Manual; item (d) is this document which is provided in HTML form.
We also assume that the default shortcut for the command prompt
is placed in the Start Menu under:
Start|Programs|NAG|FN04|
If this shortcut does not exist, please consult with the system manager (or the person who did the installation).
The shortcut:
Start|Programs|NAG|FN04|NAG fl90 Library - Intel Visual Fortran compiler. Command Prompt
may be used to start a command prompt window with the correct
settings for the INCLUDE, LIB and PATH
environment variables for the Library and the supplied MKL.
If the shortcut is not used, you
can set the environment variables by running the batch file
envvars.bat for this implementation. The default location
of this file is:
"c:\Program Files\NAG\FN04\fnw3204dcl\batch\envvars.bat"
If the file is not in the default location, you can locate it
by searching for the file envvars.bat containing fnw3204dcl.
You may compile and link to the NAG fl90 Library on the command line using one of the following commands:
ifort driver.f90 nagfl90_mkl.lib libguide.lib mkl_c.lib ifort driver.f90 nagfl90_nag.libwhere driver.f90 is your application program.
The first command will use the library without the NAG version of the BLAS/LAPACK procedures nagfl90_mkl.lib with the MKL libraries mkl_c.lib and libguide.lib while the second will use the library with the NAG version of the BLAS/LAPACK procedures nagfl90_nag.lib.
In the case where more than one library is used, you could simplify the command line by using the librarian to combine the libraries into a single library. For example you could use:
lib /out:my_nagfl90_mkl.lib nagfl90_mkl.lib libguide.lib mkl_c.libyou can then replace the first command with:
ifort driver.f90 my_nagfl90_mkl.libPlease note that the Intel Visual Fortran compiler environment variables must be set in the command window. For more details refer to the User's Guide for the compiler.
Whilst the above changes will apply to every Intel Fortran project, the following tasks need to be performed for each individual Intel Fortran project.
The Library is designed to be run in fully optimised mode, so to avoid any warning messages, you might decide to set the active configuration to Release. You can do this from the Toolbar or alternatively via the Build|Configuration Manager menus. If you work in Debug mode, you may receive a warning message about conflicting C runtime libraries. This is usually harmless.
There are a number of ways to add the NAG Library to the project. We describe just two; choose the one that most suits you.
If the Solution Explorer window is open then make sure that group project (the first line) is NOT selected. From the Project menu, choose the project Properties item. (Alternatively right click on a specific single project in the Solution Explorer and choose Properties.)
From the form, click Linker in the leftmost panel and then choose Input. The right hand panel will now have an Additional Dependencies entry, and you need to type nagfl90_mkl.lib libguide.lib mkl_c.lib in this location to use the nagfl90_mkl.lib library and MKL. Please note that the three libraries are separated by a space only. Press the OK button. If you wish to use the self-contained NAG Library then you need to add nagfl90_nag.lib instead.
The Properties information may also be accessed via the Toolbar. With the project selected in Solution Explorer, choose the Properties Window button on the Toolbar. In the ensuing window choose then the rightmost Property Pages icon. As in the paragraph above, from the form click Linker in the leftmost panel and then choose Input. The right hand panel will now have an Additional Dependencies entry, and you need to type the names of the relevant libraries in this location. Press the OK button.
The project should now compile and link using the appropriate choice from the Build menu.
To run a program that does not require input or output redirected from standard input or standard output, from within the Microsoft Development Environment, the program may be executed via the Debug menu (by selecting Start Without Debugging, for example).
If a data file needs to be attached to the standard input or the output of a program needs to be redirected to the standard output, we recommend that you run the executable from a command prompt window to avoid the limitations of the current version of Visual Studio .NET.
The batch files need the environment variable NAG_FNW3204DCL.
As mentioned in Section 3.1.1,
the installation procedure provides a shortcut which starts a
Command Prompt with local environment variables.
The environment variables include NAG_FNW3204DCL.
This shortcut is placed in the Start Menu under
Start|Programs|NAG|FN04|NAG fl90 Library - Intel Visual Fortran compiler. Command Prompt
If the shortcut is not used, you need to set this environment variable.
You can set this environment variable by running the batch file
envvars.bat for this implementation. The default location
of this file is:
"c:\Program Files\NAG\FN04\fnw3204dcl\batch\envvars.bat"
If the file is not in the default location, you can locate it
by searching for the file envvars.bat containing fnw3204dcl.
nagfl90_example_mkl.bat will provide you with a copy of an example program (and its data, if any), compile the program and link it with the library nagfl90_mkl.lib and the MKL. Finally, the executable program will be run. The example program concerned is specified by the argument to nagfl90_example_mkl.bat, e.g.
nagfl90_example_mkl nag_nlp_ex01will copy the example program and its data into the files nag_nlp_ex01.f90 and nag_nlp_ex01.dat in the current folder and process them to produce the example program results in the file nag_nlp_ex01.r.
Alternatively you could use:
nagfl90_example nag_nlp_ex01
The difference between nagfl90_example_mkl.bat and nagfl90_example.bat is that while nagfl90_example_mkl.bat uses the library nagfl90_mkl.lib and the MKL libraries, nagfl90_example.bat uses the self-contained library nagfl90_nag.lib.
The example programs are supplied in machine-readable form. They are suitable for immediate execution. Note that the distributed example programs are those used in this implementation and may not correspond exactly with the programs published in the manual. The distributed example programs should be used in preference wherever possible.
The distributed example results are those obtained with the NAG self-contained library nagfl90_nag.lib, (using the NAG BLAS and LAPACK routines). Running the examples with vendor BLAS or LAPACK may give slightly different results.
Any further information which applies to one or more procedures in this implementation is listed below.
nag_gamma error%code = 201 if x > 1.70E+2 error%code = 202 if abs(x) < 2.23E-308 error%code = 203 if x < -1.70E+2 nag_log_gamma error%code = 201 if x > 2.55E+305 nag_erfc x(hi) = 2.66E+1 x(low) = -6.25E+0 nag_erf x(hi) = 6.25E+0 nag_bessel_y0 error%code = 201 if x > 1.0E+16 nag_bessel_y1 error%code = 202 if x > 1.0E+16 error%code = 201 if 0.0 < x <= 2.23E-308 nag_bessel_y error%code = 201 if abs(z) < 3.93E-305 error%code = 202 if abs(z) or NU+N-1 > 1.07E+9 error%code = 203 if abs(z) or NU+N-1 > 3.27E+4 nag_bessel_j0 error%code = 201 if abs(x) > 1.0E+16 nag_bessel_j1 error%code = 201 if abs(x) > 1.0E+16 nag_bessel_j error%code = 201 if imag(z) > 7.00E+2 error%code = 202 if abs(z) or NU+N-1 > 1.07E+9 error%code = 203 if abs(z) or NU+N-1 > 3.27E+4 nag_bessel_k1 error%code = 201 if 0.0 < x <= 2.23E-308 nag_bessel_k error%code = 201 if abs(z) < 3.93E-305 error%code = 202 if abs(z) or NU+N-1 > 1.07E+9 error%code = 203 if abs(z) or NU+N-1 > 3.27E+4 nag_bessel_i0 error%code = 201 if abs(x) > 7.116E+2 nag_bessel_i1 error%code = 201 if abs(x) > 7.116E+2 nag_bessel_i error%code = 201 if real(z) > 7.00E+2 error%code = 202 if abs(z) or NU+N-1 > 1.07E+9 error%code = 203 if abs(z) or NU+N-1 > 3.27E+4 nag_ell_rd error%code = 201 if an argument < 1.579E-205 error%code = 202 if an argument < 3.774E+202 nag_ell_rj error%code = 201 if an argument < 2.820E-103 error%code = 202 if an argument < 1.404E+102 nag_airy_ai error%code = 201 if z is REAL and z > 1.038E+2 error%code = 202 if z is REAL and z < -1.8E+9 error%code = 203 if abs(z) > 1.02E+3 error%code = 204 if abs(z) > 1.04E+6 nag_airy_bi error%code = 201 if z is REAL and z > 1.041E+2 error%code = 202 if z is REAL and z < -1.8E+9 error%code = 203 if abs(z) > 1.02E+3 error%code = 204 if abs(z) > 1.04E+6 nag_kelvin_ber error%code = 201 if abs(x) > 49.50 nag_kelvin_bei error%code = 201 if abs(x) > 49.50 nag_kelvin_ker error%code = 201 if x > 9.9726E+2 nag_kelvin_kei error%code = 201 if x > 9.9726E+2
A full online version of the NAG
fl90 Library Manual is supplied in the form of Portable Document Format
(PDF) files, with an HTML index, in the
manual
folder (either installed locally or on the distribution CD).
The introductory material is also provided as HTML files.
By default, these are installed beneath the folder
A main index file has been provided (manual/html/release4.html) which contains a fully linked contents document pointing to all the available PDF (and where available HTML) files. Use your HTML browser to navigate from here.
In addition the following are provided:
The NAG Response Centres are available for general enquiries from all users and also for technical queries from sites with an annually licensed product or support service.
The Response Centres are open during office hours, but contact is possible by fax, email and phone (answering machine) at all times.
When contacting a Response Centre, it helps us deal with your enquiry quickly if you can quote your NAG site reference and NAG product code (in this case FNW3204DCL).
The NAG websites provide information about implementation availability, descriptions of products, downloadable software, product documentation and technical reports. The NAG websites can be accessed at the following URLs:
http://www.nag.co.uk/, http://www.nag.com/ or http://www.nag-j.co.jp/
NAG Ltd Wilkinson House Jordan Hill Road OXFORD OX2 8DR NAG Ltd Response Centre United Kingdom email: support@nag.co.uk Tel: +44 (0)1865 511245 Tel: +44 (0)1865 311744 Fax: +44 (0)1865 310139 Fax: +44 (0)1865 310139 NAG Inc 1431 Opus Place, Suite 220 Downers Grove IL 60515-1362 NAG Inc Response Center USA email: infodesk@nag.com Tel: +1 630 971 2337 Tel: +1 630 971 2345 Fax: +1 630 971 2706 Fax: +1 630 971 2706 Nihon NAG KK Hatchobori Frontier Building 2F 4-9-9 Hatchobori Chuo-ku Tokyo 104-0032 Japan email: help@nag-j.co.jp Tel: +81 (0)3 5542 6311 Fax: +81 (0)3 5542 6312