8namespace Autoscheduler {
10#define user_assert(c) _halide_internal_assertion(c, Halide::CompileError)
12#define EXPECT_EQ(expected, actual) expect_eq(__LINE__, expected, actual)
13#define APPROX_EQ(expected, actual, epsilon) approx_eq(__LINE__, expected, actual, epsilon)
14#define EXPECT(expected) expect(__LINE__, expected)
16template<
typename A,
typename B>
17void expect_eq(
int line,
const A &expected,
const B &actual) {
19 <<
"Assert failed on line " << line <<
"."
20 <<
"\nExpected value = " << expected
21 <<
"\nActual value = " << actual;
24template<
typename A,
typename B>
25void approx_eq(
int line,
const A &expected,
const B &actual,
float epsilon) {
27 <<
"Assert failed on line " << line <<
"."
28 <<
"\nExpected value = " << expected
29 <<
"\nActual value = " << actual;
33void expect(
int line,
const A &expected) {
35 <<
"Assert failed on line " << line <<
"."
36 <<
"\nExpected value to be true\n";
void expect(int line, const A &expected)
void approx_eq(int line, const A &expected, const B &actual, float epsilon)
void expect_eq(int line, const A &expected, const B &actual)
ConstantInterval abs(const ConstantInterval &a)
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.