https://github.com/halide/Halide
Raw File
Tip revision: 00fb3c92fd4344e53817d8cf61c42861f1c36757 authored by Patricia Suriana on 11 June 2018, 17:06:57 UTC
Fix bug in prefetch test
Tip revision: 00fb3c9
haar_x_generator.cpp
#include "Halide.h"

#include "daubechies_constants.h"

namespace {

Halide::Var x("x"), y("y"), c("c");

class haar_x : public Halide::Generator<haar_x> {
public:
    Input<Buffer<float>> in_{"in" , 2};
    Output<Buffer<float>> out_{"out" , 3};

    void generate() {
        Func in = Halide::BoundaryConditions::repeat_edge(in_);

        out_(x, y, c) = select(c == 0,
                              (in(2*x, y) + in(2*x+1, y)),
                              (in(2*x, y) - in(2*x+1, y)))/2;
        out_.unroll(c, 2);
    }
};

}  // namespace

HALIDE_REGISTER_GENERATOR(haar_x, haar_x)
back to top