Reference Guide
2.5.0
intrinsic_symbol.py
1
# -----------------------------------------------------------------------------
2
# BSD 3-Clause License
3
#
4
# Copyright (c) 2020-2024, Science and Technology Facilities Council.
5
# All rights reserved.
6
#
7
# Redistribution and use in source and binary forms, with or without
8
# modification, are permitted provided that the following conditions are met:
9
#
10
# * Redistributions of source code must retain the above copyright notice, this
11
# list of conditions and the following disclaimer.
12
#
13
# * Redistributions in binary form must reproduce the above copyright notice,
14
# this list of conditions and the following disclaimer in the documentation
15
# and/or other materials provided with the distribution.
16
#
17
# * Neither the name of the copyright holder nor the names of its
18
# contributors may be used to endorse or promote products derived from
19
# this software without specific prior written permission.
20
#
21
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
# POSSIBILITY OF SUCH DAMAGE.
33
# -----------------------------------------------------------------------------
34
# Authors R. W. Ford, S. Siso and N. Nobre, STFC Daresbury Lab
35
# -----------------------------------------------------------------------------
36
37
''' This module contains the IntrinsicSymbol.'''
38
39
from
psyclone.psyir.symbols.routinesymbol
import
RoutineSymbol
40
41
42
class
IntrinsicSymbol
(
RoutineSymbol
):
43
'''Symbol identifying a callable intrinsic routine.
44
45
:param str name: name of the symbol.
46
:param intrinsic: the intrinsic enum describing this Symbol.
47
:type intrinsic: :py:class:`psyclone.psyir.nodes.IntrinsicCall.Intrinsic`
48
:param kwargs: additional keyword arguments provided by
49
:py:class:`psyclone.psyir.symbols.TypedSymbol`
50
:type kwargs: unwrapped dict.
51
52
# TODO #2541: Currently name and the intrinsic should match, we really
53
# just need the name, and make all the Intrinsic singature information
54
# live inside the IntrinsicSymbol class.
55
56
'''
57
def
__init__(self, name, intrinsic, **kwargs):
58
super().__init__(name, **kwargs)
59
self.
_intrinsic
_intrinsic = intrinsic
60
61
@property
62
def
intrinsic
(self):
63
'''
64
:returns: the intrinsic enum describing this Symbol.
65
:rtype: :py:class:`psyclone.psyir.nodes.IntrinsicCall.Intrinsic`
66
'''
67
return
self.
_intrinsic
_intrinsic
68
69
70
# For Sphinx AutoAPI documentation generation
71
__all__ = [
"IntrinsicSymbol"
]
psyclone.psyir.symbols.intrinsic_symbol.IntrinsicSymbol
Definition:
intrinsic_symbol.py:42
psyclone.psyir.symbols.intrinsic_symbol.IntrinsicSymbol.intrinsic
def intrinsic(self)
Definition:
intrinsic_symbol.py:62
psyclone.psyir.symbols.intrinsic_symbol.IntrinsicSymbol._intrinsic
_intrinsic
Definition:
intrinsic_symbol.py:59
psyclone.psyir.symbols.routinesymbol.RoutineSymbol
Definition:
routinesymbol.py:43
psyclone.psyir.symbols.routinesymbol
Definition:
routinesymbol.py:1
src
psyclone
psyir
symbols
intrinsic_symbol.py
Generated by
1.9.1