Source code for naginterfaces.library.info
# -*- coding: utf-8 -*-
r"""
Module Summary
--------------
Interfaces for the NAG Mark 30.2 `info` Chapter.
``info`` - Library Identification
The functions in this module provide information about the NAG Library.
Information about the precise implementation of the NAG Library in use will be needed when communicating with the NAG Technical Support Service (see `Support from NAG <https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/genint/essint-support.html>`__).
For full information please refer to the NAG Library document
https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/a00/a00intro.html
See Also
--------
``naginterfaces.library.examples.info`` :
This subpackage contains examples for the ``info`` module.
See also the :ref:`library_info_ex` subsection.
Notes
-----
The function ``impl_details_separate`` is not supported in this product. Please use ``impl_details`` instead.
"""
# NAG Copyright 2017-2024.
from ..base import info as _b_info
[docs]def impl_details():
u"""
NAG Library Engine identification, details of implementation and mark.
.. _a00aa-py2-py-doc:
For full information please refer to the NAG Library documents for
a00aa and a00ad
https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/a00/a00aaf.html
https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/a00/a00adf.html
**Returns**
**result** : dict
The Engine information dictionary, with the following keys:
``'build_id'`` : str or None
An identifier for the implementation, or **None** if not known.
``'compilers'`` : dict
The compilers used for the implementation, with the following keys:
``'C'`` : dict
Information on the C compiler used, with the following keys:
``'title'`` : str
Identifier for this compiler.
``'flags'`` : str
Base set of flags used with this compiler.
``'C++'`` : dict
Information on the C++ compiler used, with the following keys:
``'title'`` : str
Identifier for this compiler.
``'flags'`` : str
Base set of flags used with this compiler.
``'Fortran'`` : dict
Information on the Fortran compiler used, with the following keys:
``'title':`` str
Identifier for this compiler.
``'flags'`` : str
Base set of flags used with this compiler.
``'hardware'`` : str
The intended target hardware for the implementation.
``'integer_bits'`` : int
The bit width of integers used in the implementation.
``'mark'`` : tuple
Triplet of ints for the Mark number of the implementation.
``'os'`` : str
The intended target operating system for the implementation.
(Other OS variants may be compatible.)
``'precision'`` : str
The base floating-point precision model used in the implementation.
``'product_code'`` : str
The product code for the implementation.
``'title'`` : str
The title of the implementation.
``'vendor_lib'`` : str or None
The subsidiary vendor library used by the implementation, or **None** if self contained.
**Notes**
In the NAG Library the equivalent C functions for this routine are ``nag_implementation_details`` and ``nag_implementation_separated_details``.
"""
return _b_info.impl_details()
[docs]def licence():
r"""
``licence`` provides a convenient means of checking the availability of a valid licence key on licence-managed implementations before starting computations that will use NAG Library functions.
In particular, the use of this function is highly recommended in programs that call NAG Library functions within multithreaded sections (e.g., OpenMP parallel regions).
The function need only be called once, before the start of the first multithreaded section.
.. _a00ac-py2-py-doc:
For full information please refer to the NAG Library document for a00ac
https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/a00/a00acf.html
**Returns**
**lic** : bool
:math:`\mathbf{True}` if a licence is available.
.. _a00ac-py2-py-notes:
**Notes**
``licence`` returns the logical value :math:`\mathbf{True}` if a valid licence is found, otherwise :math:`\mathbf{False}` is returned.
On non licence-managed implementations, :math:`\mathbf{True}` is always returned.
"""
raise NotImplementedError