Source code for naginterfaces.library.info

# -*- coding: utf-8 -*-
r"""
Module Summary
--------------
Interfaces for the NAG Mark 29.3 `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://www.nag.com/numeric/nl/nagdoc_29.3/flhtml/genint/essint-support.html>`__).

For full information please refer to the NAG Library document

https://www.nag.com/numeric/nl/nagdoc_29.3/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-2023.

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://www.nag.com/numeric/nl/nagdoc_29.3/flhtml/a00/a00aaf.html https://www.nag.com/numeric/nl/nagdoc_29.3/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://www.nag.com/numeric/nl/nagdoc_29.3/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