Peano
Loading...
Searching...
No Matches
exahype2.api.dslhype.SyntaxTree.BinaryOperation Class Reference
Inheritance diagram for exahype2.api.dslhype.SyntaxTree.BinaryOperation:
Collaboration diagram for exahype2.api.dslhype.SyntaxTree.BinaryOperation:

Public Member Functions

 __init__ (self, operation, lhs, rhs)
 
 index (self, index)
 
 multidimensional_index (self, index, start_index=0, dimensions=[])
 
 __add__ (self, rhs)
 
 __sub__ (self, rhs)
 
 __mul__ (self, rhs)
 
 __neg__ (self)
 
 get_type (self)
 
 print_cpp (self, indent_level=0)
 
 print_omp (self, indent_level=0)
 
 print_sycl (self, indent_level=0)
 
 get_mlir_op (self)
 
 print_mlir (self, indent_level=0)
 
 print_tree (self, indent_level=0)
 
- Public Member Functions inherited from exahype2.api.dslhype.SyntaxTree.Expression
 mlir_id (self, id=None)
 
- Public Member Functions inherited from exahype2.api.dslhype.SyntaxTree.Node
 parent (self, parent=None)
 
 on_left (self, left=None)
 
 hoist (self, flag=None)
 
 get_mlir_id (cls)
 
 reset_mlir_ids (cls)
 
 create_memref_from_ptr (cls, ptr_id, target_type, indent_level=0, size_hint=None, target_var_name=None)
 
 create_memref_from_extracted_descriptor (cls, alloc_ptr_id, aligned_ptr_id, offset_id, sizes_0_id, sizes_1_id, strides_0_id, strides_1_id, target_type, struct_type, indent_level=0, target_var_name=None, is_2d=False)
 

Static Public Member Functions

 get_mlir_arithmetic_op (operation, op_type_class)
 
 cast_operand (operand_mlir, operand, result_type, indent_level)
 
- Static Public Member Functions inherited from exahype2.api.dslhype.SyntaxTree.Node
 get_mlir_type (type_string)
 
 generate_pointer_to_2d_element (memref_mlir, row_index, col_index, is_nested, indent_level=0)
 

Protected Attributes

 _operation
 
 _lhs
 
 _rhs
 
- Protected Attributes inherited from exahype2.api.dslhype.SyntaxTree.Expression
 _mlir_id
 
- Protected Attributes inherited from exahype2.api.dslhype.SyntaxTree.Node
 _parent
 
 _on_left
 
 _hoist
 
 _index_type
 

Additional Inherited Members

- Data Fields inherited from exahype2.api.dslhype.SyntaxTree.Node
 mlir_id_count
 
- Static Public Attributes inherited from exahype2.api.dslhype.SyntaxTree.Node
 output_format = None
 
int spaces_per_tab = 4
 
bool use_accelerator = False
 
bool use_memory_manager = False
 
int mlir_id_count = 0
 
dict type_map = {}
 
dict struct_map = {}
 
 context = Context()
 
 target_variable_name = None
 
dict mlir_symbol_table = {}
 
dict mlir_memref_types = {}
 
str descriptor2DType = "!llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>"
 
str descriptor1DType = "!llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>"
 
list patchTypes
 
 target_type = field_info.split('|||')[0]
 

Detailed Description

Definition at line 2156 of file SyntaxTree.py.

Constructor & Destructor Documentation

◆ __init__()

exahype2.api.dslhype.SyntaxTree.BinaryOperation.__init__ (   self,
  operation,
  lhs,
  rhs 
)

Reimplemented from exahype2.api.dslhype.SyntaxTree.Expression.

Definition at line 2157 of file SyntaxTree.py.

References exahype2.api.dslhype.SyntaxTree.BinaryOperation.__init__().

Referenced by exahype2.api.dslhype.SyntaxTree.BinaryOperation.__init__().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ __add__()

exahype2.api.dslhype.SyntaxTree.BinaryOperation.__add__ (   self,
  rhs 
)

Definition at line 2207 of file SyntaxTree.py.

◆ __mul__()

exahype2.api.dslhype.SyntaxTree.BinaryOperation.__mul__ (   self,
  rhs 
)

Definition at line 2213 of file SyntaxTree.py.

◆ __neg__()

exahype2.api.dslhype.SyntaxTree.BinaryOperation.__neg__ (   self)

Definition at line 2216 of file SyntaxTree.py.

◆ __sub__()

exahype2.api.dslhype.SyntaxTree.BinaryOperation.__sub__ (   self,
  rhs 
)

Definition at line 2210 of file SyntaxTree.py.

◆ cast_operand()

exahype2.api.dslhype.SyntaxTree.BinaryOperation.cast_operand (   operand_mlir,
  operand,
  result_type,
  indent_level 
)
static

Definition at line 2252 of file SyntaxTree.py.

◆ get_mlir_arithmetic_op()

exahype2.api.dslhype.SyntaxTree.BinaryOperation.get_mlir_arithmetic_op (   operation,
  op_type_class 
)
static

Definition at line 2234 of file SyntaxTree.py.

◆ get_mlir_op()

◆ get_type()

◆ index()

exahype2.api.dslhype.SyntaxTree.BinaryOperation.index (   self,
  index 
)

◆ multidimensional_index()

exahype2.api.dslhype.SyntaxTree.BinaryOperation.multidimensional_index (   self,
  index,
  start_index = 0,
  dimensions = [] 
)

Reimplemented from exahype2.api.dslhype.SyntaxTree.Expression.

Definition at line 2203 of file SyntaxTree.py.

References exahype2.api.dslhype.SyntaxTree.Comparison._lhs, exahype2.api.dslhype.SyntaxTree.BinaryOperation._lhs, exahype2.api.dslhype.SyntaxTree.DataBlockComparison._lhs, exahype2.api.dslhype.SyntaxTree.DataBlockBinaryOperation._lhs, exahype2.api.dslhype.SyntaxTree.Max._lhs, exahype2.api.dslhype.SyntaxTree.Assignment._lhs, exahype2.api.dslhype.SyntaxTree.DataBlockAssignment._lhs, exahype2.api.dslhype.SyntaxTree.Comparison._operation, exahype2.api.dslhype.SyntaxTree.BinaryOperation._operation, exahype2.api.dslhype.SyntaxTree.UnaryOperation._operation, exahype2.api.dslhype.SyntaxTree.DataBlockComparison._operation, exahype2.api.dslhype.SyntaxTree.DataBlockBinaryOperation._operation, exahype2.api.dslhype.SyntaxTree.DataBlockUnaryOperation._operation, exahype2.api.dslhype.SyntaxTree.DataBlockConstructionFromOperation._operation, exahype2.api.dslhype.SyntaxTree.Comparison._rhs, exahype2.api.dslhype.SyntaxTree.BinaryOperation._rhs, exahype2.api.dslhype.SyntaxTree.DataBlockComparison._rhs, exahype2.api.dslhype.SyntaxTree.DataBlockBinaryOperation._rhs, exahype2.api.dslhype.SyntaxTree.Max._rhs, exahype2.api.dslhype.SyntaxTree.Assignment._rhs, exahype2.api.dslhype.SyntaxTree.DataBlockAssignment._rhs, and exahype2.api.dslhype.SyntaxTree.BinaryOperation.multidimensional_index().

Referenced by exahype2.api.dslhype.SyntaxTree.BinaryOperation.multidimensional_index().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ print_cpp()

exahype2.api.dslhype.SyntaxTree.BinaryOperation.print_cpp (   self,
  indent_level = 0 
)

Reimplemented from exahype2.api.dslhype.SyntaxTree.Node.

Definition at line 2224 of file SyntaxTree.py.

◆ print_mlir()

◆ print_omp()

exahype2.api.dslhype.SyntaxTree.BinaryOperation.print_omp (   self,
  indent_level = 0 
)

Reimplemented from exahype2.api.dslhype.SyntaxTree.Node.

Definition at line 2227 of file SyntaxTree.py.

◆ print_sycl()

exahype2.api.dslhype.SyntaxTree.BinaryOperation.print_sycl (   self,
  indent_level = 0 
)

Reimplemented from exahype2.api.dslhype.SyntaxTree.Node.

Definition at line 2230 of file SyntaxTree.py.

◆ print_tree()

exahype2.api.dslhype.SyntaxTree.BinaryOperation.print_tree (   self,
  indent_level = 0 
)

Reimplemented from exahype2.api.dslhype.SyntaxTree.Node.

Definition at line 2345 of file SyntaxTree.py.

Field Documentation

◆ _lhs

◆ _operation

◆ _rhs


The documentation for this class was generated from the following file: