Halide 22.0.0 Halide compiler and libraries

Public Member Functions | List of all members
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). More...
Stage | operator+= (const Expr &e)
| Define a stage that adds the given expression to Tuple component 'idx' of this Func. More...
Stage | operator-= (const Expr &e)
| Define a stage that adds the negative of the given expression to Tuple component 'idx' of this Func. More...
Stage | operator*= (const Expr &e)
| Define a stage that multiplies Tuple component 'idx' of this Func by the given expression. More...
Stage | operator/= (const Expr &e)
| Define a stage that divides Tuple component 'idx' of this Func by the given expression. More...
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. More...
Internal::Function | function () const
| What function is this calling? More...
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 624 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 683 of file Func.h.

References Halide::FuncRef::function().

## ◆ index()

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

Return index to the function outputs.

Definition at line 688 of file Func.h.

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

- src/Func.h