Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Halide::FuncTupleElementRef Class Reference

A fragment of front-end syntax of the form f(x, y, z)[index], where x, y, z are Vars or Exprs. More...

#include <Func.h>

Public Member Functions

 FuncTupleElementRef (const FuncRef &ref, const std::vector< Expr > &args, int idx)
 
Stage operator= (const Expr &e)
 Use this as the left-hand-side of an update definition of Tuple component 'idx' of a Func (see RDom).
 
Stage operator+= (const Expr &e)
 Define a stage that adds the given expression to Tuple component 'idx' of this Func.
 
Stage operator-= (const Expr &e)
 Define a stage that adds the negative of the given expression to Tuple component 'idx' of this Func.
 
Stage operator*= (const Expr &e)
 Define a stage that multiplies Tuple component 'idx' of this Func by the given expression.
 
Stage operator/= (const Expr &e)
 Define a stage that divides Tuple component 'idx' of this Func by the given expression.
 
Stage operator= (const FuncRef &e)
 
 operator Expr () const
 Use this as a call to Tuple component 'idx' of a Func, and not the left-hand-side of a definition.
 
Internal::Function function () const
 What function is this calling?
 
int index () const
 Return index to the function outputs.
 

Detailed Description

A fragment of front-end syntax of the form f(x, y, z)[index], where x, y, z are Vars or Exprs.

If could be the left hand side of an update definition, or it could be a call to a function. We don't know until we see how this object gets used.

Definition at line 610 of file Func.h.

Constructor & Destructor Documentation

◆ FuncTupleElementRef()

Halide::FuncTupleElementRef::FuncTupleElementRef ( const FuncRef & ref,
const std::vector< Expr > & args,
int idx )

Member Function Documentation

◆ operator=() [1/2]

Stage Halide::FuncTupleElementRef::operator= ( const Expr & e)

Use this as the left-hand-side of an update definition of Tuple component 'idx' of a Func (see RDom).

The function must already have an initial definition.

◆ operator+=()

Stage Halide::FuncTupleElementRef::operator+= ( const Expr & e)

Define a stage that adds the given expression to Tuple component 'idx' of this Func.

The other Tuple components are unchanged. If the expression refers to some RDom, this performs a sum reduction of the expression over the domain. The function must already have an initial definition.

◆ operator-=()

Stage Halide::FuncTupleElementRef::operator-= ( const Expr & e)

Define a stage that adds the negative of the given expression to Tuple component 'idx' of this Func.

The other Tuple components are unchanged. If the expression refers to some RDom, this performs a sum reduction of the negative of the expression over the domain. The function must already have an initial definition.

◆ operator*=()

Stage Halide::FuncTupleElementRef::operator*= ( const Expr & e)

Define a stage that multiplies Tuple component 'idx' of this Func by the given expression.

The other Tuple components are unchanged. If the expression refers to some RDom, this performs a product reduction of the expression over the domain. The function must already have an initial definition.

◆ operator/=()

Stage Halide::FuncTupleElementRef::operator/= ( const Expr & e)

Define a stage that divides Tuple component 'idx' of this Func by the given expression.

The other Tuple components are unchanged. If the expression refers to some RDom, this performs a product reduction of the inverse of the expression over the domain. The function must already have an initial definition.

◆ operator=() [2/2]

Stage Halide::FuncTupleElementRef::operator= ( const FuncRef & e)

◆ operator Expr()

Halide::FuncTupleElementRef::operator Expr ( ) const

Use this as a call to Tuple component 'idx' of a Func, and not the left-hand-side of a definition.

◆ function()

Internal::Function Halide::FuncTupleElementRef::function ( ) const
inline

What function is this calling?

Definition at line 669 of file Func.h.

References Halide::FuncRef::function().

◆ index()

int Halide::FuncTupleElementRef::index ( ) const
inline

Return index to the function outputs.

Definition at line 674 of file Func.h.


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