This source file includes following definitions.
- h_assert
- main
#include "Halide.h"
#include <stdio.h>
#include <cmath>
using namespace Halide;
void h_assert(bool condition, const char *msg) {
if (!condition) {
printf("FAIL: %s\n", msg);
abort();
}
}
int main() {
Halide::Func f;
Halide::Var x, y;
f(x, y) = 0.25f + Expr(float16_t(0.75));
Buffer<float> simple = f.realize(10, 3);
h_assert(simple.extent(0) == 10, "invalid width");
h_assert(simple.extent(1) == 3, "invalid height");
h_assert(simple.min(0) == 0, "unexpected non zero min in x");
h_assert(simple.min(1) == 0, "unexpected non zero min in y");
h_assert(simple.channels() == 1, "invalid channels");
h_assert(simple.dimensions() == 2, "invalid number of dimensions");
for (int x = simple.min(0); x < simple.extent(0); ++x) {
for (int y = simple.min(1); y < simple.extent(1); ++y) {
h_assert(simple(x, y) == 1.0f, "Invalid value read back");
}
}
printf("Success!\n");
return 0;
}