1 #ifndef HALIDE_MODULUS_REMAINDER_H 2 #define HALIDE_MODULUS_REMAINDER_H 54 ModulusRemainder
operator+(
const ModulusRemainder &a,
const ModulusRemainder &b);
55 ModulusRemainder
operator-(
const ModulusRemainder &a,
const ModulusRemainder &b);
56 ModulusRemainder
operator*(
const ModulusRemainder &a,
const ModulusRemainder &b);
57 ModulusRemainder
operator/(
const ModulusRemainder &a,
const ModulusRemainder &b);
58 ModulusRemainder
operator%(
const ModulusRemainder &a,
const ModulusRemainder &b);
static ModulusRemainder intersect(const ModulusRemainder &a, const ModulusRemainder &b)
ModulusRemainder operator/(const ModulusRemainder &a, const ModulusRemainder &b)
Various utility functions used internally Halide.
int64_t lcm(int64_t, int64_t)
The least common multiple of two integers.
A fragment of Halide syntax.
ModulusRemainder operator*(const ModulusRemainder &a, const ModulusRemainder &b)
The result of modulus_remainder analysis.
ModulusRemainder(int64_t m, int64_t r)
ModulusRemainder()=default
ModulusRemainder operator+(const ModulusRemainder &a, const ModulusRemainder &b)
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.
void modulus_remainder_test()
A common pattern when traversing Halide IR is that you need to keep track of stuff when you find a Le...
bool operator==(const ModulusRemainder &other) const
static ModulusRemainder unify(const ModulusRemainder &a, const ModulusRemainder &b)
ModulusRemainder operator%(const ModulusRemainder &a, const ModulusRemainder &b)
Not visible externally, similar to 'static' linkage in C.
signed __INT64_TYPE__ int64_t
HALIDE_MUST_USE_RESULT bool reduce_expr_modulo(const Expr &e, int64_t modulus, int64_t *remainder)
Reduce an expression modulo some integer.
int64_t gcd(int64_t, int64_t)
The greatest common divisor of two integers.
ModulusRemainder operator-(const ModulusRemainder &a, const ModulusRemainder &b)
ModulusRemainder modulus_remainder(const Expr &e)
For things like alignment analysis, often it's helpful to know if an integer expression is some multi...
#define HALIDE_MUST_USE_RESULT