Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

Chapter Contents
Chapter Introduction
NAG Toolbox

## Purpose

nag_info_impl_details_separate (a00ad) prints information about the version of the NAG Toolbox in use.

## Syntax

[impl, prec, pcode, mkmaj, mkmin, hdware, opsys, fcomp, vend, licval] = a00ad
[impl, prec, pcode, mkmaj, mkmin, hdware, opsys, fcomp, vend, licval] = nag_info_impl_details_separate

## Description

The NAG Toolbox 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 Toolbox, the target hardware and operating system, the compiler used, and the vendor library (if any) that is also required to be linked. nag_info_impl_details_separate (a00ad) may be called to return, in separate arguments, these specific details of the NAG Toolbox implementation that is being used; it also returns whether a valid licence has been found for this implementation. This differs from nag_info_impl_details (a00aa) which simply outputs the collected information in a readable form directly to the current advisory message unit (see nag_file_set_unit_advisory (x04ab)).

None.

## Parameters

None.

None.

### Output Parameters

1:     $\mathrm{impl}$ – string
The implementation title which usually lists the target platform, operating system and compiler.
2:     $\mathrm{prec}$ – string
The working or basic precision of the implementation. Some functions may perform operations in reduced precision or additional precision, but the great majority will perform all operations in basic precision.
3:     $\mathrm{pcode}$ – string
The product code for the NAG Toolbox 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:     $\mathrm{mkmaj}$int64int32nag_int scalar
The major mark of the NAG Toolbox implementation that is being used.
5:     $\mathrm{mkmin}$int64int32nag_int scalar
The minor mark of the NAG Toolbox implementation that is being used.
6:     $\mathrm{hdware}$ – string
The target hardware for the NAG Toolbox implementation that is being used.
7:     $\mathrm{opsys}$ – string
The target operating system for the NAG Toolbox implementation that is being used.
8:     $\mathrm{fcomp}$ – string
The compiler used to build the NAG Toolbox implementation that is being used.
9:     $\mathrm{vend}$ – string
The subsidiary library, if any, that must be linked with the NAG Toolbox 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:   $\mathrm{licval}$ – logical scalar
Specifies whether or not a valid licence has been found for the NAG Toolbox implementation that is being used.

None.

Not applicable.

None.

## Example

This example makes a call of nag_info_impl_details_separate (a00ad), collects information on the NAG Toolbox implementation that is being used and prints it out in a form that is similar to the output obtained by a call to nag_info_impl_details (a00aa). 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.
```function a00ad_example

[impl, prec, pcode, mkmaj, mkmin, hdware, opsys, fcomp, vend, licval] = a00ad;
fprintf(' *** Start of NAG Toolbox for MATLAB implementation details ***\n\n');
fprintf(' Implementation title: %s\n', impl);
fprintf('            Precision: %s\n', prec);
fprintf('         Product Code: %s\n', pcode);
fprintf('                 Mark: %d.%d\n', mkmaj, mkmin);
if strcmp(vend, '(self-contained)')
fprintf('       Vendor Library: None\n');
else
fprintf('       Vendor Library: %s\n', vend);
end
fprintf(' Applicable to:\n');
fprintf('     hardware - %s\n', hdware);
fprintf('     op. sys. - %s\n', opsys);
fprintf('     compiler - %s\n', fcomp);
fprintf(' and compatible systems.\n\n');
fprintf(' *** End of NAG Toolbox for MATLAB implementation details ***\n\n');
if (licval)
fprintf(' A valid licence was found for %s\n\n', pcode);
else
end

```
```a00ad example results

*** Start of NAG Toolbox for MATLAB implementation details ***

Implementation title: Linux/gfortran 64-bit (64-bit integers)
Precision: Fortran double precision
Product Code: MBL6A25DJ
Mark: 25.0
Vendor Library: ACML 5.3.0
Applicable to:
hardware - x86_64
op. sys. - Linux 3.15.3-200.fc20.x86_64
compiler - GNU Fortran (GCC) 4.7.3
and compatible systems.

*** End of NAG Toolbox for MATLAB implementation details ***

A valid licence was found for MBL6A25DJ

```