NAG Library Routine Document

a00adf (impl_details_separate)

1
Purpose

a00adf provides information about the version of the NAG Library in use.

2
Specification

Fortran Interface
Subroutine a00adf ( impl, prec, pcode, mkmaj, mkmin, hdware, opsys, fcomp, vend, licval)
Integer, Intent (Out):: mkmaj, mkmin
Logical, Intent (Out):: licval
Character (*), Intent (Out):: impl, prec, pcode, hdware, opsys, fcomp, vend
C Header Interface
#include <nagmk26.h>
void  a00adf_ (char *impl, char *prec, char *pcode, Integer *mkmaj, Integer *mkmin, char *hdware, char *opsys, char *fcomp, char *vend, logical *licval, const Charlen length_impl, const Charlen length_prec, const Charlen length_pcode, const Charlen length_hdware, const Charlen length_opsys, const Charlen length_fcomp, const Charlen length_vend)

3
Description

The NAG Library is available for use on a number of different computer systems. For each distinct system an implementation of the library is prepared and this implementation is given a unique code. The specifics that define the implementation are: the working precision, the major and minor marks of the NAG Library, the target hardware and operating system, the compiler used, and the vendor library (if any) that is also required to be linked. a00adf may be called to return, in separate arguments, these specific details of the NAG Library implementation that is being used; it also returns whether a valid licence has been found for this implementation. This differs from a00aaf which simply outputs the collected information in a readable form directly to the current advisory message unit (see x04abf).

4
References

None.

5
Arguments

1:     impl – Character(*)Output
Note: it is recommended that impl be at least 57 characters in length.
On exit: the implementation title which usually lists the target platform, operating system and compiler.
2:     prec – Character(*)Output
Note: it is recommended that prec be at least 57 characters in length.
On exit: the working or basic precision of the implementation. Some routines may perform operations in reduced precision or additional precision, but the great majority will perform all operations in basic precision. See Section 4.4 in How to Use the NAG Library and its Documentation for definitions of these precisions.
3:     pcode – Character(*)Output
Note: it is recommended that pcode be at least 20 characters in length.
On exit: the product code for the NAG Library implementation that is being used. The code has a discernible structure, but it is not necessary to know the details of this structure. The product code can be used to differentiate between individual product licence codes.
4:     mkmaj – IntegerOutput
On exit: the major mark of the NAG Library implementation that is being used.
5:     mkmin – IntegerOutput
On exit: the minor mark of the NAG Library implementation that is being used.
6:     hdware – Character(*)Output
Note: it is recommended that hdware be at least 64 characters in length.
On exit: the target hardware for the NAG Library implementation that is being used.
7:     opsys – Character(*)Output
Note: it is recommended that opsys be at least 64 characters in length.
On exit: the target operating system for the NAG Library implementation that is being used.
8:     fcomp – Character(*)Output
Note: it is recommended that fcomp be at least 64 characters in length.
On exit: the compiler used to build the NAG Library implementation that is being used.
9:     vend – Character(*)Output
Note: it is recommended that vend be at least 64 characters in length.
On exit: the subsidiary library, if any, that must be linked with the NAG Library implementation that is being used. If the implementation does not require a subsidiary library then the string
 '(self-contained)' 
will be returned in vend.
10:   licval – LogicalOutput
On exit: specifies whether or not a valid licence has been found for the NAG Library implementation that is being used.

6
Error Indicators and Warnings

None.

7
Accuracy

Not applicable.

8
Parallelism and Performance

Not applicable.

9
Further Comments

None.

10
Example

This example makes a call of a00adf, collects information on the NAG Library implementation that is being used and prints it out in a form that is similar to the output obtained by a call to a00aaf. Additionally the time is also printed in a readable form. The output from running this example program provides information that is very useful when contacting NAG with a support query.

10.1
Program Text

Program Text (a00adfe.f90)

10.2
Program Data

None.

10.3
Program Results

Program Results (a00adfe.r)