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.
None.
None.
- 1:
– string
-
The implementation title which usually lists the target platform, operating system and compiler.
- 2:
– 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:
– 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:
– int64int32nag_int scalar
-
The major mark of the NAG Toolbox implementation that is being used.
- 5:
– int64int32nag_int scalar
-
The minor mark of the NAG Toolbox implementation that is being used.
- 6:
– string
-
The target hardware for the NAG Toolbox implementation that is being used.
- 7:
– string
-
The target operating system for the NAG Toolbox implementation that is being used.
- 8:
– string
-
The compiler used to build the NAG Toolbox implementation that is being used.
- 9:
– 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:
– 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.
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
fprintf('a00ad example results\n\n');
[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
fprintf(' A valid licence was not found for %s\n\n', pcode);
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