Halide  12.0.1
Halide compiler and libraries
ModulusRemainder.h File Reference

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

#include <cstdint>

Go to the source code of this file.

Classes

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

Namespaces

 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.
 
 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. More...
 
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: More...
 
void Halide::Internal::modulus_remainder_test ()
 
int64_t Halide::Internal::gcd (int64_t, int64_t)
 The greatest common divisor of two integers. More...
 
int64_t Halide::Internal::lcm (int64_t, int64_t)
 The least common multiple of two integers. More...
 
bool Halide::Internal::reduce_expr_modulo (const Expr &e, int64_t modulus, int64_t *remainder)
 Reduce an expression modulo some integer. More...
 
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. More...
 

Detailed Description

Routines for statically determining what expressions are divisible by.

Definition in file ModulusRemainder.h.