#include "Halide.h" #include <stdio.h> using namespace Halide; int main(int argc, char **argv) { Func f("f"), g1("g1"), g2("g2"), g3("g3"), g4("g4"); Var x("x"), y("y"); f(x) = x; g1(x, y) = f(x); g2(x, y) = f(x); g3(x, y) = f(x); // It's not valid to call f.in(g1) after defining a shared wrapper for // {g1, g2, g3} Func wrapper1 = f.in({g1, g4, g3}); Func wrapper2 = f.in(g3); return 0; }