Loading...
Searching...
No Matches
ModulusRemainder.h File Reference

Routines for statically determining what expressions are divisible by. More...

`#include <cstdint>`
`#include "Util.h"`

Go to the source code of this file.

## Classes

struct | Halide::Internal::ModulusRemainder
| The result of modulus_remainder analysis. More...

## Namespaces

namespace | Halide
| This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
namespace | Halide::Internal

## Functions

ModulusRemainder | Halide::Internal::operator+ (const ModulusRemainder &a, const ModulusRemainder &b)
ModulusRemainder | Halide::Internal::operator- (const ModulusRemainder &a, const ModulusRemainder &b)
ModulusRemainder | Halide::Internal::operator* (const ModulusRemainder &a, const ModulusRemainder &b)
ModulusRemainder | Halide::Internal::operator/ (const ModulusRemainder &a, const ModulusRemainder &b)
ModulusRemainder | Halide::Internal::operator% (const ModulusRemainder &a, const ModulusRemainder &b)
ModulusRemainder | Halide::Internal::operator+ (const ModulusRemainder &a, int64_t b)
ModulusRemainder | Halide::Internal::operator- (const ModulusRemainder &a, int64_t b)
ModulusRemainder | Halide::Internal::operator* (const ModulusRemainder &a, int64_t b)
ModulusRemainder | Halide::Internal::operator/ (const ModulusRemainder &a, int64_t b)
ModulusRemainder | Halide::Internal::operator% (const ModulusRemainder &a, int64_t b)
ModulusRemainder | Halide::Internal::modulus_remainder (const Expr &e)
| For things like alignment analysis, often it's helpful to know if an integer expression is some multiple of a constant plus some other constant.
ModulusRemainder | Halide::Internal::modulus_remainder (const Expr &e, const Scope< ModulusRemainder > &scope)
| If we have alignment information about external variables, we can let the analysis know about that using this version of modulus_remainder:
void | Halide::Internal::modulus_remainder_test ()
int64_t | Halide::Internal::gcd (int64_t, int64_t)
| The greatest common divisor of two integers.
int64_t | Halide::Internal::lcm (int64_t, int64_t)
| The least common multiple of two integers.
HALIDE_MUST_USE_RESULT bool | Halide::Internal::reduce_expr_modulo (const Expr &e, int64_t modulus, int64_t *remainder)
| Reduce an expression modulo some integer.
HALIDE_MUST_USE_RESULT bool | Halide::Internal::reduce_expr_modulo (const Expr &e, int64_t modulus, int64_t *remainder, const Scope< ModulusRemainder > &scope)
| Reduce an expression modulo some integer.

## Detailed Description

Routines for statically determining what expressions are divisible by.

Definition in file ModulusRemainder.h.