Loading...
Searching...
No Matches
Halide::Internal::Dimension Class Reference

`#include <Dimension.h>`

## Public Member Functions

Expr | min () const
| Get an expression representing the minimum coordinates of this image parameter in the given dimension.
Expr | extent () const
| Get an expression representing the extent of this image parameter in the given dimension.
Expr | max () const
| Get an expression representing the maximum coordinates of this image parameter in the given dimension.
Expr | stride () const
| Get an expression representing the stride of this image in the given dimension.
Dimension | set_min (const Expr &min)
| Set the min in a given dimension to equal the given expression.
Dimension | set_extent (const Expr &extent)
| Set the extent in a given dimension to equal the given expression.
Dimension | set_stride (const Expr &stride)
| Set the stride in a given dimension to equal the given value.
Dimension | set_bounds (const Expr &min, const Expr &extent)
| Set the min and extent in one call.
Dimension | set_estimate (const Expr &min, const Expr &extent)
| Set the min and extent estimates in one call.
Expr | min_estimate () const
Expr | extent_estimate () const
Dimension | dim (int i) const
| Get a different dimension of the same buffer.

## Detailed Description

Definition at line 16 of file Dimension.h.

## Member Function Documentation

## min()

Expr Halide::Internal::Dimension::min | ( |  | ) | const

Get an expression representing the minimum coordinates of this image parameter in the given dimension.

Referenced by set_bounds(), set_estimate(), and set_min().

## extent()

Expr Halide::Internal::Dimension::extent | ( |  | ) | const

Get an expression representing the extent of this image parameter in the given dimension.

Referenced by set_bounds(), set_estimate(), and set_extent().

## max()

Expr Halide::Internal::Dimension::max | ( |  | ) | const

Get an expression representing the maximum coordinates of this image parameter in the given dimension.

## stride()

Expr Halide::Internal::Dimension::stride | ( |  | ) | const

Get an expression representing the stride of this image in the given dimension.

Referenced by set_stride().

## set_min()

Dimension Halide::Internal::Dimension::set_min | ( | const Expr & | min | ) |

Set the min in a given dimension to equal the given expression.

Setting the mins to zero may simplify some addressing math.

References min().

## set_extent()

Dimension Halide::Internal::Dimension::set_extent | ( | const Expr & | extent | ) |

Set the extent in a given dimension to equal the given expression.

Images passed in that fail this check will generate a runtime error. Returns a reference to the ImageParam so that these calls may be chained.

This may help the compiler generate better code. E.g:

im.dim(0).set_extent(100);

tells the compiler that dimension zero must be of extent 100, which may result in simplification of boundary checks. The value can be an arbitrary expression:

im.dim(0).set_extent(im.dim(1).extent());

declares that im is a square image (of unknown size), whereas:

im.dim(0).set_extent((im.dim(0).extent()/32)*32);

tells the compiler that the extent is a multiple of 32.

References extent().

## set_stride()

Dimension Halide::Internal::Dimension::set_stride | ( | const Expr & | stride | ) |

Set the stride in a given dimension to equal the given value.

This is particularly helpful to set when vectorizing. Known strides for the vectorized dimension generate better code.

References stride().

## set_bounds()

Dimension Halide::Internal::Dimension::set_bounds | ( | const Expr & | min,
|  | const Expr & | extent )

Set the min and extent in one call.

References extent(), and min().

## set_estimate()

Dimension Halide::Internal::Dimension::set_estimate | ( | const Expr & | min,
|  | const Expr & | extent )

Set the min and extent estimates in one call.

These values are only used by the auto-scheduler and/or the RunGen tool/

References extent(), and min().

## min_estimate()

Expr Halide::Internal::Dimension::min_estimate | ( |  | ) | const

## extent_estimate()

Expr Halide::Internal::Dimension::extent_estimate | ( |  | ) | const

## dim()

Dimension Halide::Internal::Dimension::dim | ( | int | i | ) | const

Get a different dimension of the same buffer.

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

- src/Dimension.h