h 30 apps/HelloAndroid/jni/hello_wrapper.cpp const int w = j_w, h = j_h, orientation = j_orientation; h 53 apps/HelloAndroid/jni/hello_wrapper.cpp ANativeWindow_setBuffersGeometry(win, w, h, 0); h 59 apps/HelloAndroid/jni/hello_wrapper.cpp ARect rect = {0, 0, w, h}; h 87 apps/HelloAndroid/jni/hello_wrapper.cpp srcBuf.dim[1].extent = h; h 93 apps/HelloAndroid/jni/hello_wrapper.cpp srcBuf.host += w*h-1; h 104 apps/HelloAndroid/jni/hello_wrapper.cpp dstBuf.dim[1].extent = h; h 109 apps/HelloAndroid/jni/hello_wrapper.cpp memset(dst + w*h, 128, (w*h)/2); h 27 apps/HelloAndroid/src/com/example/hellohalide/CameraPreview.java private static native void processFrame(byte[] src, int w, int h, int orientation, Surface dst); h 108 apps/HelloAndroid/src/com/example/hellohalide/CameraPreview.java public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { h 570 apps/HelloAndroidCamera2/src/com/example/helloandroidcamera2/Camera2BasicFragment.java int h = aspectRatio.getHeight(); h 572 apps/HelloAndroidCamera2/src/com/example/helloandroidcamera2/Camera2BasicFragment.java if (option.getHeight() == option.getWidth() * h / w && h 118 apps/HelloAndroidGL/src/org/halide_lang/hellohalidegl/HelloHalideGL.java private int createTexture(int w, int h) { h 125 apps/HelloAndroidGL/src/org/halide_lang/hellohalidegl/HelloHalideGL.java ByteBuffer buf = ByteBuffer.allocate(w * h * 4); h 126 apps/HelloAndroidGL/src/org/halide_lang/hellohalidegl/HelloHalideGL.java gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_RGBA, w, h, 0, h 138 apps/HelloAndroidGL/src/org/halide_lang/hellohalidegl/HelloHalideGL.java public void onSurfaceChanged(GL10 unused, int w, int h) { h 142 apps/HelloAndroidGL/src/org/halide_lang/hellohalidegl/HelloHalideGL.java output = createTexture(w, h); h 144 apps/HelloAndroidGL/src/org/halide_lang/hellohalidegl/HelloHalideGL.java surfaceHeight = h; h 14 apps/c_backend/pipeline_generator.cpp Func f, g, h; h 16 apps/c_backend/pipeline_generator.cpp h.define_extern("an_extern_stage", {f}, Int(16), 0, NameMangling::C); h 17 apps/c_backend/pipeline_generator.cpp g(x, y) = cast<uint16_t>(f(y, x) + f(x, y) + an_extern_func(x, y) + h()); h 20 apps/c_backend/pipeline_generator.cpp h.compute_root(); h 53 apps/interpolate/interpolate.cpp Expr h = input.height()/(1 << l); h 54 apps/interpolate/interpolate.cpp prev = lambda(x, y, c, prev(clamp(x, 0, w), clamp(y, 0, h), c)); h 36 apps/simd_op_check/driver.cpp halide_buffer_t make_buffer(int w, int h) { h 40 apps/simd_op_check/driver.cpp int result = posix_memalign((void **)&mem, 128, w*h*sizeof(T)); h 45 apps/simd_op_check/driver.cpp mem = (T *)memalign(128, w*h*sizeof(T)); h 55 apps/simd_op_check/driver.cpp buf.dim[1].extent = h; h 62 apps/simd_op_check/driver.cpp for (int i = 0; i < w*h; i++) { h 23 python_bindings/python/Argument.cpp .def(p::init<std::string, Argument::Kind, h::Type, uint8_t, h::Expr, h::Expr, h::Expr>( h 26 python_bindings/python/Argument.cpp .def(p::init<std::string, Argument::Kind, h::Type, uint8_t, h::Expr>( h 29 python_bindings/python/Argument.cpp .def(p::init<std::string, Argument::Kind, h::Type, uint8_t>( h 27 python_bindings/python/BoundaryConditions.cpp std::vector<std::pair<h::Expr, h::Expr>> inline pyobject_to_bounds(const p::object &pybounds) { h 29 python_bindings/python/BoundaryConditions.cpp std::vector<std::pair<h::Expr, h::Expr>> result(intermediate.size()); h 30 python_bindings/python/BoundaryConditions.cpp std::transform(intermediate.begin(), intermediate.end(), result.begin(), to_pair<h::Expr, h::Expr>); h 37 python_bindings/python/BoundaryConditions.cpp h::Func constant_exterior0(T func_like, h::Expr value) { h 41 python_bindings/python/BoundaryConditions.cpp h::Func constant_exterior_bounds(h::Func func, h::Expr value, p::object bounds_) { h 48 python_bindings/python/BoundaryConditions.cpp p::def("constant_exterior", &constant_exterior0<h::Buffer<T>>, p::args("source", "value")); h 63 python_bindings/python/BoundaryConditions.cpp h::Func repeat_edge0(T func_like) { h 67 python_bindings/python/BoundaryConditions.cpp h::Func repeat_edge_bounds(h::Func func, p::object bounds_) { h 74 python_bindings/python/BoundaryConditions.cpp p::def("repeat_edge", &repeat_edge0<h::Buffer<T>>, p::args("source")); h 89 python_bindings/python/BoundaryConditions.cpp h::Func repeat_image0(T func_like) { h 93 python_bindings/python/BoundaryConditions.cpp h::Func repeat_image_bounds(h::Func func, p::object bounds_) { h 100 python_bindings/python/BoundaryConditions.cpp p::def("repeat_image", &repeat_image0<h::Buffer<T>>, p::args("source")); h 115 python_bindings/python/BoundaryConditions.cpp h::Func mirror_image0(T func_like) { h 119 python_bindings/python/BoundaryConditions.cpp h::Func mirror_image_bounds(h::Func func, p::object bounds_) { h 126 python_bindings/python/BoundaryConditions.cpp p::def("mirror_image", &mirror_image0<h::Buffer<T>>, p::args("source")); h 141 python_bindings/python/BoundaryConditions.cpp h::Func mirror_interior0(T func_like) { h 145 python_bindings/python/BoundaryConditions.cpp h::Func mirror_interior_bounds(h::Func func, p::object bounds_) { h 152 python_bindings/python/BoundaryConditions.cpp p::def("mirror_interior", &mirror_interior0<h::Buffer<T>>, p::args("source")); h 167 python_bindings/python/BoundaryConditions.cpp p::def("constant_exterior", &constant_exterior0<h::ImageParam>, p::args("source", "value"), h 187 python_bindings/python/BoundaryConditions.cpp p::def("repeat_edge", &repeat_edge0<h::ImageParam>, p::args("source"), h 204 python_bindings/python/BoundaryConditions.cpp p::def("repeat_image", &repeat_image0<h::ImageParam>, p::args("source"), h 221 python_bindings/python/BoundaryConditions.cpp p::def("mirror_image", &mirror_image0<h::ImageParam>, p::args("source"), h 239 python_bindings/python/BoundaryConditions.cpp p::def("mirror_interior", &mirror_interior0<h::ImageParam>, p::args("source"), h 13 python_bindings/python/Error.cpp void translate_error(h::Error const &e) { h 20 python_bindings/python/Error.cpp void translate_runtime_error(h::RuntimeError const &e) { h 27 python_bindings/python/Error.cpp void translate_compile_error(h::CompileError const &e) { h 34 python_bindings/python/Error.cpp void translate_internal_error(h::InternalError const &e) { h 44 python_bindings/python/Error.cpp p::register_exception_translator<h::Error>(&translate_error); h 45 python_bindings/python/Error.cpp p::register_exception_translator<h::RuntimeError>(&translate_runtime_error); h 46 python_bindings/python/Error.cpp p::register_exception_translator<h::CompileError>(&translate_compile_error); h 47 python_bindings/python/Error.cpp p::register_exception_translator<h::InternalError>(&translate_internal_error); h 18 python_bindings/python/Expr.cpp p::object expr_vector_to_python_tuple(const std::vector<h::Expr> &t) { h 23 python_bindings/python/Expr.cpp for (const h::Expr &e : t) { h 30 python_bindings/python/Expr.cpp std::vector<h::Expr> python_tuple_to_expr_vector(const p::object &obj) { h 31 python_bindings/python/Expr.cpp p::extract<h::Expr> expr_extract(obj); h 35 python_bindings/python/Expr.cpp return python_collection_to_vector<h::Expr>(obj); h 39 python_bindings/python/Expr.cpp std::string expr_repr(const h::Expr &expr) { h 43 python_bindings/python/Expr.cpp const h::Type &t = expr.type(); h 48 python_bindings/python/Expr.cpp h::Expr *expr_from_var_constructor(h::Var &var) { h 49 python_bindings/python/Expr.cpp return new h::Expr(var); h 76 python_bindings/python/Expr.cpp .def(p::init<const h::Internal::BaseExprNode *>(p::arg("self"))) h 96 python_bindings/python/Expr.cpp p::implicitly_convertible<int, h::Expr>(); h 97 python_bindings/python/Expr.cpp p::implicitly_convertible<float, h::Expr>(); h 98 python_bindings/python/Expr.cpp p::implicitly_convertible<double, h::Expr>(); h 100 python_bindings/python/Expr.cpp p::enum_<h::DeviceAPI>("DeviceAPI", h 104 python_bindings/python/Expr.cpp .value("None", h::DeviceAPI::None) h 105 python_bindings/python/Expr.cpp .value("Host", h::DeviceAPI::Host) h 106 python_bindings/python/Expr.cpp .value("Default_GPU", h::DeviceAPI::Default_GPU) h 107 python_bindings/python/Expr.cpp .value("CUDA", h::DeviceAPI::CUDA) h 108 python_bindings/python/Expr.cpp .value("OpenCL", h::DeviceAPI::OpenCL) h 109 python_bindings/python/Expr.cpp .value("GLSL", h::DeviceAPI::GLSL) h 24 python_bindings/python/Func.cpp p::object realization_to_python_object(const h::Realization &r) { h 36 python_bindings/python/Func.cpp h::Realization python_object_to_realization(p::object obj) { h 37 python_bindings/python/Func.cpp std::vector<h::Buffer<>> buffers; h 47 python_bindings/python/Func.cpp return h::Realization(buffers); h 51 python_bindings/python/Func.cpp p::object func_realize(h::Func &f, Args... args) { h 56 python_bindings/python/Func.cpp void func_realize_into(h::Func &f, Args... args) { h 61 python_bindings/python/Func.cpp void func_realize_tuple(h::Func &f, p::tuple obj, Args... args) { h 65 python_bindings/python/Func.cpp void func_compile_jit0(h::Func &that) { h 70 python_bindings/python/Func.cpp void func_compile_jit1(h::Func &that, const h::Target &target = h::get_target_from_environment()) { h 75 python_bindings/python/Func.cpp void func_compile_to_bitcode0(h::Func &that, const std::string &filename, h 78 python_bindings/python/Func.cpp const h::Target &target = h::get_target_from_environment()) { h 79 python_bindings/python/Func.cpp auto args_vec = python_collection_to_vector<h::Argument>(args); h 85 python_bindings/python/Func.cpp void func_compile_to_object0(h::Func &that, const std::string &filename, h 88 python_bindings/python/Func.cpp const h::Target &target = h::get_target_from_environment()) { h 89 python_bindings/python/Func.cpp auto args_vec = python_collection_to_vector<h::Argument>(args); h 95 python_bindings/python/Func.cpp void func_compile_to_header0(h::Func &that, const std::string &filename, h 98 python_bindings/python/Func.cpp const h::Target &target = h::get_target_from_environment()) { h 99 python_bindings/python/Func.cpp auto args_vec = python_collection_to_vector<h::Argument>(args); h 105 python_bindings/python/Func.cpp void func_compile_to_assembly0(h::Func &that, const std::string &filename, h 108 python_bindings/python/Func.cpp const h::Target &target = h::get_target_from_environment()) { h 109 python_bindings/python/Func.cpp auto args_vec = python_collection_to_vector<h::Argument>(args); h 115 python_bindings/python/Func.cpp void func_compile_to_c0(h::Func &that, const std::string &filename, h 118 python_bindings/python/Func.cpp const h::Target &target = h::get_target_from_environment()) { h 119 python_bindings/python/Func.cpp auto args_vec = python_collection_to_vector<h::Argument>(args); h 125 python_bindings/python/Func.cpp void func_compile_to_file0(h::Func &that, const std::string &filename_prefix, h 128 python_bindings/python/Func.cpp const h::Target &target = h::get_target_from_environment()) { h 129 python_bindings/python/Func.cpp auto args_vec = python_collection_to_vector<h::Argument>(args); h 135 python_bindings/python/Func.cpp void func_compile_to_lowered_stmt0(h::Func &that, h 138 python_bindings/python/Func.cpp h::StmtOutputFormat fmt = h::Text, h 139 python_bindings/python/Func.cpp const h::Target &target = h::get_target_from_environment()) { h 140 python_bindings/python/Func.cpp auto args_vec = python_collection_to_vector<h::Argument>(args); h 149 python_bindings/python/Func.cpp h::Func &func_store_at0(h::Func &that, h::Func f, h::Var var) { h 153 python_bindings/python/Func.cpp h::Func &func_store_at1(h::Func &that, h::Func f, h::RVar var) { h 157 python_bindings/python/Func.cpp h::Func &func_compute_at0(h::Func &that, h::Func f, h::Var var) { h 161 python_bindings/python/Func.cpp h::Func &func_compute_at1(h::Func &that, h::Func f, h::RVar var) { h 165 python_bindings/python/Func.cpp h::FuncRef func_getitem_operator(h::Func &func, p::object arg) { h 169 python_bindings/python/Func.cpp h::Stage func_setitem_operator(h::Func &func, p::object lhs, p::object rhs) { h 171 python_bindings/python/Func.cpp h::Tuple(python_tuple_to_expr_vector(rhs))); h 174 python_bindings/python/Func.cpp std::string func_repr(const h::Func &func) { h 181 python_bindings/python/Func.cpp void func_define_extern0(h::Func &that, h 184 python_bindings/python/Func.cpp h::Type output_type, h 186 python_bindings/python/Func.cpp auto params_vec = python_collection_to_vector<h::ExternFuncArgument>(params); h 190 python_bindings/python/Func.cpp void func_define_extern1(h::Func &that, h 195 python_bindings/python/Func.cpp auto params_vec = python_collection_to_vector<h::ExternFuncArgument>(params); h 196 python_bindings/python/Func.cpp auto types_vec = python_collection_to_vector<h::Type>(types); h 200 python_bindings/python/Func.cpp p::tuple func_output_types(h::Func &func) { h 202 python_bindings/python/Func.cpp for (h::Type t : func.output_types()) { h 213 python_bindings/python/Func.cpp p::enum_<h::StmtOutputFormat>("StmtOutputFormat") h 214 python_bindings/python/Func.cpp .value("Text", h::StmtOutputFormat::Text) h 215 python_bindings/python/Func.cpp .value("HTML", h::StmtOutputFormat::HTML) h 232 python_bindings/python/Func.cpp .def(p::init<h::Expr>(p::arg("self"))); h 255 python_bindings/python/Func.cpp .def("realize", &func_realize<h::Target>, h 261 python_bindings/python/Func.cpp .def("realize", &func_realize<int, h::Target>, h 267 python_bindings/python/Func.cpp .def("realize", &func_realize<int, int, h::Target>, h 273 python_bindings/python/Func.cpp .def("realize", &func_realize<int, int, int, h::Target>, h 279 python_bindings/python/Func.cpp .def("realize", &func_realize<int, int, int, int, h::Target>, h 282 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<uint8_t>>, h 285 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<uint8_t>, h::Target>, h 288 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<uint16_t>>, h 291 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<uint16_t>, h::Target>, h 294 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<uint32_t>>, h 297 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<uint32_t>, h::Target>, h 300 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<int8_t>>, h 303 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<int8_t>, h::Target>, h 306 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<int16_t>>, h 309 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<int16_t>, h::Target>, h 312 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<int32_t>>, h 315 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<int32_t>, h::Target>, h 318 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<float>>, h 321 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<float>, h::Target>, h 324 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<double>>, h 327 python_bindings/python/Func.cpp .def("realize", &func_realize_into<h::Buffer<double>, h::Target>, h 333 python_bindings/python/Func.cpp .def("realize", &func_realize_tuple<h::Target>, h 59 python_bindings/python/Func_Ref.cpp .def("__iadd__", &iadd_func<FuncTupleElementRef &, h::Expr>, p::args("self", "expr"), h 65 python_bindings/python/Func_Ref.cpp .def("__isub__", &isub_func<FuncTupleElementRef &, h::Expr>, p::args("self", "expr"), h 72 python_bindings/python/Func_Ref.cpp .def("__imul__", &imul_func<FuncTupleElementRef &, h::Expr>, p::args("self", "expr"), h 79 python_bindings/python/Func_Ref.cpp .def("__idiv__", &idiv_func<FuncTupleElementRef &, h::Expr>, p::args("self", "expr"), h 108 python_bindings/python/Func_Ref.cpp add_operators_with<fterc_t, h::Expr>(func_tuple_element_ref_class); h 110 python_bindings/python/Func_Ref.cpp p::implicitly_convertible<FuncTupleElementRef, h::Expr>(); h 136 python_bindings/python/Func_Ref.cpp .def("__iadd__", &iadd_func<FuncRef &, h::Expr>, p::args("self", "expr"), h 142 python_bindings/python/Func_Ref.cpp .def("__isub__", &isub_func<FuncRef &, h::Expr>, p::args("self", "expr"), h 148 python_bindings/python/Func_Ref.cpp .def("__imul__", &imul_func<FuncRef &, h::Expr>, p::args("self", "expr"), h 154 python_bindings/python/Func_Ref.cpp .def("__idiv__", &idiv_func<FuncRef &, h::Expr>, p::args("self", "expr"), h 189 python_bindings/python/Func_Ref.cpp add_operators_with<frec_t, h::Expr>(func_ref_expr_class); h 191 python_bindings/python/Func_Ref.cpp p::implicitly_convertible<FuncRef, h::Expr>(); h 199 python_bindings/python/Func_Ref.cpp p::class_<h::Internal::Function>("InternalFunction", p::no_init); h 116 python_bindings/python/Func_Stage.cpp defineFuncOrStageGpuMethods<h::Stage>(stage_class); h 21 python_bindings/python/Func_VarOrRVar.cpp .def(p::init<h::Var>(p::args("self", "v"))) h 22 python_bindings/python/Func_VarOrRVar.cpp .def(p::init<h::RVar>(p::args("self", "r"))) h 23 python_bindings/python/Func_VarOrRVar.cpp .def(p::init<h::RDom>(p::args("self", "r"))) h 29 python_bindings/python/Func_VarOrRVar.cpp p::implicitly_convertible<h::Var, VarOrRVar>(); h 30 python_bindings/python/Func_VarOrRVar.cpp p::implicitly_convertible<h::RVar, VarOrRVar>(); h 31 python_bindings/python/Func_VarOrRVar.cpp p::implicitly_convertible<h::RDom, VarOrRVar>(); h 11 python_bindings/python/Func_gpu.cpp void defineFuncGpuMethods(p::class_<h::Func> &func_class) { h 15 python_bindings/python/Func_gpu.cpp defineFuncOrStageGpuMethods<h::Func>(func_class); h 19 python_bindings/python/Function.cpp .def(p::init<h::Buffer<>>(p::args("self", "b"))) h 20 python_bindings/python/Function.cpp .def(p::init<h::Expr>(p::args("self", "e"))) h 13 python_bindings/python/IROperator.cpp h::Expr reinterpret0(h::Type t, h::Expr e) { h 14 python_bindings/python/IROperator.cpp return h::reinterpret(t, e); h 17 python_bindings/python/IROperator.cpp h::Expr cast0(h::Type t, h::Expr e) { h 21 python_bindings/python/IROperator.cpp h::Expr select0(h::Expr condition, h::Expr true_value, h::Expr false_value) { h 22 python_bindings/python/IROperator.cpp return h::select(condition, true_value, false_value); h 25 python_bindings/python/IROperator.cpp h::Expr select1(h::Expr c1, h::Expr v1, h 26 python_bindings/python/IROperator.cpp h::Expr c2, h::Expr v2, h 27 python_bindings/python/IROperator.cpp h::Expr default_val) { h 28 python_bindings/python/IROperator.cpp return h::select(c1, v1, h 31 python_bindings/python/IROperator.cpp h::Expr select2(h::Expr c1, h::Expr v1, h 32 python_bindings/python/IROperator.cpp h::Expr c2, h::Expr v2, h 33 python_bindings/python/IROperator.cpp h::Expr c3, h::Expr v3, h 34 python_bindings/python/IROperator.cpp h::Expr default_val) { h 35 python_bindings/python/IROperator.cpp return h::select(c1, v1, h 39 python_bindings/python/IROperator.cpp h::Expr select3(h::Expr c1, h::Expr v1, h 40 python_bindings/python/IROperator.cpp h::Expr c2, h::Expr v2, h 41 python_bindings/python/IROperator.cpp h::Expr c3, h::Expr v3, h 42 python_bindings/python/IROperator.cpp h::Expr c4, h::Expr v4, h 43 python_bindings/python/IROperator.cpp h::Expr default_val) { h 44 python_bindings/python/IROperator.cpp return h::select(c1, v1, h 49 python_bindings/python/IROperator.cpp h::Expr select4(h::Expr c1, h::Expr v1, h 50 python_bindings/python/IROperator.cpp h::Expr c2, h::Expr v2, h 51 python_bindings/python/IROperator.cpp h::Expr c3, h::Expr v3, h 52 python_bindings/python/IROperator.cpp h::Expr c4, h::Expr v4, h 53 python_bindings/python/IROperator.cpp h::Expr c5, h::Expr v5, h 54 python_bindings/python/IROperator.cpp h::Expr default_val) { h 55 python_bindings/python/IROperator.cpp return h::select(c1, v1, h 61 python_bindings/python/IROperator.cpp h::Expr select5(h::Expr c1, h::Expr v1, h 62 python_bindings/python/IROperator.cpp h::Expr c2, h::Expr v2, h 63 python_bindings/python/IROperator.cpp h::Expr c3, h::Expr v3, h 64 python_bindings/python/IROperator.cpp h::Expr c4, h::Expr v4, h 65 python_bindings/python/IROperator.cpp h::Expr c5, h::Expr v5, h 66 python_bindings/python/IROperator.cpp h::Expr c6, h::Expr v6, h 67 python_bindings/python/IROperator.cpp h::Expr default_val) { h 68 python_bindings/python/IROperator.cpp return h::select(c1, v1, h 75 python_bindings/python/IROperator.cpp h::Expr select6(h::Expr c1, h::Expr v1, h 76 python_bindings/python/IROperator.cpp h::Expr c2, h::Expr v2, h 77 python_bindings/python/IROperator.cpp h::Expr c3, h::Expr v3, h 78 python_bindings/python/IROperator.cpp h::Expr c4, h::Expr v4, h 79 python_bindings/python/IROperator.cpp h::Expr c5, h::Expr v5, h 80 python_bindings/python/IROperator.cpp h::Expr c6, h::Expr v6, h 81 python_bindings/python/IROperator.cpp h::Expr c7, h::Expr v7, h 82 python_bindings/python/IROperator.cpp h::Expr default_val) { h 83 python_bindings/python/IROperator.cpp return h::select(c1, v1, h 91 python_bindings/python/IROperator.cpp h::Expr select7(h::Expr c1, h::Expr v1, h 92 python_bindings/python/IROperator.cpp h::Expr c2, h::Expr v2, h 93 python_bindings/python/IROperator.cpp h::Expr c3, h::Expr v3, h 94 python_bindings/python/IROperator.cpp h::Expr c4, h::Expr v4, h 95 python_bindings/python/IROperator.cpp h::Expr c5, h::Expr v5, h 96 python_bindings/python/IROperator.cpp h::Expr c6, h::Expr v6, h 97 python_bindings/python/IROperator.cpp h::Expr c7, h::Expr v7, h 98 python_bindings/python/IROperator.cpp h::Expr c8, h::Expr v8, h 99 python_bindings/python/IROperator.cpp h::Expr default_val) { h 100 python_bindings/python/IROperator.cpp return h::select(c1, v1, h 109 python_bindings/python/IROperator.cpp h::Expr select8(h::Expr c1, h::Expr v1, h 110 python_bindings/python/IROperator.cpp h::Expr c2, h::Expr v2, h 111 python_bindings/python/IROperator.cpp h::Expr c3, h::Expr v3, h 112 python_bindings/python/IROperator.cpp h::Expr c4, h::Expr v4, h 113 python_bindings/python/IROperator.cpp h::Expr c5, h::Expr v5, h 114 python_bindings/python/IROperator.cpp h::Expr c6, h::Expr v6, h 115 python_bindings/python/IROperator.cpp h::Expr c7, h::Expr v7, h 116 python_bindings/python/IROperator.cpp h::Expr c8, h::Expr v8, h 117 python_bindings/python/IROperator.cpp h::Expr c9, h::Expr v9, h 118 python_bindings/python/IROperator.cpp h::Expr default_val) { h 119 python_bindings/python/IROperator.cpp return h::select(c1, v1, h 129 python_bindings/python/IROperator.cpp h::Expr select9(h::Expr c1, h::Expr v1, h 130 python_bindings/python/IROperator.cpp h::Expr c2, h::Expr v2, h 131 python_bindings/python/IROperator.cpp h::Expr c3, h::Expr v3, h 132 python_bindings/python/IROperator.cpp h::Expr c4, h::Expr v4, h 133 python_bindings/python/IROperator.cpp h::Expr c5, h::Expr v5, h 134 python_bindings/python/IROperator.cpp h::Expr c6, h::Expr v6, h 135 python_bindings/python/IROperator.cpp h::Expr c7, h::Expr v7, h 136 python_bindings/python/IROperator.cpp h::Expr c8, h::Expr v8, h 137 python_bindings/python/IROperator.cpp h::Expr c9, h::Expr v9, h 138 python_bindings/python/IROperator.cpp h::Expr c10, h::Expr v10, h 139 python_bindings/python/IROperator.cpp h::Expr default_val) { h 140 python_bindings/python/IROperator.cpp return h::select(c1, v1, h 152 python_bindings/python/IROperator.cpp h::Expr print_when0(h::Expr condition, p::tuple values_passed) { h 154 python_bindings/python/IROperator.cpp std::vector<h::Expr> values; h 159 python_bindings/python/IROperator.cpp p::extract<h::Expr &> expr_extract(o); h 173 python_bindings/python/IROperator.cpp return h::print_when(condition, values); h 176 python_bindings/python/IROperator.cpp h::Expr random_float0() { h 177 python_bindings/python/IROperator.cpp return h::random_float(); h 180 python_bindings/python/IROperator.cpp h::Expr random_float1(h::Expr seed) { h 181 python_bindings/python/IROperator.cpp return h::random_float(seed); h 184 python_bindings/python/IROperator.cpp h::Expr random_int0() { h 185 python_bindings/python/IROperator.cpp return h::random_int(); h 188 python_bindings/python/IROperator.cpp h::Expr random_int1(h::Expr seed) { h 189 python_bindings/python/IROperator.cpp return h::random_int(seed); h 192 python_bindings/python/IROperator.cpp h::Expr undef0(h::Type type) { h 193 python_bindings/python/IROperator.cpp return h::undef(type); h 196 python_bindings/python/IROperator.cpp h::Expr memoize_tag0(h::Expr result, const std::vector<h::Expr> &cache_key_values) { h 197 python_bindings/python/IROperator.cpp return h::memoize_tag(result, cache_key_values); h 203 python_bindings/python/IROperator.cpp h::Expr (*max_exprs)(h::Expr, h::Expr) = &h::max; h 204 python_bindings/python/IROperator.cpp h::Expr (*max_expr_int)(const h::Expr &, int) = &h::max; h 205 python_bindings/python/IROperator.cpp h::Expr (*max_int_expr)(int, const h::Expr &) = &h::max; h 207 python_bindings/python/IROperator.cpp h::Expr (*min_exprs)(h::Expr, h::Expr) = &h::min; h 208 python_bindings/python/IROperator.cpp h::Expr (*min_expr_int)(const h::Expr &, int) = &h::min; h 209 python_bindings/python/IROperator.cpp h::Expr (*min_int_expr)(int, const h::Expr &) = &h::min; h 257 python_bindings/python/IROperator.cpp p::def("clamp", &h::clamp, h 262 python_bindings/python/IROperator.cpp p::def("abs", &h::abs, p::args("a"), h 268 python_bindings/python/IROperator.cpp p::def("absd", &h::absd, p::args("a", "b"), h 365 python_bindings/python/IROperator.cpp p::def("sin", &h::sin, p::args("x"), h 369 python_bindings/python/IROperator.cpp p::def("asin", &h::asin, p::args("x"), h 373 python_bindings/python/IROperator.cpp p::def("cos", &h::cos, p::args("x"), h 377 python_bindings/python/IROperator.cpp p::def("acos", &h::acos, p::args("x"), h 381 python_bindings/python/IROperator.cpp p::def("tan", &h::tan, p::args("x"), h 385 python_bindings/python/IROperator.cpp p::def("atan", &h::atan, p::args("x"), h 389 python_bindings/python/IROperator.cpp p::def("atan", &h::atan2, p::args("x", "y"), h 393 python_bindings/python/IROperator.cpp p::def("atan2", &h::atan2, p::args("x", "y"), h 399 python_bindings/python/IROperator.cpp p::def("sinh", &h::sinh, p::args("x"), h 403 python_bindings/python/IROperator.cpp p::def("asinh", &h::asinh, p::args("x"), h 407 python_bindings/python/IROperator.cpp p::def("cosh", &h::cosh, p::args("x"), h 411 python_bindings/python/IROperator.cpp p::def("acosh", &h::acosh, p::args("x"), h 415 python_bindings/python/IROperator.cpp p::def("tanh", &h::tanh, p::args("x"), h 419 python_bindings/python/IROperator.cpp p::def("atanh", &h::atanh, p::args("x"), h 424 python_bindings/python/IROperator.cpp p::def("sqrt", &h::sqrt, p::args("x"), h 429 python_bindings/python/IROperator.cpp p::def("hypot", &h::hypot, p::args("x"), h 435 python_bindings/python/IROperator.cpp p::def("exp", &h::exp, p::args("x"), h 444 python_bindings/python/IROperator.cpp p::def("log", &h::log, p::args("x"), h 453 python_bindings/python/IROperator.cpp p::def("pow", &h::pow, p::args("x"), h 461 python_bindings/python/IROperator.cpp p::def("erf", &h::erf, p::args("x"), h 466 python_bindings/python/IROperator.cpp p::def("fast_log", &h::fast_log, p::args("x"), h 471 python_bindings/python/IROperator.cpp p::def("fast_exp", &h::fast_exp, p::args("x"), h 477 python_bindings/python/IROperator.cpp p::def("fast_pow", &h::fast_pow, p::args("x"), h 483 python_bindings/python/IROperator.cpp p::def("fast_inverse", &h::fast_inverse, p::args("x"), h 488 python_bindings/python/IROperator.cpp p::def("fast_inverse_sqrt", &h::fast_inverse_sqrt, p::args("x"), h 493 python_bindings/python/IROperator.cpp p::def("floor", &h::floor, p::args("x"), h 499 python_bindings/python/IROperator.cpp p::def("ceil", &h::ceil, p::args("x"), h 505 python_bindings/python/IROperator.cpp p::def("round", &h::round, p::args("x"), h 511 python_bindings/python/IROperator.cpp p::def("trunc", &h::trunc, p::args("x"), h 517 python_bindings/python/IROperator.cpp p::def("fract", &h::fract, p::args("x"), h 523 python_bindings/python/IROperator.cpp p::def("is_nan", &h::is_nan, p::args("x"), h 536 python_bindings/python/IROperator.cpp p::def("lerp", &h::lerp, p::args("zero_val", "one_val", "weight"), h 576 python_bindings/python/IROperator.cpp p::def("popcount", &h::popcount, p::args("x"), h 579 python_bindings/python/IROperator.cpp p::def("count_leading_zeros", &h::count_leading_zeros, p::args("x"), h 583 python_bindings/python/IROperator.cpp p::def("count_trailing_zeros", &h::count_trailing_zeros, p::args("x"), h 673 python_bindings/python/IROperator.cpp p::def("likely", &h::likely, p::args("e"), h 42 python_bindings/python/Image.cpp Ret buffer_call_operator(h::Buffer<T> &that, Args... args) { h 47 python_bindings/python/Image.cpp h::Expr buffer_call_operator_tuple(h::Buffer<T> &that, p::tuple &args_passed) { h 48 python_bindings/python/Image.cpp std::vector<h::Expr> expr_args; h 50 python_bindings/python/Image.cpp expr_args.push_back(p::extract<h::Expr>(args_passed[i])); h 56 python_bindings/python/Image.cpp T buffer_to_setitem_operator0(h::Buffer<T> &that, int x, T value) { h 61 python_bindings/python/Image.cpp T buffer_to_setitem_operator1(h::Buffer<T> &that, int x, int y, T value) { h 66 python_bindings/python/Image.cpp T buffer_to_setitem_operator2(h::Buffer<T> &that, int x, int y, int z, T value) { h 71 python_bindings/python/Image.cpp T buffer_to_setitem_operator3(h::Buffer<T> &that, int x, int y, int z, int w, T value) { h 76 python_bindings/python/Image.cpp T buffer_to_setitem_operator4(h::Buffer<T> &that, p::tuple &args_passed, T value) { h 116 python_bindings/python/Image.cpp const T *buffer_data(const h::Buffer<T> &buffer) { h 121 python_bindings/python/Image.cpp void buffer_set_min1(h::Buffer<T> &im, int m0) { h 126 python_bindings/python/Image.cpp void buffer_set_min2(h::Buffer<T> &im, int m0, int m1) { h 131 python_bindings/python/Image.cpp void buffer_set_min3(h::Buffer<T> &im, int m0, int m1, int m2) { h 136 python_bindings/python/Image.cpp void buffer_set_min4(h::Buffer<T> &im, int m0, int m1, int m2, int m3) { h 141 python_bindings/python/Image.cpp std::string buffer_repr(const h::Buffer<T> &buffer) { h 144 python_bindings/python/Image.cpp h::Type t = halide_type_of<T>(); h 168 python_bindings/python/Image.cpp std::function<h::Type(h::Buffer<T> &)> return_type_func = h 169 python_bindings/python/Image.cpp [&](h::Buffer<T> &that) -> h::Type { return halide_type_of<T>(); }; h 171 python_bindings/python/Image.cpp typedef boost::mpl::vector<h::Type, h::Buffer<T> &> func_sig; h 176 python_bindings/python/Image.cpp void buffer_copy_to_host(h::Buffer<T> &im) { h 181 python_bindings/python/Image.cpp void buffer_set_host_dirty(h::Buffer<T> &im, bool value) { h 186 python_bindings/python/Image.cpp int buffer_channels(h::Buffer<T> &im) { h 191 python_bindings/python/Image.cpp int buffer_width(h::Buffer<T> &im) { h 196 python_bindings/python/Image.cpp int buffer_height(h::Buffer<T> &im) { h 201 python_bindings/python/Image.cpp int buffer_dimensions(h::Buffer<T> &im) { h 206 python_bindings/python/Image.cpp int buffer_left(h::Buffer<T> &im) { h 211 python_bindings/python/Image.cpp int buffer_right(h::Buffer<T> &im) { h 216 python_bindings/python/Image.cpp int buffer_top(h::Buffer<T> &im) { h 221 python_bindings/python/Image.cpp int buffer_bottom(h::Buffer<T> &im) { h 226 python_bindings/python/Image.cpp int buffer_stride(h::Buffer<T> &im, int d) { h 231 python_bindings/python/Image.cpp int buffer_min(h::Buffer<T> &im, int d) { h 236 python_bindings/python/Image.cpp int buffer_extent(h::Buffer<T> &im, int d) { h 243 python_bindings/python/Image.cpp void defineBuffer_impl(const std::string suffix, const h::Type type) { h 244 python_bindings/python/Image.cpp using h::Buffer; h 245 python_bindings/python/Image.cpp using h::Expr; h 277 python_bindings/python/Image.cpp .def(p::init<h::Realization &>( h 409 python_bindings/python/Image.cpp p::implicitly_convertible<Buffer<T>, h::Argument>(); h 414 python_bindings/python/Image.cpp p::object buffer_to_python_object(const h::Buffer<> &im) { h 416 python_bindings/python/Image.cpp if (im.type() == h::UInt(8)) { h 417 python_bindings/python/Image.cpp p::manage_new_object::apply<h::Buffer<uint8_t> *>::type converter; h 418 python_bindings/python/Image.cpp obj = converter(new h::Buffer<uint8_t>(im)); h 419 python_bindings/python/Image.cpp } else if (im.type() == h::UInt(16)) { h 420 python_bindings/python/Image.cpp p::manage_new_object::apply<h::Buffer<uint16_t> *>::type converter; h 421 python_bindings/python/Image.cpp obj = converter(new h::Buffer<uint16_t>(im)); h 422 python_bindings/python/Image.cpp } else if (im.type() == h::UInt(32)) { h 423 python_bindings/python/Image.cpp p::manage_new_object::apply<h::Buffer<uint32_t> *>::type converter; h 424 python_bindings/python/Image.cpp obj = converter(new h::Buffer<uint32_t>(im)); h 425 python_bindings/python/Image.cpp } else if (im.type() == h::Int(8)) { h 426 python_bindings/python/Image.cpp p::manage_new_object::apply<h::Buffer<int8_t> *>::type converter; h 427 python_bindings/python/Image.cpp obj = converter(new h::Buffer<int8_t>(im)); h 428 python_bindings/python/Image.cpp } else if (im.type() == h::Int(16)) { h 429 python_bindings/python/Image.cpp p::manage_new_object::apply<h::Buffer<int16_t> *>::type converter; h 430 python_bindings/python/Image.cpp obj = converter(new h::Buffer<int16_t>(im)); h 431 python_bindings/python/Image.cpp } else if (im.type() == h::Int(32)) { h 432 python_bindings/python/Image.cpp p::manage_new_object::apply<h::Buffer<int32_t> *>::type converter; h 433 python_bindings/python/Image.cpp obj = converter(new h::Buffer<int32_t>(im)); h 434 python_bindings/python/Image.cpp } else if (im.type() == h::Float(32)) { h 435 python_bindings/python/Image.cpp p::manage_new_object::apply<h::Buffer<float> *>::type converter; h 436 python_bindings/python/Image.cpp obj = converter(new h::Buffer<float>(im)); h 437 python_bindings/python/Image.cpp } else if (im.type() == h::Float(64)) { h 438 python_bindings/python/Image.cpp p::manage_new_object::apply<h::Buffer<double> *>::type converter; h 439 python_bindings/python/Image.cpp obj = converter(new h::Buffer<double>(im)); h 447 python_bindings/python/Image.cpp h::Buffer<> python_object_to_buffer(p::object obj) { h 448 python_bindings/python/Image.cpp p::extract<h::Buffer<uint8_t>> buffer_extract_uint8(obj); h 449 python_bindings/python/Image.cpp p::extract<h::Buffer<uint16_t>> buffer_extract_uint16(obj); h 450 python_bindings/python/Image.cpp p::extract<h::Buffer<uint32_t>> buffer_extract_uint32(obj); h 451 python_bindings/python/Image.cpp p::extract<h::Buffer<int8_t>> buffer_extract_int8(obj); h 452 python_bindings/python/Image.cpp p::extract<h::Buffer<int16_t>> buffer_extract_int16(obj); h 453 python_bindings/python/Image.cpp p::extract<h::Buffer<int32_t>> buffer_extract_int32(obj); h 454 python_bindings/python/Image.cpp p::extract<h::Buffer<float>> buffer_extract_float(obj); h 455 python_bindings/python/Image.cpp p::extract<h::Buffer<double>> buffer_extract_double(obj); h 476 python_bindings/python/Image.cpp return h::Buffer<>(); h 481 python_bindings/python/Image.cpp bn::dtype type_to_dtype(const h::Type &t) { h 482 python_bindings/python/Image.cpp if (t == h::UInt(8)) return bn::dtype::get_builtin<uint8_t>(); h 483 python_bindings/python/Image.cpp if (t == h::UInt(16)) return bn::dtype::get_builtin<uint16_t>(); h 484 python_bindings/python/Image.cpp if (t == h::UInt(32)) return bn::dtype::get_builtin<uint32_t>(); h 485 python_bindings/python/Image.cpp if (t == h::Int(8)) return bn::dtype::get_builtin<int8_t>(); h 486 python_bindings/python/Image.cpp if (t == h::Int(16)) return bn::dtype::get_builtin<int16_t>(); h 487 python_bindings/python/Image.cpp if (t == h::Int(32)) return bn::dtype::get_builtin<int32_t>(); h 488 python_bindings/python/Image.cpp if (t == h::Float(32)) return bn::dtype::get_builtin<float>(); h 489 python_bindings/python/Image.cpp if (t == h::Float(64)) return bn::dtype::get_builtin<double>(); h 494 python_bindings/python/Image.cpp h::Type dtype_to_type(const bn::dtype &t) { h 495 python_bindings/python/Image.cpp if (t == bn::dtype::get_builtin<uint8_t>()) return h::UInt(8); h 496 python_bindings/python/Image.cpp if (t == bn::dtype::get_builtin<uint16_t>()) return h::UInt(16); h 497 python_bindings/python/Image.cpp if (t == bn::dtype::get_builtin<uint32_t>()) return h::UInt(32); h 498 python_bindings/python/Image.cpp if (t == bn::dtype::get_builtin<int8_t>()) return h::Int(8); h 499 python_bindings/python/Image.cpp if (t == bn::dtype::get_builtin<int16_t>()) return h::Int(16); h 500 python_bindings/python/Image.cpp if (t == bn::dtype::get_builtin<int32_t>()) return h::Int(32); h 501 python_bindings/python/Image.cpp if (t == bn::dtype::get_builtin<float>()) return h::Float(32); h 502 python_bindings/python/Image.cpp if (t == bn::dtype::get_builtin<double>()) return h::Float(64); h 504 python_bindings/python/Image.cpp return h::Type(); h 509 python_bindings/python/Image.cpp h::Type t = dtype_to_type(array.get_dtype()); h 520 python_bindings/python/Image.cpp return buffer_to_python_object(h::Buffer<>(t, host, dims, shape)); h 524 python_bindings/python/Image.cpp h::Buffer<> im = python_object_to_buffer(buffer_object); h 550 python_bindings/python/Image.cpp typedef h::Buffer<T> BufferType; h 558 python_bindings/python/Image.cpp static p::object create_buffer_impl(h::Type t, Args... args) { h 559 python_bindings/python/Image.cpp if (t == h::UInt(8)) return create_buffer_object<uint8_t>(args...); h 560 python_bindings/python/Image.cpp if (t == h::UInt(16)) return create_buffer_object<uint16_t>(args...); h 561 python_bindings/python/Image.cpp if (t == h::UInt(32)) return create_buffer_object<uint32_t>(args...); h 562 python_bindings/python/Image.cpp if (t == h::Int(8)) return create_buffer_object<int8_t>(args...); h 563 python_bindings/python/Image.cpp if (t == h::Int(16)) return create_buffer_object<int16_t>(args...); h 564 python_bindings/python/Image.cpp if (t == h::Int(32)) return create_buffer_object<int32_t>(args...); h 565 python_bindings/python/Image.cpp if (t == h::Float(32)) return create_buffer_object<float>(args...); h 566 python_bindings/python/Image.cpp if (t == h::Float(64)) return create_buffer_object<double>(args...); h 571 python_bindings/python/Image.cpp static p::object create_buffer0(h::Type type) { h 575 python_bindings/python/Image.cpp static p::object create_buffer1(h::Type type, int x) { h 579 python_bindings/python/Image.cpp static p::object create_buffer2(h::Type type, int x, int y) { h 583 python_bindings/python/Image.cpp static p::object create_buffer3(h::Type type, int x, int y, int z) { h 587 python_bindings/python/Image.cpp static p::object create_buffer4(h::Type type, int x, int y, int z, int w) { h 591 python_bindings/python/Image.cpp static p::object create_buffer_from_realization(h::Type type, h::Realization &r) { h 601 python_bindings/python/Image.cpp defineBuffer_impl<uint8_t>("_uint8", h::UInt(8)); h 602 python_bindings/python/Image.cpp defineBuffer_impl<uint16_t>("_uint16", h::UInt(16)); h 603 python_bindings/python/Image.cpp defineBuffer_impl<uint32_t>("_uint32", h::UInt(32)); h 605 python_bindings/python/Image.cpp defineBuffer_impl<int8_t>("_int8", h::Int(8)); h 606 python_bindings/python/Image.cpp defineBuffer_impl<int16_t>("_int16", h::Int(16)); h 607 python_bindings/python/Image.cpp defineBuffer_impl<int32_t>("_int32", h::Int(32)); h 609 python_bindings/python/Image.cpp defineBuffer_impl<float>("_float32", h::Float(32)); h 610 python_bindings/python/Image.cpp defineBuffer_impl<double>("_float64", h::Float(64)); h 15 python_bindings/python/InlineReductions.cpp h::Expr sum0(h::Expr e, const std::string name) { h 16 python_bindings/python/InlineReductions.cpp return h::sum(e, name); h 19 python_bindings/python/InlineReductions.cpp h::Expr sum1(h::RDom r, h::Expr e, const std::string name) { h 20 python_bindings/python/InlineReductions.cpp return h::sum(r, e, name); h 23 python_bindings/python/InlineReductions.cpp h::Expr product0(h::Expr e, const std::string name) { h 24 python_bindings/python/InlineReductions.cpp return h::product(e, name); h 27 python_bindings/python/InlineReductions.cpp h::Expr product1(h::RDom r, h::Expr e, const std::string name) { h 28 python_bindings/python/InlineReductions.cpp return h::product(r, e, name); h 31 python_bindings/python/InlineReductions.cpp h::Expr maximum0(h::Expr e, const std::string name) { h 32 python_bindings/python/InlineReductions.cpp return h::maximum(e, name); h 35 python_bindings/python/InlineReductions.cpp h::Expr maximum1(h::RDom r, h::Expr e, const std::string name) { h 36 python_bindings/python/InlineReductions.cpp return h::maximum(r, e, name); h 39 python_bindings/python/InlineReductions.cpp h::Expr minimum0(h::Expr e, const std::string name) { h 40 python_bindings/python/InlineReductions.cpp return h::minimum(e, name); h 43 python_bindings/python/InlineReductions.cpp h::Expr minimum1(h::RDom r, h::Expr e, const std::string name) { h 44 python_bindings/python/InlineReductions.cpp return h::minimum(r, e, name); h 47 python_bindings/python/InlineReductions.cpp p::object argmin0(h::Expr e, const std::string name) { h 48 python_bindings/python/InlineReductions.cpp return expr_vector_to_python_tuple(h::argmin(e, name).as_vector()); h 51 python_bindings/python/InlineReductions.cpp p::object argmin1(h::RDom r, h::Expr e, const std::string name) { h 52 python_bindings/python/InlineReductions.cpp return expr_vector_to_python_tuple(h::argmin(r, e, name).as_vector()); h 55 python_bindings/python/InlineReductions.cpp p::object argmax0(h::Expr e, const std::string name) { h 56 python_bindings/python/InlineReductions.cpp return expr_vector_to_python_tuple(h::argmin(e, name).as_vector()); h 59 python_bindings/python/InlineReductions.cpp p::object argmax1(h::RDom r, h::Expr e, const std::string name) { h 60 python_bindings/python/InlineReductions.cpp return expr_vector_to_python_tuple(h::argmax(r, e, name).as_vector()); h 10 python_bindings/python/Lambda.cpp h::Func lambda0D(h::Expr e) { h 14 python_bindings/python/Lambda.cpp h::Func lambda1D(h::Var x, h::Expr e) { h 18 python_bindings/python/Lambda.cpp h::Func lambda2D(h::Var x, h::Var y, h::Expr e) { h 22 python_bindings/python/Lambda.cpp h::Func lambda3D(h::Var x, h::Var y, h::Var z, h::Expr e) { h 26 python_bindings/python/Lambda.cpp h::Func lambda4D(h::Var x, h::Var y, h::Var z, h::Var w, h::Expr e) { h 30 python_bindings/python/Lambda.cpp h::Func lambda5D(h::Var x, h::Var y, h::Var z, h::Var w, h::Var v, h::Expr e) { h 19 python_bindings/python/Param.cpp h::Expr imageparam_to_expr_operator0(h::ImageParam &that, p::tuple args_passed) { h 20 python_bindings/python/Param.cpp std::vector<h::Expr> expr_args; h 25 python_bindings/python/Param.cpp expr_args.push_back(p::extract<h::Expr>(args_passed[i])); h 31 python_bindings/python/Param.cpp h::Expr imageparam_to_expr_operator1(h::ImageParam &that, h::Expr an_expr) { h 32 python_bindings/python/Param.cpp std::vector<h::Expr> expr_args; h 39 python_bindings/python/Param.cpp std::string imageparam_repr(h::ImageParam ¶m) // non-const due to a Halide bug in master (to be fixed) h 42 python_bindings/python/Param.cpp const h::Type &t = param.type(); h 58 python_bindings/python/Param.cpp h::Buffer<> image_param_get(h::ImageParam ¶m) { h 63 python_bindings/python/Param.cpp void image_param_set(h::ImageParam ¶m, const h::Buffer<T> &im) { h 78 python_bindings/python/Param.cpp p::init<h::Type, int, std::string>(p::args("self", "t", "dims", "name"))) h 79 python_bindings/python/Param.cpp .def(p::init<h::Type, int>(p::args("self", "t", "dims"))) h 141 python_bindings/python/Param.cpp p::implicitly_convertible<ImageParam, h::Argument>(); h 279 python_bindings/python/Param.cpp h::Expr param_as_expr(h::Param<T> &that) { h 280 python_bindings/python/Param.cpp return static_cast<h::Expr>(that); h 284 python_bindings/python/Param.cpp std::string param_repr(const h::Param<T> ¶m) { h 286 python_bindings/python/Param.cpp const h::Type &t = param.type(); h 294 python_bindings/python/Param.cpp void defineParam_impl(const std::string suffix, const h::Type type) { h 317 python_bindings/python/Param.cpp .def(p::init<T, h::Expr, h::Expr>( h 321 python_bindings/python/Param.cpp .def(p::init<std::string, T, h::Expr, h::Expr>( h 374 python_bindings/python/Param.cpp p::implicitly_convertible<Param<T>, h::Argument>(); h 376 python_bindings/python/Param.cpp p::implicitly_convertible<Param<T>, h::Expr>(); h 381 python_bindings/python/Param.cpp add_operators_with<pc_t, h::Expr>(param_class); h 399 python_bindings/python/Param.cpp typedef h::Param<T> ParamType; h 410 python_bindings/python/Param.cpp p::object create_param0_impl(h::Type type, std::string name) { h 411 python_bindings/python/Param.cpp if (h::type_of<T>() == type) { h 423 python_bindings/python/Param.cpp p::object create_param0_impl<end_of_recursion_t>(h::Type type, std::string /*name*/) { // end of recursion, did not find a matching type h 504 python_bindings/python/Param.cpp p::object operator()(h::Type type, p::object val, Args... args) { h 506 python_bindings/python/Param.cpp if (h::type_of<pixel_t>() == type) { h 535 python_bindings/python/Param.cpp p::object call_create_param_object(T true_val, std::string name, h::Expr min, h::Expr max) { h 540 python_bindings/python/Param.cpp p::object call_create_param_object(T true_val, h::Expr min, h::Expr max) { h 554 python_bindings/python/Param.cpp p::object operator()(h::Type type, p::object val, Args... args) { h 563 python_bindings/python/Param.cpp static p::object create_param0(h::Type type) { h 570 python_bindings/python/Param.cpp static p::object create_param1(h::Type type, std::string name) { h 577 python_bindings/python/Param.cpp static p::object create_param2(h::Type type, p::object val) { h 581 python_bindings/python/Param.cpp static p::object create_param3(h::Type type, std::string name, p::object val) { h 585 python_bindings/python/Param.cpp static p::object create_param4(h::Type type, p::object val, h::Expr min, h::Expr max) { h 586 python_bindings/python/Param.cpp return create_param1_impl_t<pixel_types_t, h::Expr, h::Expr>()(type, val, min, max); h 589 python_bindings/python/Param.cpp static p::object create_param5(h::Type type, std::string name, p::object val, h::Expr min, h::Expr max) { h 590 python_bindings/python/Param.cpp return create_param1_impl_t<pixel_types_t, std::string, h::Expr, h::Expr>()(type, val, name, min, max); h 597 python_bindings/python/Param.cpp defineParam_impl<uint8_t>("_uint8", h::UInt(8)); h 598 python_bindings/python/Param.cpp defineParam_impl<uint16_t>("_uint16", h::UInt(16)); h 599 python_bindings/python/Param.cpp defineParam_impl<uint32_t>("_uint32", h::UInt(32)); h 601 python_bindings/python/Param.cpp defineParam_impl<int8_t>("_int8", h::Int(8)); h 602 python_bindings/python/Param.cpp defineParam_impl<int16_t>("_int16", h::Int(16)); h 603 python_bindings/python/Param.cpp defineParam_impl<int32_t>("_int32", h::Int(32)); h 605 python_bindings/python/Param.cpp defineParam_impl<float>("_float32", h::Float(32)); h 606 python_bindings/python/Param.cpp defineParam_impl<double>("_float64", h::Float(64)); h 630 python_bindings/python/Param.cpp p::def("user_context_value", &h::user_context_value, h 26 python_bindings/python/RDom.cpp .def(p::init<h::Internal::ReductionDomain, int>( h 44 python_bindings/python/RDom.cpp p::implicitly_convertible<RVar, h::Expr>(); h 47 python_bindings/python/RDom.cpp add_operators_with<decltype(rvar_class), h::Expr>(rvar_class); h 52 python_bindings/python/RDom.cpp h::RDom *RDom_constructor0(p::tuple args, std::string name = "") { h 58 python_bindings/python/RDom.cpp std::vector<h::Expr> exprs; h 62 python_bindings/python/RDom.cpp p::extract<h::Expr> expr_extract(o); h 77 python_bindings/python/RDom.cpp std::vector<std::pair<h::Expr, h::Expr>> ranges; h 82 python_bindings/python/RDom.cpp return new h::RDom(ranges, name); h 85 python_bindings/python/RDom.cpp h::RDom *RDom_constructor1(h::Expr min0, h::Expr extent0, h 87 python_bindings/python/RDom.cpp std::vector<std::pair<h::Expr, h::Expr>> ranges; h 89 python_bindings/python/RDom.cpp return new h::RDom(ranges, name); h 92 python_bindings/python/RDom.cpp h::RDom *RDom_constructor2(h::Expr min0, h::Expr extent0, h 93 python_bindings/python/RDom.cpp h::Expr min1, h::Expr extent1, h 95 python_bindings/python/RDom.cpp std::vector<std::pair<h::Expr, h::Expr>> ranges; h 98 python_bindings/python/RDom.cpp return new h::RDom(ranges, name); h 101 python_bindings/python/RDom.cpp h::RDom *RDom_constructor3(h::Expr min0, h::Expr extent0, h 102 python_bindings/python/RDom.cpp h::Expr min1, h::Expr extent1, h 103 python_bindings/python/RDom.cpp h::Expr min2, h::Expr extent2, h 105 python_bindings/python/RDom.cpp std::vector<std::pair<h::Expr, h::Expr>> ranges; h 109 python_bindings/python/RDom.cpp return new h::RDom(ranges, name); h 112 python_bindings/python/RDom.cpp h::RDom *RDom_constructor4(h::Expr min0, h::Expr extent0, h 113 python_bindings/python/RDom.cpp h::Expr min1, h::Expr extent1, h 114 python_bindings/python/RDom.cpp h::Expr min2, h::Expr extent2, h 115 python_bindings/python/RDom.cpp h::Expr min3, h::Expr extent3, h 117 python_bindings/python/RDom.cpp std::vector<std::pair<h::Expr, h::Expr>> ranges; h 122 python_bindings/python/RDom.cpp return new h::RDom(ranges, name); h 131 python_bindings/python/RDom.cpp p::class_<h::Internal::ReductionDomain>("_ReductionDomain", p::no_init); h 147 python_bindings/python/RDom.cpp .def(p::init<h::Buffer<>>(p::args("self", "buffer"), h 151 python_bindings/python/RDom.cpp .def(p::init<h::ImageParam>(p::args("self", "image_param"), h 155 python_bindings/python/RDom.cpp .def(p::init<h::Internal::ReductionDomain>( h 227 python_bindings/python/RDom.cpp p::implicitly_convertible<RDom, h::Expr>(); h 228 python_bindings/python/RDom.cpp p::implicitly_convertible<RDom, h::RVar>(); h 231 python_bindings/python/RDom.cpp add_operators_with<decltype(rdom_class), h::Expr>(rdom_class); h 16 python_bindings/python/Target.cpp void target_set_features(h::Target &t, p::list features, bool value) { h 17 python_bindings/python/Target.cpp auto features_vec = python_collection_to_vector<h::Target::Feature>(features); h 123 python_bindings/python/Target.cpp p::def("get_host_target", &h::get_host_target, h 126 python_bindings/python/Target.cpp p::def("get_target_from_environment", &h::get_target_from_environment, h 130 python_bindings/python/Target.cpp p::def("get_jit_target_from_environment", &h::get_jit_target_from_environment, h 14 python_bindings/python/Type.cpp std::string type_code_to_string(const h::Type &t) { h 17 python_bindings/python/Type.cpp case h::Type::UInt: h 21 python_bindings/python/Type.cpp case h::Type::Int: h 25 python_bindings/python/Type.cpp case h::Type::Float: h 29 python_bindings/python/Type.cpp case h::Type::Handle: h 44 python_bindings/python/Type.cpp std::string type_repr(const h::Type &t) { h 61 python_bindings/python/Type.cpp .def(p::init<h::Type>(p::args("that"), "Copy constructor")) h 100 python_bindings/python/Type.cpp p::def("Int", h::Int, h 104 python_bindings/python/Type.cpp p::def("UInt", h::UInt, h 108 python_bindings/python/Type.cpp p::def("Float", h::Float, h 112 python_bindings/python/Type.cpp p::def("Bool", h::Bool, h 14 python_bindings/python/Var.cpp bool var_is_implicit0(h::Var &that) { h 19 python_bindings/python/Var.cpp return h::Var::is_implicit(name); h 22 python_bindings/python/Var.cpp int var_implicit_index0(h::Var &that) { h 27 python_bindings/python/Var.cpp return h::Var::is_implicit(name); h 30 python_bindings/python/Var.cpp bool var_is_placeholder0(h::Var &that) { h 35 python_bindings/python/Var.cpp return h::Var::is_placeholder(name); h 38 python_bindings/python/Var.cpp h::Expr var_as_expr(h::Var &that) { h 39 python_bindings/python/Var.cpp return static_cast<h::Expr>(that); h 42 python_bindings/python/Var.cpp std::string var_repr(const h::Var &var) { h 123 python_bindings/python/Var.cpp add_operators_with<decltype(var_class), h::Expr>(var_class); h 125 python_bindings/python/Var.cpp p::implicitly_convertible<Var, h::Expr>(); h 307 src/Elf.cpp unsigned long h = 0; h 310 src/Elf.cpp h = (h << 4) + c; h 311 src/Elf.cpp g = h & 0xf0000000; h 313 src/Elf.cpp h ^= g >> 24; h 315 src/Elf.cpp h &= ~g; h 317 src/Elf.cpp return h; h 47 src/IREquality.h uint32_t h = hash(a, b); h 48 src/IREquality.h entries[h].a = a; h 49 src/IREquality.h entries[h].b = b; h 53 src/IREquality.h uint32_t h = hash(a, b); h 54 src/IREquality.h const Entry &e = entries[h]; h 108 src/PartitionLoops.cpp HasLikelyTag h; h 109 src/PartitionLoops.cpp e.accept(&h); h 110 src/PartitionLoops.cpp return h.result; h 95 src/Util.cpp int unique_count(size_t h) { h 96 src/Util.cpp h = h & (num_unique_name_counters - 1); h 97 src/Util.cpp return unique_name_counters[h]++; h 185 src/runtime/cache.cpp uint32_t h = 5381; h 187 src/runtime/cache.cpp h = (h << 5) + h + key[i]; h 189 src/runtime/cache.cpp return h; h 266 src/runtime/cache.cpp uint32_t h = prune_candidate->hash; h 267 src/runtime/cache.cpp uint32_t index = h % kHashTableSize; h 331 src/runtime/cache.cpp uint32_t h = djb_hash(cache_key, size); h 332 src/runtime/cache.cpp uint32_t index = h % kHashTableSize; h 351 src/runtime/cache.cpp if (entry->hash == h && entry->key_size == (size_t)size && h 409 src/runtime/cache.cpp header->hash = h; h 425 src/runtime/cache.cpp uint32_t h = get_pointer_to_header(tuple_buffers[0]->host)->hash; h 427 src/runtime/cache.cpp uint32_t index = h % kHashTableSize; h 446 src/runtime/cache.cpp if (entry->hash == h && entry->key_size == (size_t)size && h 489 src/runtime/cache.cpp inited = new_entry->init(cache_key, size, h, computed_bounds, tuple_count, tuple_buffers); h 134 src/runtime/hexagon_remote/dlib.cpp unsigned long h = 0; h 137 src/runtime/hexagon_remote/dlib.cpp h = (h << 4) + c; h 138 src/runtime/hexagon_remote/dlib.cpp g = h & 0xf0000000; h 140 src/runtime/hexagon_remote/dlib.cpp h ^= g >> 24; h 142 src/runtime/hexagon_remote/dlib.cpp h &= ~g; h 144 src/runtime/hexagon_remote/dlib.cpp return h; h 1773 src/runtime/opengl.cpp for (int h=0;h!=(height-1);++h) { h 1777 src/runtime/opengl.cpp int v = w+h*width; h 27 test/correctness/align_bounds.cpp Func f, g, h; h 35 test/correctness/align_bounds.cpp h(x) = g(x-p) + g(x+p); h 50 test/correctness/align_bounds.cpp h.set_custom_trace(my_trace); h 51 test/correctness/align_bounds.cpp Buffer<int> result = h.realize(10); h 71 test/correctness/align_bounds.cpp h.realize(result); h 80 test/correctness/align_bounds.cpp h.realize(result); h 90 test/correctness/align_bounds.cpp Func f, g, h; h 98 test/correctness/align_bounds.cpp h(x) = g(x-p) + g(x+p); h 113 test/correctness/align_bounds.cpp h.set_custom_trace(my_trace); h 114 test/correctness/align_bounds.cpp Buffer<int> result = h.realize(10); h 133 test/correctness/align_bounds.cpp h.realize(result); h 141 test/correctness/align_bounds.cpp h.realize(result); h 87 test/correctness/argmax.cpp Func h; h 89 test/correctness/argmax.cpp h(x) = Tuple(x * (100 - x), x); h 90 test/correctness/argmax.cpp h(init) = tuple_select(h(init)[0] >= h(r)[0], Tuple(h(init)), Tuple(h(r))); h 93 test/correctness/argmax.cpp arg_max_h() = h(init); h 13 test/correctness/assertion_failure_in_parallel_for.cpp Func f("f"), g("g"), h("h"); h 19 test/correctness/assertion_failure_in_parallel_for.cpp h(x, y) = f(x, y); h 20 test/correctness/assertion_failure_in_parallel_for.cpp g(x, y) = h(x % split, y % split) + 1; h 28 test/correctness/assertion_failure_in_parallel_for.cpp h.compute_at(g, x); h 32 test/correctness/assertion_failure_in_parallel_for.cpp h.bound(x, 0, 10); h 19 test/correctness/autotune_bug_4.cpp Func f("f"), g("g"), h("h"); h 24 test/correctness/autotune_bug_4.cpp h(x) = g(x) + g(x+1); h 29 test/correctness/autotune_bug_4.cpp h.split(x, xo, xi, 6); h 30 test/correctness/autotune_bug_4.cpp f.compute_at(h, xo); h 31 test/correctness/autotune_bug_4.cpp g.compute_at(h, xo); h 37 test/correctness/autotune_bug_4.cpp h.set_custom_trace(&my_trace); h 38 test/correctness/autotune_bug_4.cpp h.bound(x, 0, 6); h 39 test/correctness/autotune_bug_4.cpp h.realize(6); h 8 test/correctness/bound.cpp Func f, g, h; h 10 test/correctness/bounds.cpp Func f("f"), g("g"), h("h"); h 16 test/correctness/bounds.cpp h(x, y) = clamp(x+y, 20, 100); h 25 test/correctness/bounds.cpp h.gpu_tile(x, y, xo, yo, xi, yi, 8, 8); h 29 test/correctness/bounds.cpp h.hexagon().vectorize(x, 32); h 36 test/correctness/bounds.cpp Buffer<int> imh = h.realize(32, 32, target); h 7 test/correctness/bounds_inference.cpp Func f("f"), g("g"), h("h"); h 10 test/correctness/bounds_inference.cpp h(x) = x; h 11 test/correctness/bounds_inference.cpp g(x) = h(x-1) + h(x+1); h 14 test/correctness/bounds_inference.cpp h.compute_root(); h 22 test/correctness/bounds_inference.cpp h.gpu_tile(x, xo, xi, 128); h 26 test/correctness/bounds_inference.cpp h.hexagon().vectorize(x, 32); h 8 test/correctness/bounds_inference_chunk.cpp Func f, g, h; Var x, y; h 10 test/correctness/bounds_inference_chunk.cpp h(x, y) = x + y; h 11 test/correctness/bounds_inference_chunk.cpp g(x, y) = (h(x-1, y-1) + h(x+1, y+1))/2; h 14 test/correctness/bounds_inference_chunk.cpp h.compute_root(); h 53 test/correctness/bounds_of_func.cpp Func f, g, h; h 61 test/correctness/bounds_of_func.cpp h(x) = in(g(g(g(x)))); h 64 test/correctness/bounds_of_func.cpp h.infer_input_bounds(output); h 88 test/correctness/bounds_of_func.cpp Func h; h 89 test/correctness/bounds_of_func.cpp h(x) = in(fs[19](x)[0] + fs[19](x)[1]); h 92 test/correctness/bounds_of_func.cpp h.infer_input_bounds(output); h 35 test/correctness/compile_to.cpp Func f, g, h, j; h 39 test/correctness/compile_to.cpp h(x, y) = f(x, y) + g(x, y); h 40 test/correctness/compile_to.cpp j(x, y) = h(x, y) * 2; h 44 test/correctness/compile_to.cpp h.compute_root(); h 9 test/correctness/compile_to_bitcode.cpp Func f, g, h, j; h 13 test/correctness/compile_to_bitcode.cpp h(x, y) = f(x, y) + g(x, y); h 14 test/correctness/compile_to_bitcode.cpp j(x, y) = h(x, y) * 2; h 18 test/correctness/compile_to_bitcode.cpp h.compute_root(); h 10 test/correctness/compile_to_lowered_stmt.cpp Func f, g, h, j; h 14 test/correctness/compile_to_lowered_stmt.cpp h(x, y) = f(x, y) + g(x, y); h 15 test/correctness/compile_to_lowered_stmt.cpp j(x, y) = h(x, y) * 2; h 19 test/correctness/compile_to_lowered_stmt.cpp h.compute_root(); h 32 test/correctness/compile_to_multitarget.cpp Func f, g, h, j; h 36 test/correctness/compile_to_multitarget.cpp h(x, y) = f(x, y) + g(x, y); h 37 test/correctness/compile_to_multitarget.cpp j(x, y) = h(x, y) * 2 * factor; h 41 test/correctness/compile_to_multitarget.cpp h.compute_root(); h 57 test/correctness/constraints.cpp Func h; h 58 test/correctness/constraints.cpp h(x, y) = x*y; h 59 test/correctness/constraints.cpp h.set_error_handler(my_error_handler); h 60 test/correctness/constraints.cpp h.output_buffer() h 63 test/correctness/constraints.cpp .set_bounds(0, ((h.output_buffer().dim(0).extent())/8)*8) h 67 test/correctness/constraints.cpp h.realize(image1); h 73 test/correctness/constraints.cpp h.compile_to_assembly(assembly_file, {image1}, "h"); h 19 test/correctness/debug_to_file.cpp Func f, g, h, j; h 23 test/correctness/debug_to_file.cpp h(x, y) = f(x, y) + g(x, y); h 30 test/correctness/debug_to_file.cpp h.compute_root().gpu_tile(x, y, xi, yi, 1, 1).debug_to_file(h_tmp); h 34 test/correctness/debug_to_file.cpp h.compute_root().debug_to_file(h_tmp); h 37 test/correctness/debug_to_file.cpp Buffer<float> im = h.realize(10, 10, target); h 46 test/correctness/debug_to_file.cpp FILE *h = fopen(h_tmp.c_str(), "rb"); h 47 test/correctness/debug_to_file.cpp assert(f && g && h); h 91 test/correctness/debug_to_file.cpp assert(fread((void *)(&header[0]), 4, 5, h) == 5); h 99 test/correctness/debug_to_file.cpp assert(fread((void *)(&h_data[0]), 4, 10*10, h) == 10*10); h 110 test/correctness/debug_to_file.cpp fclose(h); h 21 test/correctness/debug_to_file_multiple_outputs.cpp Func f, g, h, j; h 25 test/correctness/debug_to_file_multiple_outputs.cpp h(x, y) = f(x, y) + g(x, y); h 29 test/correctness/debug_to_file_multiple_outputs.cpp h.compute_root().debug_to_file(h_tmp); h 31 test/correctness/debug_to_file_multiple_outputs.cpp Pipeline p({f, g, h}); h 45 test/correctness/debug_to_file_multiple_outputs.cpp FILE *h = fopen(h_tmp.c_str(), "rb"); h 46 test/correctness/debug_to_file_multiple_outputs.cpp assert(f && g && h); h 90 test/correctness/debug_to_file_multiple_outputs.cpp assert(fread((void *)(&header[0]), 4, 5, h) == 5); h 98 test/correctness/debug_to_file_multiple_outputs.cpp assert(fread((void *)(&h_data[0]), 4, size_x*size_y, h) == size_x*size_y); h 109 test/correctness/debug_to_file_multiple_outputs.cpp fclose(h); h 21 test/correctness/debug_to_file_reorder.cpp Func f, g, h, j; h 25 test/correctness/debug_to_file_reorder.cpp h(x, y) = f(x, y) + g(x, y); h 32 test/correctness/debug_to_file_reorder.cpp h.compute_root().gpu_tile(x, y, xi, yi, 1, 1).debug_to_file(h_tmp); h 36 test/correctness/debug_to_file_reorder.cpp h.compute_root().debug_to_file(h_tmp); h 39 test/correctness/debug_to_file_reorder.cpp Buffer<float> im = h.realize(size_x, size_y, target); h 48 test/correctness/debug_to_file_reorder.cpp FILE *h = fopen(h_tmp.c_str(), "rb"); h 49 test/correctness/debug_to_file_reorder.cpp assert(f && g && h); h 93 test/correctness/debug_to_file_reorder.cpp assert(fread((void *)(&header[0]), 4, 5, h) == 5); h 101 test/correctness/debug_to_file_reorder.cpp assert(fread((void *)(&h_data[0]), 4, size_x*size_y, h) == size_x*size_y); h 112 test/correctness/debug_to_file_reorder.cpp fclose(h); h 29 test/correctness/extern_bounds_inference.cpp void check(ImageParam im, int x, int w, int y, int h) { h 36 test/correctness/extern_bounds_inference.cpp buf.min(1) != y || buf.extent(1) != h) { h 41 test/correctness/extern_bounds_inference.cpp x, w, y, h); h 46 test/correctness/extern_output_expansion.cpp Func f, g, h; h 52 test/correctness/extern_output_expansion.cpp h(x) = g(x) * 2; h 56 test/correctness/extern_output_expansion.cpp h.split(x, xo, x, 10); h 59 test/correctness/extern_output_expansion.cpp g.compute_at(h, xo); h 64 test/correctness/extern_output_expansion.cpp Buffer<int32_t> result = h.realize(100); h 70 test/correctness/extern_stage.cpp Func f, g, h; h 87 test/correctness/extern_stage.cpp h(x) = g(x) * 2; h 89 test/correctness/extern_stage.cpp f.compute_at(h, x); h 90 test/correctness/extern_stage.cpp g.compute_at(h, x); h 92 test/correctness/extern_stage.cpp h.vectorize(x, 8).unroll(x, 2).split(x, x, xi, 4).parallel(x); h 94 test/correctness/extern_stage.cpp Buffer<uint8_t> result = h.realize(100); h 21 test/correctness/gameoflife.cpp Expr w = input.width(), h = input.height(); h 22 test/correctness/gameoflife.cpp Expr W = (x+w-1) % w, E = (x+1) % w, N = (y+h-1) % h, S = (y+1) % h; h 97 test/correctness/gameoflife.cpp Expr w = input.width(), h = input.height(); h 98 test/correctness/gameoflife.cpp RDom t(0, w, 0, h, 0, 21); h 100 test/correctness/gameoflife.cpp Expr W = (t.x+w-1) % w, E = (t.x+1) % w, N = (t.y+h-1) % h, S = (t.y+1) % h; h 16 test/correctness/gpu_cpu_simultaneous_read.cpp Func f, g, h; h 24 test/correctness/gpu_cpu_simultaneous_read.cpp h(x, y) = select(table(0) == 0, f(x, y), g(x, y)); h 28 test/correctness/gpu_cpu_simultaneous_read.cpp h.compute_root().gpu_tile(x, y, xi, yi, 8, 8); h 34 test/correctness/gpu_cpu_simultaneous_read.cpp Buffer<int32_t> result1 = h.realize(20, 20); h 37 test/correctness/gpu_cpu_simultaneous_read.cpp Buffer<int32_t> result2 = h.realize(20, 20); h 13 test/correctness/gpu_mixed_dimensionality.cpp Func f("f"), g("g"), h("h"), out("out"); h 20 test/correctness/gpu_mixed_dimensionality.cpp h(x, y, z) = g(x, y, z); h 21 test/correctness/gpu_mixed_dimensionality.cpp h(x, y, z) += 1; h 22 test/correctness/gpu_mixed_dimensionality.cpp out(x, y, z) = h(x, y, z); h 28 test/correctness/gpu_mixed_dimensionality.cpp h.compute_at(out, x).gpu_threads(x, y); h 29 test/correctness/gpu_mixed_dimensionality.cpp h.update().gpu_threads(x); h 30 test/correctness/gpu_mixed_dimensionality.cpp g.compute_at(h, y).gpu_threads(x); h 30 test/correctness/gpu_object_lifetime_2.cpp Func f, g, h; h 33 test/correctness/gpu_object_lifetime_2.cpp h(x) = g(x); h 43 test/correctness/gpu_object_lifetime_2.cpp h.set_custom_print(halide_print); h 45 test/correctness/gpu_object_lifetime_2.cpp h.realize(256, target); h 13 test/correctness/gpu_specialize.cpp Func f("f"), g("g"), h("h"); h 20 test/correctness/gpu_specialize.cpp h(x, y) = g(x+1, y-1) + g(x-1, y+1) + y; h 28 test/correctness/gpu_specialize.cpp h.compute_root().specialize(use_gpu).gpu_tile(x, y, xi, yi, 4, 4); h 29 test/correctness/gpu_specialize.cpp h.tile(x, y, xo, yo, xi, yi, 8, 8).fuse(xo, yo, t).parallel(t); h 35 test/correctness/gpu_specialize.cpp h.specialize(use_gpu).split(x, x, t, 1).serial(t); h 38 test/correctness/gpu_specialize.cpp g.compute_at(h, t); h 50 test/correctness/gpu_specialize.cpp Buffer<int> out1 = h.realize(1024, 1024); h 52 test/correctness/gpu_specialize.cpp Buffer<int> out2 = h.realize(1024, 1024); h 73 test/correctness/gpu_specialize.cpp Func f("f"), g("g"), h("h"); h 10 test/correctness/gpu_vectorized_shared_memory.cpp Func f, g, h; h 17 test/correctness/gpu_vectorized_shared_memory.cpp h(x) = g(x-1) + g(x+1); h 22 test/correctness/gpu_vectorized_shared_memory.cpp h.split(x, xo, xi, 16).vectorize(xi, 4).gpu_threads(xi).gpu_blocks(xo); h 23 test/correctness/gpu_vectorized_shared_memory.cpp g.compute_at(h, xo); h 27 test/correctness/gpu_vectorized_shared_memory.cpp Buffer<int> out = h.realize(512); h 47 test/correctness/handle.cpp Func f, g, h; h 53 test/correctness/handle.cpp h(x) = g(x); h 55 test/correctness/handle.cpp Buffer<char *> im = h.realize(100); h 31 test/correctness/heap_cleanup.cpp Func f, g, h; h 41 test/correctness/heap_cleanup.cpp h(x) = g(x)+1; h 47 test/correctness/heap_cleanup.cpp h.set_custom_allocator(my_malloc, my_free); h 48 test/correctness/heap_cleanup.cpp h.set_error_handler(my_error_handler); h 50 test/correctness/heap_cleanup.cpp Buffer<int> im = h.realize(g_size+100); h 49 test/correctness/image_wrap.cpp Func e("e"), f("f"), g("g"), h("h"); h 53 test/correctness/image_wrap.cpp h(x, y) = img(x, y); h 193 test/correctness/image_wrap.cpp Func source("source"), g("g"), h("h"), i("i"); h 202 test/correctness/image_wrap.cpp h(x, y) = g(x, y) + img(x, y); h 208 test/correctness/image_wrap.cpp h.compute_root().tile(x, y, xi, yi, 16, 16).fuse(x, y, t).parallel(t); h 209 test/correctness/image_wrap.cpp g.compute_at(h, yi); h 210 test/correctness/image_wrap.cpp wrapper.compute_at(h, yi).tile(_0, _1, xi, yi, 8, 8).fuse(xi, yi, t).vectorize(t, 4); h 215 test/correctness/image_wrap.cpp Module m = h.compile_to_module({h.infer_arguments()}); h 220 test/correctness/image_wrap.cpp {h.name(), {g.name(), wrapper.name()}}, h 229 test/correctness/image_wrap.cpp Buffer<int> im = h.realize(200, 200); h 415 test/correctness/image_wrap.cpp Func source("sourceo"), f("f"), g("g"), h("h"); h 425 test/correctness/image_wrap.cpp h(x, y) = g(x, y); h 433 test/correctness/image_wrap.cpp Func g_in_h = g.in(h).compute_root(); h 434 test/correctness/image_wrap.cpp g_in_h.compute_at(h, y).vectorize(x, 8); h 440 test/correctness/image_wrap.cpp Module m = h.compile_to_module({h.infer_arguments()}); h 445 test/correctness/image_wrap.cpp {h.name(), {g_in_h.name()}}, h 456 test/correctness/image_wrap.cpp Buffer<int> im = h.realize(200, 200); h 465 test/correctness/image_wrap.cpp Func source("source"), g("g"), h("h"); h 476 test/correctness/image_wrap.cpp h(x, y) = g(x, y) + img(x, y) + img_in_img_in_g(x, y); h 481 test/correctness/image_wrap.cpp Func img_in_h = img.in(h).compute_root(); h 482 test/correctness/image_wrap.cpp Func g_in_h = g.in(h).compute_root(); h 485 test/correctness/image_wrap.cpp Module m = h.compile_to_module({h.infer_arguments()}); h 490 test/correctness/image_wrap.cpp {h.name(), {img_in_h.name(), g_in_h.name(), img_in_img_in_g.name()}}, h 502 test/correctness/image_wrap.cpp Buffer<int> im = h.realize(200, 200); h 511 test/correctness/image_wrap.cpp Func source("source"), g("g"), h("h"); h 520 test/correctness/image_wrap.cpp h(x, y) = 5; h 523 test/correctness/image_wrap.cpp r.where(img(r.x, r.y) + h(r.x, r.y) < 50); h 524 test/correctness/image_wrap.cpp g(r.x, r.y) += h(r.x, r.y); h 526 test/correctness/image_wrap.cpp Func h_wrapper = h.in().store_root().compute_at(g, r.y); h 530 test/correctness/image_wrap.cpp h.compute_root(); h 544 test/correctness/image_wrap.cpp {h_wrapper.name(), {h.name()}}, h 545 test/correctness/image_wrap.cpp {h.name(), {}}, h 605 test/correctness/image_wrap.cpp Func source("source"), img_in_g_in_g, img_in_g, img_in_g_in_g_in_h, img_in_g_in_g_in_h_in_h, g("g"), h("h"); h 624 test/correctness/image_wrap.cpp h(x, y) = img_in_g_in_g(y, x); h 625 test/correctness/image_wrap.cpp img_in_g_in_g_in_h = img_in_g_in_g.in(h).compute_at(h, x).vectorize(_0).unroll(_1); h 626 test/correctness/image_wrap.cpp img_in_g_in_g_in_h_in_h = img_in_g_in_g_in_h.in(h).compute_at(h, x).unroll(_0).unroll(_1); h 627 test/correctness/image_wrap.cpp h.compute_root().tile(x, y, xi, yi, 8, 8); h 654 test/correctness/image_wrap.cpp Module m = h.compile_to_module({h.infer_arguments()}); h 659 test/correctness/image_wrap.cpp {h.name(), {img_in_g_in_g_in_h_in_h.name()}}, h 670 test/correctness/image_wrap.cpp Buffer<int> im = h.realize(1024, 1024); h 32 test/correctness/implicit_args_tests.cpp Func f("f"), h("h"); h 34 test/correctness/implicit_args_tests.cpp h(x, y) = x + y; h 35 test/correctness/implicit_args_tests.cpp h.compute_root(); h 37 test/correctness/implicit_args_tests.cpp f(x, _) = h(_) + 2; // This means f(x, _0, _1) = h(_0, _1) + 2 h 50 test/correctness/implicit_args_tests.cpp Func f("f"), g("g"), h("h"); h 52 test/correctness/implicit_args_tests.cpp h(x, y) = x + y; h 53 test/correctness/implicit_args_tests.cpp h.compute_root(); h 59 test/correctness/implicit_args_tests.cpp g(x, _) = h(_) + 1; // This means g(x, _0, _1) = h(_0, _1) + 1 h 73 test/correctness/implicit_args_tests.cpp Func f("f"), g("g"), h("h"); h 75 test/correctness/implicit_args_tests.cpp h(x, y) = x + y; h 76 test/correctness/implicit_args_tests.cpp h.compute_root(); h 81 test/correctness/implicit_args_tests.cpp f(x, _) = h(_) + 3; // This means f(x, _0, _1) = h(_0, _1) + 3 h 82 test/correctness/implicit_args_tests.cpp f(x, _) += h(_)*g(_); // This means f(x, _0, _1) += h(_0, _1) * g(_0) h 95 test/correctness/implicit_args_tests.cpp Func f("f"), h("h"); h 97 test/correctness/implicit_args_tests.cpp h(x, y) = x + y; h 98 test/correctness/implicit_args_tests.cpp h.compute_root(); h 103 test/correctness/implicit_args_tests.cpp f(x, _) += h(_) + 2; h 116 test/correctness/implicit_args_tests.cpp Func f("f"), g("g"), h("h"); h 118 test/correctness/implicit_args_tests.cpp h(x, y) = x + y; h 119 test/correctness/implicit_args_tests.cpp h.compute_root(); h 127 test/correctness/implicit_args_tests.cpp f(_) += h(_)*g(_) + 3; h 140 test/correctness/implicit_args_tests.cpp Func f("f"), h("h"); h 142 test/correctness/implicit_args_tests.cpp h(x, y) = x + y; h 143 test/correctness/implicit_args_tests.cpp h.compute_root(); h 146 test/correctness/implicit_args_tests.cpp f(x, _) = Tuple(h(_) + 2, x + 2); h 162 test/correctness/implicit_args_tests.cpp Func f("f"), g("g"), h("h"); h 164 test/correctness/implicit_args_tests.cpp h(x, y) = x + y; h 165 test/correctness/implicit_args_tests.cpp h.compute_root(); h 172 test/correctness/implicit_args_tests.cpp g(x, _) = Tuple(h(_) + 1); h 187 test/correctness/implicit_args_tests.cpp Func f("f"), h("h"); h 189 test/correctness/implicit_args_tests.cpp h(x, y) = x + y; h 190 test/correctness/implicit_args_tests.cpp h.compute_root(); h 195 test/correctness/implicit_args_tests.cpp f(x, _) *= Tuple(h(_) + 2, h(_) * 3); h 211 test/correctness/implicit_args_tests.cpp Func f("f"), g("g"), h("h"); h 213 test/correctness/implicit_args_tests.cpp h(x, y) = Tuple(x + y, x - y); h 214 test/correctness/implicit_args_tests.cpp h.compute_root(); h 220 test/correctness/implicit_args_tests.cpp f(x, _) = Tuple(h(_)[0] + 3, h(_)[1] + 4); h 222 test/correctness/implicit_args_tests.cpp f(x, _) += Tuple(h(_)[0]*g(_)[0], h(_)[1]*g(_)[1]); h 238 test/correctness/implicit_args_tests.cpp Func f("f"), g("g"), h("h"); h 240 test/correctness/implicit_args_tests.cpp h(x, y) = Tuple(x + y, x - y); h 241 test/correctness/implicit_args_tests.cpp h.compute_root(); h 249 test/correctness/implicit_args_tests.cpp f(_) += Tuple(h(_)[0]*g(_)[0] + 3, h(_)[1]*g(_)[1] + 4); h 58 test/correctness/in_place.cpp Func h; h 59 test/correctness/in_place.cpp h(x) = select(x % 2 == 0, 1.0f, undef<float>()); h 60 test/correctness/in_place.cpp h.vectorize(x, 4); h 61 test/correctness/in_place.cpp h.realize(data); h 41 test/correctness/input_image_bounds_check.cpp Func g, h; h 43 test/correctness/input_image_bounds_check.cpp h(x) = g(x); h 46 test/correctness/input_image_bounds_check.cpp h.set_error_handler(&halide_error); h 47 test/correctness/input_image_bounds_check.cpp h.realize(18); h 89 test/correctness/interleave.cpp Func f, g, h; h 102 test/correctness/interleave.cpp define(h(x), h_def); h 106 test/correctness/interleave.cpp h.vectorize(x, 8); h 108 test/correctness/interleave.cpp check_interleave_count(h, 1); h 110 test/correctness/interleave.cpp Realization results = h.realize(16); h 16 test/correctness/isnan.cpp int h = 16; h 17 test/correctness/isnan.cpp Buffer<float> im = f.realize(w, h); h 19 test/correctness/isnan.cpp for (int y = 0; y < h; y++) { h 31 test/correctness/lambda.cpp Func h; h 32 test/correctness/lambda.cpp h(x, y, z) = x+y*y+z*z*z; // Ordering of arguments affects results h 34 test/correctness/lambda.cpp Buffer<int32_t> im2 = lambda(_, z, h(_, z)).realize(10, 10, 10); h 120 test/correctness/likely.cpp Func h = BoundaryConditions::mirror_image(g, 0, 10, 0, 10); h 121 test/correctness/likely.cpp count_partitions(h, 5); h 132 test/correctness/likely.cpp Func h; h 134 test/correctness/likely.cpp h(x) = g(x-1) + g(x+1); h 135 test/correctness/likely.cpp h.vectorize(x, 8); h 136 test/correctness/likely.cpp count_partitions(h, 3); h 65 test/correctness/lots_of_dimensions.cpp Func f, g, h; h 69 test/correctness/lots_of_dimensions.cpp h(_) = g(_) - 1; h 75 test/correctness/lots_of_dimensions.cpp h.realize(out); h 52 test/correctness/many_small_extern_stages.cpp Func f, g, h; h 61 test/correctness/many_small_extern_stages.cpp h(x, y) += r * (g(x, y) - f(x, y)); h 63 test/correctness/many_small_extern_stages.cpp f.compute_at(h, y); h 64 test/correctness/many_small_extern_stages.cpp g.compute_at(h, y).store_root(); h 66 test/correctness/many_small_extern_stages.cpp Buffer<int> result = h.realize(10, 10); h 298 test/correctness/memoize.cpp Func f, g, h; h 303 test/correctness/memoize.cpp h(x) = g(4) + g(index); h 306 test/correctness/memoize.cpp g.vectorize(x, 8).compute_at(h, x); h 310 test/correctness/memoize.cpp Buffer<uint8_t> out1 = h.realize(1); h 316 test/correctness/memoize.cpp out1 = h.realize(1); h 137 test/correctness/multiple_outputs.cpp Func f, g, h; h 141 test/correctness/multiple_outputs.cpp h(x) = {f(x) + 17, f(x) - 17}; h 142 test/correctness/multiple_outputs.cpp g(x, y) = {f(x + y) * 2, h(x)[0] * y, h(x)[1] - 2}; h 150 test/correctness/multiple_outputs.cpp Pipeline({h, g, f}).realize({h_im0, h_im1, g_im0, g_im1, g_im2, f_im}); h 18 test/correctness/partial_application.cpp Func h; h 19 test/correctness/partial_application.cpp h(_) = (g(_) + f(_))*6.0f; h 23 test/correctness/partial_application.cpp Buffer<float> im = h.realize(4, 4); h 25 test/correctness/partition_loops.cpp Func f("f"), g("g"), h("h"); h 28 test/correctness/partition_loops.cpp h(x, y) = clamped_input(x + g(x, y, 0), y, 2); h 29 test/correctness/partition_loops.cpp f(x, y, c) = select(h(x, y) < x + y, x + y, y + c); h 221 test/correctness/reduction_non_rectangular.cpp Func h("h_" + std::to_string(index)); h 225 test/correctness/reduction_non_rectangular.cpp h(x) = 2*x; h 230 test/correctness/reduction_non_rectangular.cpp r.where(r.x < g(r.y) + h(r.x)); h 710 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index)), h("h_" + std::to_string(index)); h 715 test/correctness/reduction_non_rectangular.cpp h(x, y) = 10; h 724 test/correctness/reduction_non_rectangular.cpp f(r2.x, r2.y) += h(r2.x, r2.y) + g(r2.x, r2.y); h 729 test/correctness/reduction_non_rectangular.cpp h.compute_root(); h 731 test/correctness/reduction_non_rectangular.cpp h.gpu_tile(x, y, xi, yi, 8, 8); h 785 test/correctness/reduction_non_rectangular.cpp Expr h = (f.output_buffer().height()/2)*2; h 787 test/correctness/reduction_non_rectangular.cpp RDom r(1, w - 2, 1, h - 2); h 7 test/correctness/reuse_stack_alloc.cpp Func f, g, h, k; h 19 test/correctness/reuse_stack_alloc.cpp h(x) = undef<int>(); h 20 test/correctness/reuse_stack_alloc.cpp h(x) += g(x); h 21 test/correctness/reuse_stack_alloc.cpp h.compute_root(); h 23 test/correctness/reuse_stack_alloc.cpp k(x) = h(x); h 50 test/correctness/sliding_window.cpp Func f, g, h; h 53 test/correctness/sliding_window.cpp h(x) = g(x); h 56 test/correctness/sliding_window.cpp g.compute_at(h, x); h 58 test/correctness/sliding_window.cpp Buffer<int> im = h.realize(100); h 68 test/correctness/sliding_window.cpp Func f, g, h; h 72 test/correctness/sliding_window.cpp h(x, c) = g(x, c); h 75 test/correctness/sliding_window.cpp .compute_at(h, x) h 81 test/correctness/sliding_window.cpp g.compute_at(h, x); h 83 test/correctness/sliding_window.cpp h.reorder(c, x).reorder_storage(c, x).bound(c, 0, 4).vectorize(c); h 85 test/correctness/sliding_window.cpp Buffer<int> im = h.realize(100, 4); h 365 test/correctness/specialize.cpp Func f, g, h, out; h 369 test/correctness/specialize.cpp h(x) = g(x); h 370 test/correctness/specialize.cpp out(x) = h(x); h 377 test/correctness/specialize.cpp h.compute_root().vectorize(x, 4); h 469 test/correctness/specialize.cpp int h = im.get().height(); h 470 test/correctness/specialize.cpp if (w != 10 || h != 1) { h 471 test/correctness/specialize.cpp printf("Incorrect inferred size: %d %d\n", w, h); h 479 test/correctness/specialize.cpp h = im.get().height(); h 480 test/correctness/specialize.cpp if (w != 1 || h != 10) { h 481 test/correctness/specialize.cpp printf("Incorrect inferred size: %d %d\n", w, h); h 503 test/correctness/specialize.cpp int h = im.get().height(); h 504 test/correctness/specialize.cpp if (w != 10 || h != 1) { h 505 test/correctness/specialize.cpp printf("Incorrect inferred size: %d %d\n", w, h); h 518 test/correctness/specialize.cpp h = im.get().height(); h 519 test/correctness/specialize.cpp if (w != 10 || h != 10) { h 520 test/correctness/specialize.cpp printf("Incorrect inferred size: %d %d\n", w, h); h 13 test/correctness/specialize_to_gpu.cpp Func f, g, h; h 19 test/correctness/specialize_to_gpu.cpp h(x) = g(x) - 7; h 25 test/correctness/specialize_to_gpu.cpp h.compute_root().specialize(gpu_h).gpu_tile(x, x, xi, 16); h 35 test/correctness/specialize_to_gpu.cpp h.realize(reference); h 42 test/correctness/specialize_to_gpu.cpp h.realize(out); h 51 test/correctness/split_by_non_factor.cpp Func f, g, h; h 53 test/correctness/split_by_non_factor.cpp h(x) = x*7; h 55 test/correctness/split_by_non_factor.cpp f(x) += g(x) + h(x); h 59 test/correctness/split_by_non_factor.cpp h.compute_at(f, xi); h 9 test/correctness/split_store_compute.cpp Func f("f"), g("g"), h("h"); h 15 test/correctness/split_store_compute.cpp h(x, y) = (g(x, y-1) + g(x-1, y) + g(x, y) + g(x+1, y) + g(x, y+1)); h 18 test/correctness/split_store_compute.cpp g.compute_at(h, y); h 21 test/correctness/split_store_compute.cpp Buffer<int> imh = h.realize(32, 32); h 20 test/correctness/stack_allocations.cpp Func f, g, h; h 25 test/correctness/stack_allocations.cpp h(x, y) = g(x+1, y+1) + g(x-1, y-1); h 27 test/correctness/stack_allocations.cpp f.compute_at(h, x); h 28 test/correctness/stack_allocations.cpp g.compute_at(h, x); h 30 test/correctness/stack_allocations.cpp h.tile(x, y, xi, yi, 4, 3).vectorize(xi); h 33 test/correctness/stack_allocations.cpp h.set_custom_allocator(&my_malloc, &my_free); h 35 test/correctness/stack_allocations.cpp h.realize(10, 10); h 48 test/correctness/stencil_chain_in_update_definitions.cpp Func h; h 49 test/correctness/stencil_chain_in_update_definitions.cpp h(x) = g(x, x); h 72 test/correctness/stencil_chain_in_update_definitions.cpp h.set_custom_trace(&my_trace); h 73 test/correctness/stencil_chain_in_update_definitions.cpp h.realize(output_extent); h 73 test/correctness/tracing_stack.cpp Func f("f"), g("g"), h("h"); h 82 test/correctness/tracing_stack.cpp h(x, y) = g(x, y) + input(x, y); h 83 test/correctness/tracing_stack.cpp h.trace_realizations(); h 85 test/correctness/tracing_stack.cpp h.set_custom_trace(&my_trace); h 86 test/correctness/tracing_stack.cpp h.realize(100, 100); h 18 test/correctness/uninitialized_read.cpp Func f("f"), g("g"), h("h"); h 32 test/correctness/uninitialized_read.cpp h(x) = g(x) + 2; h 33 test/correctness/uninitialized_read.cpp h.output_buffer().dim(0).set_bounds(0, 1); h 36 test/correctness/uninitialized_read.cpp h.set_custom_trace(&my_trace); h 37 test/correctness/uninitialized_read.cpp h.realize(1); h 8 test/correctness/vector_bounds_inference.cpp Func f("f"), g("g"), h("h"); h 11 test/correctness/vector_bounds_inference.cpp h(x) = x; h 12 test/correctness/vector_bounds_inference.cpp g(x) = h(x-1) + h(x+1); h 15 test/correctness/vector_bounds_inference.cpp h.compute_root().vectorize(x, 4); h 36 test/correctness/vectorized_reduction_bug.cpp Func f("f"), g("g"), h("h"); h 39 test/correctness/vectorized_reduction_bug.cpp h(x, y) = x + y; h 40 test/correctness/vectorized_reduction_bug.cpp h.compute_root(); h 43 test/correctness/vectorized_reduction_bug.cpp g(x, 0) = sum(h(x, RDom(0, 120))); h 48 test/correctness/wrap.cpp Func d("d"), e("e"), f("f"), g("g"), h("h"); h 53 test/correctness/wrap.cpp h(x, y) = d(x, y); h 183 test/correctness/wrap.cpp Func f("f"), g("g"), h("h"), i("i"); h 188 test/correctness/wrap.cpp h(x, y) = g(x, y) + f(x, y); h 193 test/correctness/wrap.cpp h.compute_root().tile(x, y, xi, yi, 16, 16).fuse(x, y, t).parallel(t); h 194 test/correctness/wrap.cpp g.compute_at(h, yi); h 195 test/correctness/wrap.cpp wrapper.compute_at(h, yi).tile(x, y, xi, yi, 8, 8).fuse(xi, yi, t).vectorize(t, 4); h 200 test/correctness/wrap.cpp Module m = h.compile_to_module({}); h 205 test/correctness/wrap.cpp {h.name(), {g.name(), wrapper.name()}}, h 214 test/correctness/wrap.cpp Buffer<int> im = h.realize(200, 200); h 385 test/correctness/wrap.cpp Func e("e"), f("f"), g("g"), h("h"); h 391 test/correctness/wrap.cpp h(x, y) = g(x, y); h 398 test/correctness/wrap.cpp Func g_in_h = g.in(h).compute_root(); h 399 test/correctness/wrap.cpp g_in_h.compute_at(h, y).vectorize(x, 8); h 405 test/correctness/wrap.cpp Module m = h.compile_to_module({}); h 410 test/correctness/wrap.cpp {h.name(), {g_in_h.name()}}, h 421 test/correctness/wrap.cpp Buffer<int> im = h.realize(200, 200); h 430 test/correctness/wrap.cpp Func e("e"), f("f"), g("g"), h("h"); h 438 test/correctness/wrap.cpp h(x, y) = g(x, y) + f(x, y) + f_in_f_in_g(x, y); h 443 test/correctness/wrap.cpp Func f_in_h = f.in(h).compute_root(); h 444 test/correctness/wrap.cpp Func g_in_h = g.in(h).compute_root(); h 447 test/correctness/wrap.cpp Module m = h.compile_to_module({}); h 452 test/correctness/wrap.cpp {h.name(), {f_in_h.name(), g_in_h.name(), f_in_f_in_g.name()}}, h 465 test/correctness/wrap.cpp Buffer<int> im = h.realize(200, 200); h 474 test/correctness/wrap.cpp Func f("f"), g("g"), h("h"); h 479 test/correctness/wrap.cpp h(x, y) = 5; h 482 test/correctness/wrap.cpp r.where(f(r.x, r.y) + h(r.x, r.y) < 50); h 483 test/correctness/wrap.cpp g(r.x, r.y) += h(r.x, r.y); h 485 test/correctness/wrap.cpp Func h_wrapper = h.in().store_root().compute_at(g, r.y); h 488 test/correctness/wrap.cpp h.compute_root(); h 501 test/correctness/wrap.cpp {h_wrapper.name(), {h.name()}}, h 502 test/correctness/wrap.cpp {h.name(), {}}, h 557 test/correctness/wrap.cpp Func f("f"), f_in_g_in_g, f_in_g, f_in_g_in_g_in_h, f_in_g_in_g_in_h_in_h, g("g"), h("h"); h 571 test/correctness/wrap.cpp h(x, y) = f_in_g_in_g(y, x); h 572 test/correctness/wrap.cpp f_in_g_in_g_in_h = f_in_g_in_g.in(h).compute_at(h, x).vectorize(x).unroll(y); h 573 test/correctness/wrap.cpp f_in_g_in_g_in_h_in_h = f_in_g_in_g_in_h.in(h).compute_at(h, x).unroll(x).unroll(y); h 574 test/correctness/wrap.cpp h.compute_root().tile(x, y, xi, yi, 8, 8); h 601 test/correctness/wrap.cpp Module m = h.compile_to_module({}); h 606 test/correctness/wrap.cpp {h.name(), {f_in_g_in_g_in_h_in_h.name()}}, h 617 test/correctness/wrap.cpp Buffer<int> im = h.realize(1024, 1024); h 7 test/error/bad_compute_at.cpp Func f("f"), g("g"), h("h"), junk1, junk2, junk3; h 15 test/error/bad_compute_at.cpp h(x, y) = g(x) + f(x) + junk1(x) + junk2(x) + junk3(x, y); h 17 test/error/bad_compute_at.cpp g.compute_at(h, y); h 20 test/error/bad_compute_at.cpp junk1.compute_at(h, y); h 21 test/error/bad_compute_at.cpp junk2.compute_at(h, x); h 25 test/error/bad_compute_at.cpp f.compute_at(h, x); h 27 test/error/bad_compute_at.cpp h.realize(10); h 7 test/error/bad_store_at.cpp Func f("f"), g("g"), h("h"); h 12 test/error/bad_store_at.cpp h(x, y) = g(x); h 14 test/error/bad_store_at.cpp g.compute_at(h, y); h 17 test/error/bad_store_at.cpp f.store_at(h, y).compute_root(); h 19 test/error/bad_store_at.cpp h.realize(10, 10); h 9 test/error/implicit_args.cpp Func f("f"), g("g"), h("h"); h 14 test/error/implicit_args.cpp h(x, y, z) = x + y + z; h 15 test/error/implicit_args.cpp h.compute_root(); h 21 test/error/implicit_args.cpp f(x, _) += h(_) + 3; h 14 test/error/undefined_rdom_dimension.cpp Func f("f"), g("g"), h("h"); h 19 test/error/undefined_rdom_dimension.cpp h(x, y, c) = 88; h 21 test/error/undefined_rdom_dimension.cpp f(r.x, r.y, c) = f(r.x-1, r.y, c) + h(r.x, r.y, c); h 18 test/generator/blur2x2_aottest.cpp Buffer<float> buffer_factory_planar(int w, int h, int c) { h 19 test/generator/blur2x2_aottest.cpp return Buffer<float>(w, h, c); h 22 test/generator/blur2x2_aottest.cpp Buffer<float> buffer_factory_interleaved(int w, int h, int c) { h 23 test/generator/blur2x2_aottest.cpp return Buffer<float>::make_interleaved(w, h, c); h 26 test/generator/blur2x2_aottest.cpp void test(Buffer<float> (*factory)(int w, int h, int c)) { h 30 test/generator/cleanup_on_error_generator.cpp Func h; h 31 test/generator/cleanup_on_error_generator.cpp h(x) = g(x) + 1; h 33 test/generator/cleanup_on_error_generator.cpp return h; h 44 test/generator/mandelbrot_generator.cpp Param<int> h{"h"}; h 50 test/generator/mandelbrot_generator.cpp lerp(y_min, y_max, cast<float>(y) / h)); h 44 test/generator/memory_profiler_mandelbrot_generator.cpp Param<int> h{"h"}; h 52 test/generator/memory_profiler_mandelbrot_generator.cpp lerp(y_min, y_max, cast<float>(y) / h)); h 26 test/generator/metadata_tester_generator.cpp Input<void *> h{ "h", nullptr }; h 47 test/generator/tiled_blur_aottest.cpp Buffer<uint8_t> buffer_factory_planar(int w, int h, int c) { h 48 test/generator/tiled_blur_aottest.cpp return Buffer<uint8_t>(w, h, c); h 51 test/generator/tiled_blur_aottest.cpp Buffer<uint8_t> buffer_factory_interleaved(int w, int h, int c) { h 52 test/generator/tiled_blur_aottest.cpp return Buffer<uint8_t>::make_interleaved(w, h, c); h 55 test/generator/tiled_blur_aottest.cpp void test(Buffer<uint8_t> (*factory)(int w, int h, int c)) { h 19 test/opengl/copy_to_device.cpp Func g, h; h 20 test/opengl/copy_to_device.cpp h(x, y, c) = input(x, y, c); h 21 test/opengl/copy_to_device.cpp h.compute_root(); // force internal allocation of h h 24 test/opengl/copy_to_device.cpp g(x, y, c) = h(x, y, c); h 13 test/opengl/multiple_stages.cpp Func f, g, h; h 16 test/opengl/multiple_stages.cpp h(x, y, c) = 1 + g(x, y, c); h 17 test/opengl/multiple_stages.cpp f(x, y, c) = h(x, y, c) + cast<uint8_t>(y); h 19 test/opengl/multiple_stages.cpp h.bound(c, 0, 3).compute_root(); h 24 test/opengl/tuples.cpp Func h; h 25 test/opengl/tuples.cpp h(x, y, c) = min(g(x, y, c)[0], g(x, y, c)[1]); h 29 test/opengl/tuples.cpp h.compute_root().bound(c, 0, 3).glsl(x, y, c); h 31 test/opengl/tuples.cpp h.realize(out, target); h 11 test/performance/const_division.cpp Func f, g, h; h 49 test/performance/const_division.cpp h(x, y) = Halide::fast_integer_divide(input(x, y), cast<uint8_t>(y + min_val)); h 58 test/performance/const_division.cpp h(x, y) = Halide::fast_integer_modulo(input(x, y), cast<uint8_t>(y + min_val)); h 63 test/performance/const_division.cpp h.bound(x, 0, input.width()); h 66 test/performance/const_division.cpp h.vectorize(x); h 71 test/performance/const_division.cpp h.compile_jit(); h 79 test/performance/const_division.cpp Buffer<T> fast_dynamic = h.realize(input.width(), num_vals); h 80 test/performance/const_division.cpp double t_fast_dynamic = benchmark(5, 200, [&]() { h.realize(fast_dynamic); }); h 23 test/performance/fast_pow.cpp Func f, g, h; h 31 test/performance/fast_pow.cpp h(x, y) = sum(fast_pow((x+1)/512.0f, (y+1+s)/512.0f)); h 34 test/performance/fast_pow.cpp h.vectorize(x, 8); h 44 test/performance/fast_pow.cpp h.realize(faster_result); h 55 test/performance/fast_pow.cpp double t3 = 1e3 * benchmark(trials, iterations, [&]() { h.realize(timing_scratch); });