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

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 427 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]

EXPORT Stage Halide::FuncTupleElementRef::operator= ( 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+=()

EXPORT Stage Halide::FuncTupleElementRef::operator+= ( 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-=()

EXPORT Stage Halide::FuncTupleElementRef::operator-= ( 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*=()

EXPORT Stage Halide::FuncTupleElementRef::operator*= ( 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/=()

EXPORT Stage Halide::FuncTupleElementRef::operator/= ( 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]

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

◆ operator Expr()

EXPORT 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()

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

What function is this calling?

Definition at line 487 of file Func.h.

References Halide::FuncRef::function().

◆ index()

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

Return index to the function outputs.

Definition at line 490 of file Func.h.


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