f 56 apps/c_backend/pipeline_cpp_generator.cpp Func f; f 80 apps/c_backend/pipeline_cpp_generator.cpp f(x, y) = cast<uint16_t>(add_all_the_things); f 82 apps/c_backend/pipeline_cpp_generator.cpp return f; f 14 apps/c_backend/pipeline_generator.cpp Func f, g, h; f 15 apps/c_backend/pipeline_generator.cpp f(x, y) = (input(clamp(x+2, 0, input.width()-1), clamp(y-2, 0, input.height()-1)) * 17)/13; f 16 apps/c_backend/pipeline_generator.cpp h.define_extern("an_extern_stage", {f}, Int(16), 0, NameMangling::C); f 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()); f 19 apps/c_backend/pipeline_generator.cpp f.compute_root(); f 97 apps/fft/complex.h inline ComplexExpr select(Halide::Expr c, ComplexExpr t, ComplexExpr f) { f 98 apps/fft/complex.h return ComplexExpr(Halide::select(c, re(t), re(f)), f 99 apps/fft/complex.h Halide::select(c, im(t), im(f))); f 103 apps/fft/complex.h ComplexExpr f) { f 104 apps/fft/complex.h return ComplexExpr(Halide::select(c1, re(t1), c2, re(t2), re(f)), f 105 apps/fft/complex.h Halide::select(c1, im(t1), c2, im(t2), im(f))); f 109 apps/fft/fft.cpp ComplexFunc dft2(ComplexFunc f, const string& prefix) { f 110 apps/fft/fft.cpp Type type = f.output_types()[0]; f 113 apps/fft/fft.cpp F(f.args()) = undef_z(type); f 115 apps/fft/fft.cpp vector<ComplexFuncRef> x = get_func_refs(f, 2); f 124 apps/fft/fft.cpp ComplexFunc dft4(ComplexFunc f, int sign, const string& prefix) { f 125 apps/fft/fft.cpp Type type = f.output_types()[0]; f 128 apps/fft/fft.cpp F(f.args()) = undef_z(type); f 130 apps/fft/fft.cpp vector<ComplexFuncRef> x = get_func_refs(f, 4); f 151 apps/fft/fft.cpp ComplexFunc dft6(ComplexFunc f, int sign, const string& prefix) { f 159 apps/fft/fft.cpp Type type = f.output_types()[0]; f 162 apps/fft/fft.cpp F(f.args()) = undef_z(type); f 164 apps/fft/fft.cpp vector<ComplexFuncRef> x = get_func_refs(f, 6); f 187 apps/fft/fft.cpp ComplexFunc dft8(ComplexFunc f, int sign, const string& prefix) { f 190 apps/fft/fft.cpp Type type = f.output_types()[0]; f 193 apps/fft/fft.cpp F(f.args()) = undef_z(type); f 195 apps/fft/fft.cpp vector<ComplexFuncRef> x = get_func_refs(f, 8); f 418 apps/fft/fft.cpp FuncType transpose(FuncType f) { f 419 apps/fft/fft.cpp vector<Halide::Var> argsT(f.args()); f 422 apps/fft/fft.cpp fT(argsT) = f(f.args()); f 427 apps/fft/fft.cpp std::pair<FuncType, FuncType> tiled_transpose(FuncType f, int max_tile_size, f 436 apps/fft/fft.cpp return { transpose(f), FuncType() }; f 440 apps/fft/fft.cpp std::min(max_tile_size, target.natural_vector_size(f.output_types()[0])); f 442 apps/fft/fft.cpp vector<Var> args = f.args(); f 452 apps/fft/fft.cpp f_tiled(A({x, y, xo, yo}, args)) = f(A({xo * tile_size + x, yo * tile_size + y}, args)); f 38 apps/fft/funct.h explicit FuncT(Func f) : Func(f) {} f 39 apps/fft/funct.h explicit FuncT(Halide::Internal::Function f) : Func(f) {} f 140 apps/local_laplacian/local_laplacian_generator.cpp Func downsample(Func f) { f 143 apps/local_laplacian/local_laplacian_generator.cpp downx(x, y, _) = (f(2*x-1, y, _) + 3.0f * (f(2*x, y, _) + f(2*x+1, y, _)) + f(2*x+2, y, _)) / 8.0f; f 149 apps/local_laplacian/local_laplacian_generator.cpp Func upsample(Func f) { f 152 apps/local_laplacian/local_laplacian_generator.cpp upx(x, y, _) = 0.25f * f((x/2) - 1 + 2*(x % 2), y, _) + 0.75f * f(x/2, y, _); f 10 apps/openglcompute/test_two_kernels.cpp Func f("f"); f 11 apps/openglcompute/test_two_kernels.cpp f(x, y, c) = input(x, y, c) + 1; f 12 apps/openglcompute/test_two_kernels.cpp f.bound(c, 0, 4) f 16 apps/openglcompute/test_two_kernels.cpp f.compute_root(); f 17 apps/openglcompute/test_two_kernels.cpp f.output_buffer().dim(2).set_bounds(0, 4).set_stride(1).dim(0).set_stride(4); f 21 apps/openglcompute/test_two_kernels.cpp f.unroll(c) f 26 apps/openglcompute/test_two_kernels.cpp g(x, y, c) = f(x, y, c) - 1; f 93 apps/simd_op_check/driver.cpp filter f = filters[i]; f 94 apps/simd_op_check/driver.cpp printf("Testing %s\n", f.name); f 95 apps/simd_op_check/driver.cpp f.fn(bufs + 0, f 22 python_bindings/numpy/ndarray.cpp ndarray::bitflag numpy_to_bitflag(int const f) { f 24 python_bindings/numpy/ndarray.cpp if (f & NPY_C_CONTIGUOUS) r = (r | ndarray::C_CONTIGUOUS); f 25 python_bindings/numpy/ndarray.cpp if (f & NPY_F_CONTIGUOUS) r = (r | ndarray::F_CONTIGUOUS); f 26 python_bindings/numpy/ndarray.cpp if (f & NPY_ALIGNED) r = (r | ndarray::ALIGNED); f 27 python_bindings/numpy/ndarray.cpp if (f & NPY_WRITEABLE) r = (r | ndarray::WRITEABLE); f 31 python_bindings/numpy/ndarray.cpp int const bitflag_to_numpy(ndarray::bitflag f) { f 33 python_bindings/numpy/ndarray.cpp if (f & ndarray::C_CONTIGUOUS) r |= NPY_C_CONTIGUOUS; f 34 python_bindings/numpy/ndarray.cpp if (f & ndarray::F_CONTIGUOUS) r |= NPY_F_CONTIGUOUS; f 35 python_bindings/numpy/ndarray.cpp if (f & ndarray::ALIGNED) r |= NPY_ALIGNED; f 36 python_bindings/numpy/ndarray.cpp if (f & ndarray::WRITEABLE) r |= NPY_WRITEABLE; f 41 python_bindings/python/Expr.cpp boost::format f("<halide.Expr of type '%s(%i)'>"); f 44 python_bindings/python/Expr.cpp repr = boost::str(f % type_code_to_string(t) % t.bits()); f 51 python_bindings/python/Func.cpp p::object func_realize(h::Func &f, Args... args) { f 52 python_bindings/python/Func.cpp return realization_to_python_object(f.realize(args...)); f 56 python_bindings/python/Func.cpp void func_realize_into(h::Func &f, Args... args) { f 57 python_bindings/python/Func.cpp f.realize(args...); f 61 python_bindings/python/Func.cpp void func_realize_tuple(h::Func &f, p::tuple obj, Args... args) { f 62 python_bindings/python/Func.cpp f.realize(python_object_to_realization(obj), args...); f 149 python_bindings/python/Func.cpp h::Func &func_store_at0(h::Func &that, h::Func f, h::Var var) { f 150 python_bindings/python/Func.cpp return that.store_at(f, var); f 153 python_bindings/python/Func.cpp h::Func &func_store_at1(h::Func &that, h::Func f, h::RVar var) { f 154 python_bindings/python/Func.cpp return that.store_at(f, var); f 157 python_bindings/python/Func.cpp h::Func &func_compute_at0(h::Func &that, h::Func f, h::Var var) { f 158 python_bindings/python/Func.cpp return that.compute_at(f, var); f 161 python_bindings/python/Func.cpp h::Func &func_compute_at1(h::Func &that, h::Func f, h::RVar var) { f 162 python_bindings/python/Func.cpp return that.compute_at(f, var); f 176 python_bindings/python/Func.cpp boost::format f("<halide.Func '%s'>"); f 177 python_bindings/python/Func.cpp repr = boost::str(f % func.name()); f 158 python_bindings/python/Image.cpp boost::format f("<halide.Buffer%s%i; element_size %i bytes; " f 161 python_bindings/python/Image.cpp repr = boost::str(f % suffix % t.bits() % t.bytes() % buffer.extent(0) % buffer.extent(1) % buffer.extent(2) % buffer.extent(3) % buffer.min(0) % buffer.min(1) % buffer.min(2) % buffer.min(3) % buffer.stride(0) % buffer.stride(1) % buffer.stride(2) % buffer.stride(3)); f 44 python_bindings/python/Param.cpp boost::format f("<halide.ImageParam named '%s' (not yet defined) >"); f 45 python_bindings/python/Param.cpp repr = boost::str(f % param.name()); f 47 python_bindings/python/Param.cpp boost::format f("<halide.ImageParam named '%s' of type '%s(%i)' and dimensions %i %i %i %i>"); f 48 python_bindings/python/Param.cpp repr = boost::str(f % param.name() % f 287 python_bindings/python/Param.cpp boost::format f("<halide.Param named '%s' of type '%s(%i)'>"); f 288 python_bindings/python/Param.cpp repr = boost::str(f % param.name() % type_code_to_string(t) % t.bits()); f 44 python_bindings/python/Var.cpp boost::format f("<halide.Var '%s'>"); f 45 python_bindings/python/Var.cpp repr = boost::str(f % var.name()); f 77 src/AddImageChecks.cpp for (Function f : outputs) { f 78 src/AddImageChecks.cpp for (size_t i = 0; i < f.values().size(); i++) { f 80 src/AddImageChecks.cpp output_buffer.type = f.values()[i].type(); f 81 src/AddImageChecks.cpp output_buffer.param = f.output_buffers()[i]; f 82 src/AddImageChecks.cpp output_buffer.dimensions = f.dimensions(); f 83 src/AddImageChecks.cpp if (f.values().size() > 1) { f 84 src/AddImageChecks.cpp bufs[f.name() + '.' + std::to_string(i)] = output_buffer; f 86 src/AddImageChecks.cpp bufs[f.name()] = output_buffer; f 151 src/AddImageChecks.cpp for (Function f : outputs) { f 152 src/AddImageChecks.cpp for (size_t i = 0; i < f.output_buffers().size(); i++) { f 154 src/AddImageChecks.cpp param.same_as(f.output_buffers()[i])) { f 158 src/AddImageChecks.cpp buffer_name = f.name(); f 176 src/AddImageChecks.cpp Function f = env.find(order[i])->second; f 177 src/AddImageChecks.cpp if (f.has_extern_definition()) { f 178 src/AddImageChecks.cpp const vector<ExternFuncArgument> &args = f.extern_arguments(); f 30 src/AllocationBoundsInference.cpp Function f = iter->second; f 31 src/AllocationBoundsInference.cpp const vector<string> f_args = f.args(); f 35 src/AllocationBoundsInference.cpp if (touched_by_extern.count(f.name())) { f 58 src/AllocationBoundsInference.cpp for (size_t j = 0; j < f.schedule().bounds().size(); j++) { f 59 src/AllocationBoundsInference.cpp Bound b = f.schedule().bounds()[j]; f 108 src/AllocationBoundsInference.cpp {f_args[i], f.name(), min_var, max_var, b[i].min, b[i].max}, f 131 src/AllocationBoundsInference.cpp Function f = iter->second; f 132 src/AllocationBoundsInference.cpp if (f.has_extern_definition()) { f 133 src/AllocationBoundsInference.cpp touched_by_extern.insert(f.name()); f 134 src/AllocationBoundsInference.cpp for (size_t i = 0; i < f.extern_arguments().size(); i++) { f 135 src/AllocationBoundsInference.cpp ExternFuncArgument arg = f.extern_arguments()[i]; f 86 src/Associativity.cpp ConvertSelfRef(const string &f, const vector<Expr> &args, int idx, f 88 src/Associativity.cpp func(f), args(args), value_index(idx), op_x_names(x_names) {} f 308 src/Associativity.cpp AssociativeOp prove_associativity(const string &f, vector<Expr> args, vector<Expr> exprs) { f 337 src/Associativity.cpp ConvertSelfRef csr(f, args, idx, op_x_names); f 446 src/Associativity.cpp std::string print_args(const string &f, const vector<Expr> &args, const vector<Expr> &exprs) { f 448 src/Associativity.cpp stream << f << "("; f 472 src/Associativity.cpp void check_associativity(const string &f, vector<Expr> args, vector<Expr> exprs, f 474 src/Associativity.cpp auto result = prove_associativity(f, args, exprs); f 476 src/Associativity.cpp << "Checking associativity: " << print_args(f, args, exprs) << "\n" f 483 src/Associativity.cpp << "Checking associativity: " << print_args(f, args, exprs) << "\n" f 488 src/Associativity.cpp << "Checking associativity: " << print_args(f, args, exprs) << "\n" f 493 src/Associativity.cpp << "Checking associativity: " << print_args(f, args, exprs) << "\n" f 508 src/Associativity.cpp << "Checking associativity: " << print_args(f, args, exprs) << "\n" f 96 src/Associativity.h const std::string &f, std::vector<Expr> args, std::vector<Expr> exprs); f 1423 src/Bounds.cpp Function f = env.find(order[i])->second; f 1424 src/Bounds.cpp const vector<string> f_args = f.args(); f 1425 src/Bounds.cpp for (int j = 0; j < f.outputs(); j++) { f 1426 src/Bounds.cpp pair<string, int> key = { f.name(), j }; f 1430 src/Bounds.cpp if (f.is_pure()) { f 1434 src/Bounds.cpp for (size_t k = 0; k < f.args().size(); k++) { f 1438 src/Bounds.cpp result = compute_pure_function_definition_value_bounds(f.definition(), arg_scope, fb, j); f 635 src/BoundsInference.cpp BoundsInference(const vector<Function> &f, f 639 src/BoundsInference.cpp funcs(f), func_bounds(fb), target(target) { f 640 src/BoundsInference.cpp internal_assert(!f.empty()); f 646 src/BoundsInference.cpp vector<bool> inlined(f.size()); f 648 src/BoundsInference.cpp if (i < f.size() - 1 && f 649 src/BoundsInference.cpp f[i].schedule().compute_level().is_inline() && f 650 src/BoundsInference.cpp f[i].can_be_inlined()) { f 660 src/BoundsInference.cpp for (size_t i = 0; i < f.size(); i++) { f 665 src/BoundsInference.cpp s.func = f[i]; f 672 src/BoundsInference.cpp for (size_t j = 0; j < f[i].updates().size(); j++) { f 682 src/BoundsInference.cpp for (size_t i = f.size(); i > 0; i--) { f 683 src/BoundsInference.cpp Function func = f[i-1]; f 735 src/BoundsInference.cpp Function f(args[j].func); f 736 src/BoundsInference.cpp string stage_name = f.name() + ".s" + std::to_string(f.updates().size()); f 737 src/BoundsInference.cpp Box b(f.dimensions()); f 738 src/BoundsInference.cpp for (int d = 0; d < f.dimensions(); d++) { f 739 src/BoundsInference.cpp string buf_name = f.name() + ".o0.bounds_query." + consumer.name; f 747 src/BoundsInference.cpp merge_boxes(boxes[f.name()], b); f 866 src/BoundsInference.cpp Function f; f 871 src/BoundsInference.cpp f = stages[i].func; f 884 src/BoundsInference.cpp internal_assert((int)box.size() == f.dimensions()); f 917 src/BoundsInference.cpp const vector<string> f_args = f.args(); f 477 src/CodeGen_C.cpp for (const auto &f : input.functions()) { f 478 src/CodeGen_C.cpp compile(f); f 482 src/CodeGen_C.cpp void CodeGen_C::compile(const LoweredFunc &f) { f 484 src/CodeGen_C.cpp if (is_header() && f.linkage == LoweredFunc::Internal) { f 488 src/CodeGen_C.cpp emitted.insert(f.name); f 490 src/CodeGen_C.cpp const std::vector<LoweredArgument> &args = f.args; f 525 src/CodeGen_C.cpp f.body.accept(&e); f 538 src/CodeGen_C.cpp NameMangling name_mangling = f.name_mangling; f 548 src/CodeGen_C.cpp std::string simple_name = extract_namespaces(f.name, namespaces); f 564 src/CodeGen_C.cpp if (f.linkage == LoweredFunc::Internal) { f 589 src/CodeGen_C.cpp print(f.body); f 599 src/CodeGen_C.cpp if (is_header() && f.linkage == LoweredFunc::ExternalPlusMetadata) { f 136 src/CodeGen_GPU_Host.cpp void CodeGen_GPU_Host<CodeGen_CPU>::compile_func(const LoweredFunc &f, f 147 src/CodeGen_GPU_Host.cpp CodeGen_CPU::compile_func(f, simple_name, extern_name); f 192 src/CodeGen_GPU_Host.cpp if (f.args[0].name == "__user_context") { f 180 src/CodeGen_Hexagon.cpp void CodeGen_Hexagon::compile_func(const LoweredFunc &f, f 182 src/CodeGen_Hexagon.cpp CodeGen_Posix::begin_func(f.linkage, simple_name, extern_name, f.args); f 184 src/CodeGen_Hexagon.cpp Stmt body = f.body; f 231 src/CodeGen_Hexagon.cpp CodeGen_Posix::end_func(f.args); f 22 src/CodeGen_Hexagon.h void compile_func(const LoweredFunc &f, f 477 src/CodeGen_LLVM.cpp MangledNames get_mangled_names(const LoweredFunc &f, const Target &target) { f 478 src/CodeGen_LLVM.cpp return get_mangled_names(f.name, f.linkage, f.name_mangling, f.args, target); f 529 src/CodeGen_LLVM.cpp for (const auto &f : input.functions()) { f 530 src/CodeGen_LLVM.cpp const auto names = get_mangled_names(f, get_target()); f 532 src/CodeGen_LLVM.cpp compile_func(f, names.simple_name, names.extern_name); f 536 src/CodeGen_LLVM.cpp if (f.linkage == LoweredFunc::ExternalPlusMetadata) { f 538 src/CodeGen_LLVM.cpp llvm::Function *metadata_getter = embed_metadata_getter(names.metadata_name, names.simple_name, f.args); f 662 src/CodeGen_LLVM.cpp void CodeGen_LLVM::compile_func(const LoweredFunc &f, const std::string &simple_name, f 665 src/CodeGen_LLVM.cpp begin_func(f.linkage, simple_name, extern_name, f.args); f 669 src/CodeGen_LLVM.cpp if (f.linkage != LoweredFunc::Internal && f 676 src/CodeGen_LLVM.cpp for (const auto &arg : f.args) { f 684 src/CodeGen_LLVM.cpp debug(1) << "Generating llvm bitcode for function " << f.name << "...\n"; f 685 src/CodeGen_LLVM.cpp f.body.accept(this); f 688 src/CodeGen_LLVM.cpp end_func(f.args); f 2464 src/CodeGen_LLVM.cpp llvm::Function *f = module->getFunction(fn->value); f 2465 src/CodeGen_LLVM.cpp if (!f) { f 2468 src/CodeGen_LLVM.cpp f = llvm::Function::Create(func_t, llvm::Function::ExternalLinkage, fn->value, module.get()); f 2469 src/CodeGen_LLVM.cpp f->setCallingConv(CallingConv::C); f 2471 src/CodeGen_LLVM.cpp register_destructor(f, codegen(arg), Always); f 217 src/CodeGen_PTX_Dev.cpp void CodeGen_PTX_Dev::visit(const Free *f) { f 218 src/CodeGen_PTX_Dev.cpp sym_pop(f->name); f 25 src/DebugToFile.cpp Function f = iter->second; f 32 src/DebugToFile.cpp args.push_back(f.debug_file()); f 70 src/DebugToFile.cpp Expr buf = Variable::make(Handle(), f.name() + ".buffer"); f 78 src/DebugToFile.cpp {f.name(), f.debug_file(), call_result_var}, f 100 src/DebugToFile.cpp for (Function f : outputs) { f 101 src/DebugToFile.cpp if (op->name == f.name()) { f 39 src/DeviceInterface.cpp std::map<std::string, JITModule::Symbol>::const_iterator f = f 41 src/DeviceInterface.cpp if (f != runtime[i].exports().end()) { f 42 src/DeviceInterface.cpp result = reinterpret_bits<fn_type>(f->second.address); f 76 src/Error.h EXPORT ErrorReport(const char *f, int l, const char *cs, int flags); f 19 src/FindCalls.cpp void include_function(Function f) { f 20 src/FindCalls.cpp map<string, Function>::iterator iter = calls.find(f.name()); f 22 src/FindCalls.cpp calls[f.name()] = f; f 24 src/FindCalls.cpp user_assert(iter->second.same_as(f)) f 26 src/FindCalls.cpp << f.name() << "\n"; f 34 src/FindCalls.cpp Function f(call->func); f 35 src/FindCalls.cpp include_function(f); f 41 src/FindCalls.cpp void populate_environment(Function f, map<string, Function> &env, bool recursive = true) { f 42 src/FindCalls.cpp map<string, Function>::const_iterator iter = env.find(f.name()); f 44 src/FindCalls.cpp user_assert(iter->second.same_as(f)) f 46 src/FindCalls.cpp << f.name() << "\n"; f 51 src/FindCalls.cpp f.accept(&calls); f 52 src/FindCalls.cpp if (f.has_extern_definition()) { f 53 src/FindCalls.cpp for (ExternFuncArgument arg : f.extern_arguments()) { f 64 src/FindCalls.cpp env[f.name()] = f; f 72 src/FindCalls.cpp map<string, Function> find_transitive_calls(Function f) { f 74 src/FindCalls.cpp populate_environment(f, res, true); f 78 src/FindCalls.cpp map<string, Function> find_direct_calls(Function f) { f 80 src/FindCalls.cpp populate_environment(f, res, false); f 22 src/FindCalls.h std::map<std::string, Function> find_direct_calls(Function f); f 29 src/FindCalls.h std::map<std::string, Function> find_transitive_calls(Function f); f 55 src/Func.cpp Func::Func(Function f) : func(f) {} f 1735 src/Func.cpp Stage &Stage::prefetch(const Func &f, VarOrRVar var, Expr offset, PrefetchBoundStrategy strategy) { f 1736 src/Func.cpp PrefetchDirective prefetch = {f.name(), var.name(), offset, strategy, Parameter()}; f 1753 src/Func.cpp Func Func::in(const Func &f) { f 1755 src/Func.cpp user_assert(name() != f.name()) << "Cannot call 'in()' on itself\n"; f 1757 src/Func.cpp const auto &iter = wrappers.find(f.name()); f 1759 src/Func.cpp Func wrapper(name() + "_in_" + f.name()); f 1761 src/Func.cpp func.add_wrapper(f.name(), wrapper.func); f 1770 src/Func.cpp if (it.first == f.name()) { f 1775 src/Func.cpp << Function(wrapper_contents).name() << "] in " << f.name() << " is not allowed\n"; f 1802 src/Func.cpp for (const Func &f : fs) { f 1803 src/Func.cpp user_assert(name() != f.name()) << "Cannot call 'in()' on itself\n"; f 1804 src/Func.cpp func.add_wrapper(f.name(), wrapper.func); f 1819 src/Func.cpp fs.begin(), fs.end(), [&it](const Func& f) { return f.name() == it.first; }); f 2218 src/Func.cpp Func &Func::prefetch(const Func &f, VarOrRVar var, Expr offset, PrefetchBoundStrategy strategy) { f 2220 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).prefetch(f, var, offset, strategy); f 2309 src/Func.cpp Func &Func::compute_at(Func f, RVar var) { f 2310 src/Func.cpp return compute_at(LoopLevel(f, var)); f 2313 src/Func.cpp Func &Func::compute_at(Func f, Var var) { f 2314 src/Func.cpp return compute_at(LoopLevel(f, var)); f 2327 src/Func.cpp Func &Func::store_at(Func f, RVar var) { f 2328 src/Func.cpp return store_at(LoopLevel(f, var)); f 2331 src/Func.cpp Func &Func::store_at(Func f, Var var) { f 2332 src/Func.cpp return store_at(LoopLevel(f, var)); f 2403 src/Func.cpp FuncRef::FuncRef(Internal::Function f, const vector<Expr> &a, int placeholder_pos, f 2404 src/Func.cpp int count) : func(f), implicit_count(count), args(a){ f 2406 src/Func.cpp Internal::check_call_arg_types(f.name(), &args, args.size()); f 2409 src/Func.cpp FuncRef::FuncRef(Internal::Function f, const vector<Var> &a, int placeholder_pos, f 2410 src/Func.cpp int count) : func(f), implicit_count(count) { f 2524 src/Func.cpp Func f(func); f 2526 src/Func.cpp if (func.has_pure_definition()) return f; f 2540 src/Func.cpp f(pure_args) = e; f 2541 src/Func.cpp return f; f 288 src/Func.h EXPORT Stage &prefetch(const Func &f, VarOrRVar var, Expr offset = 1, f 534 src/Func.h EXPORT explicit Func(Internal::Function f); f 1088 src/Func.h EXPORT Func in(const Func &f); f 1578 src/Func.h EXPORT Func &prefetch(const Func &f, VarOrRVar var, Expr offset = 1, f 1728 src/Func.h EXPORT Func &compute_at(Func f, Var var); f 1733 src/Func.h EXPORT Func &compute_at(Func f, RVar var); f 1876 src/Func.h EXPORT Func &store_at(Func f, Var var); f 1881 src/Func.h EXPORT Func &store_at(Func f, RVar var); f 2012 src/Func.h Func f; f 2013 src/Func.h f() = e; f 2014 src/Func.h Buffer<T> im = f.realize(); f 2023 src/Func.h Func f; f 2024 src/Func.h f() = t; f 2025 src/Func.h Realization r = f.realize(); f 2032 src/Func.h inline void schedule_scalar(Func f) { f 2035 src/Func.h f.gpu_single_thread(); f 2038 src/Func.h f.hexagon(); f 2055 src/Func.h Func f; f 2056 src/Func.h f() = e; f 2057 src/Func.h Internal::schedule_scalar(f); f 2058 src/Func.h Buffer<T> im = f.realize(); f 2069 src/Func.h Func f; f 2070 src/Func.h f() = t; f 2071 src/Func.h Internal::schedule_scalar(f); f 2072 src/Func.h Realization r = f.realize(); f 113 src/Function.cpp EXPORT RefCount &ref_count<FunctionContents>(const FunctionContents *f) { f 114 src/Function.cpp return f->ref_count; f 118 src/Function.cpp EXPORT void destroy<FunctionContents>(const FunctionContents *f) { f 119 src/Function.cpp delete f; f 231 src/Function.cpp Function f(op->func); f 232 src/Function.cpp f.freeze(); f 236 src/Function.cpp FreezeFunctions(const string &f) : func(f) {} f 884 src/Function.cpp void Function::add_wrapper(const std::string &f, Function &wrapper) { f 886 src/Function.cpp contents->init_def.schedule().add_wrapper(f, wrapper.contents); f 34 src/Function.h ExternFuncArgument(Internal::IntrusivePtr<Internal::FunctionContents> f): arg_type(FuncArg), func(f) {} f 269 src/Function.h EXPORT void add_wrapper(const std::string &f, Function &wrapper); f 606 src/FuseGPUThreadLoops.cpp ReplaceForWithIf f(block_size); f 607 src/FuseGPUThreadLoops.cpp body = f.mutate(body); f 169 src/Generator.cpp Func f = Func(name + "_im"); f 170 src/Generator.cpp f(args) = Internal::Call::make(p, args_expr); f 171 src/Generator.cpp return f; f 1207 src/Generator.cpp Func f = output->funcs().at(0); f 1208 src/Generator.cpp user_assert(f.defined()) << "Output " << n << " was not defined.\n"; f 1209 src/Generator.cpp return f; f 1223 src/Generator.cpp for (const auto &f : output->funcs()) { f 1224 src/Generator.cpp user_assert(f.defined()) << "Output " << n << " was not fully defined.\n"; f 1384 src/Generator.cpp for (const auto &f : output->funcs()) { f 1385 src/Generator.cpp user_assert(f.defined()) << "Output \"" << f.name() << "\" was not defined.\n"; f 1387 src/Generator.cpp user_assert(f.dimensions() == output->dimensions()) << "Output \"" << f.name() f 1389 src/Generator.cpp << " but was defined as dimensions=" << f.dimensions() << ".\n"; f 1392 src/Generator.cpp user_assert((int)f.outputs() == (int)output->types().size()) << "Output \"" << f.name() f 1394 src/Generator.cpp << " but was defined as Tuple of size " << f.outputs() << ".\n"; f 1395 src/Generator.cpp for (size_t i = 0; i < f.output_types().size(); ++i) { f 1397 src/Generator.cpp Type actual = f.output_types()[i]; f 1398 src/Generator.cpp user_assert(expected == actual) << "Output \"" << f.name() f 1403 src/Generator.cpp funcs.push_back(f); f 1547 src/Generator.cpp for (const Func &f : funcs()) { f 1548 src/Generator.cpp user_assert(f.defined()) << "Input/Output " << name() << " is not defined.\n"; f 1549 src/Generator.cpp user_assert(f.dimensions() == dimensions()) f 1551 src/Generator.cpp << " but got " << f.dimensions() f 1553 src/Generator.cpp user_assert(f.outputs() == 1) f 1555 src/Generator.cpp << " but got " << f.outputs() f 1557 src/Generator.cpp user_assert(f.output_types().size() == 1) f 1559 src/Generator.cpp << " but got " << f.outputs() f 1561 src/Generator.cpp user_assert(f.output_types()[0] == type()) f 1563 src/Generator.cpp << " but got " << f.output_types()[0] f 1687 src/Generator.cpp auto f = in.func(); f 1688 src/Generator.cpp check_matching_type_and_dim(f.output_types(), f.dimensions()); f 1689 src/Generator.cpp funcs_.push_back(f); f 1690 src/Generator.cpp parameters_.emplace_back(f.output_types().at(0), true, f.dimensions(), array_name(i), true, false); f 1699 src/Generator.cpp Func f(name() + "_im"); f 1700 src/Generator.cpp f(_) = b(_); f 1701 src/Generator.cpp funcs_.push_back(f); f 1970 src/Generator.cpp const float f = 2.25f; f 1987 src/Generator.cpp tester.set_inputs(i, f, b, a, fn_typed, fn_untyped, fn_array, buf_typed, buf_untyped); f 2017 src/Generator.cpp Func f, g; f 2018 src/Generator.cpp f(x, y) = x + y; f 2019 src/Generator.cpp g(x, y) = f(gp, gp); // check Func::operator() overloads f 2020 src/Generator.cpp g(rdom.x, rdom.y) += f(rdom.x, rdom.y); f 2024 src/Generator.cpp print(f(0, 0), g(1, 1), gp); f 2025 src/Generator.cpp print_when(true, f(0, 0), g(1, 1), gp); f 957 src/Generator.h Func f; f 963 src/Generator.h explicit StubOutputBufferBase(const Func &f, std::shared_ptr<GeneratorBase> generator) : f(f), generator(generator) {} f 969 src/Generator.h return f.realize(sizes, get_target()); f 975 src/Generator.h return f.realize(std::forward<Args>(args)..., get_target()); f 981 src/Generator.h f.realize(dst, get_target()); f 1001 src/Generator.h explicit StubOutputBuffer(const Func &f, std::shared_ptr<GeneratorBase> generator) : StubOutputBufferBase(f, generator) {} f 1020 src/Generator.h StubInput(const Func &f) : kind_(IOKind::Function), func_(f) {} f 1868 src/Generator.h const auto &f = stub_output_buffer.f; f 1869 src/Generator.h internal_assert(f.defined()); f 1871 src/Generator.h const auto &output_types = f.output_types(); f 1875 src/Generator.h Buffer<> other(output_types.at(0), nullptr, std::vector<int>(f.dimensions(), 1)); f 1885 src/Generator.h user_assert(f.dimensions() == this->dimensions()) f 1886 src/Generator.h << "Output should have dim=" << this->dimensions() << " but saw dim=" << f.dimensions() << "\n"; f 1891 src/Generator.h this->funcs_[0] = f; f 1923 src/Generator.h GeneratorOutput_Func<T> &operator=(const Func &f) { f 1928 src/Generator.h get_assignable_func_ref(0) = f; f 2032 src/Generator.h GeneratorOutput<T> &operator=(const Func &f) { f 2033 src/Generator.h Super::operator=(f); f 2480 src/Generator.h Halide::Func f(arg.name() + "_im"); f 2481 src/Generator.h f(Halide::_) = arg(Halide::_); f 2482 src/Generator.h StubInput si(f); f 2504 src/Generator.h Halide::Func f = arg.funcs().at(0); f 2505 src/Generator.h StubInput si(f); f 2518 src/Generator.h Halide::Func f = arg; f 2519 src/Generator.h StubInput si(f); f 2531 src/Generator.h for (const auto &f : arg) { f 2532 src/Generator.h siv.emplace_back(f); f 2782 src/Generator.h std::unique_ptr<Internal::SimpleGeneratorFactory> f(new Internal::SimpleGeneratorFactory(GeneratorClass::create, generator_name)); f 2783 src/Generator.h Internal::GeneratorRegistry::register_factory(generator_name, std::move(f)); f 2888 src/Generator.h static std::vector<StubInput> to_stub_input_vector(const Func &f) { f 2889 src/Generator.h return { StubInput(f) }; f 2909 src/Generator.h verify_same_funcs(a.f, b.f); f 916 src/HexagonOffload.cpp std::ofstream f(input.pathname()); f 917 src/HexagonOffload.cpp f.write(shared_object.data(), shared_object.size()); f 918 src/HexagonOffload.cpp f.flush(); f 919 src/HexagonOffload.cpp internal_assert(f.good()); f 920 src/HexagonOffload.cpp f.close(); f 928 src/HexagonOffload.cpp std::ifstream f(output.pathname()); f 929 src/HexagonOffload.cpp f.seekg(0, std::ifstream::end); f 930 src/HexagonOffload.cpp size_t signed_size = f.tellg(); f 932 src/HexagonOffload.cpp f.seekg(0, std::ifstream::beg); f 933 src/HexagonOffload.cpp f.read(shared_object.data(), shared_object.size()); f 934 src/HexagonOffload.cpp internal_assert(f.good()); f 935 src/HexagonOffload.cpp f.close(); f 105 src/IRMutator.cpp Expr f = mutate(op->false_value); f 108 src/IRMutator.cpp f.same_as(op->false_value)) { f 111 src/IRMutator.cpp expr = Select::make(cond, t, f); f 121 src/IROperator.cpp } else if (const FloatImm *f = e.as<FloatImm>()) { f 122 src/IROperator.cpp return &(f->value); f 160 src/IROperator.cpp if (const FloatImm *f = e.as<FloatImm>()) return f->value > 0.0f; f 176 src/IROperator.cpp if (const FloatImm *f = e.as<FloatImm>()) return f->value < 0.0f; f 194 src/IROperator.cpp if (const FloatImm *f = e.as<FloatImm>()) return f->value < 0.0f; f 353 src/IROperator.cpp if (const FloatImm *f = e.as<FloatImm>()) { f 354 src/IROperator.cpp if (t.can_represent(f->value)) { f 355 src/IROperator.cpp return make_const(t, f->value); f 221 src/IROperator.h if (const double *f = as_const_float(a)) { f 222 src/IROperator.h return Internal::make_const(t, *f); f 62 src/IRPrinter.cpp for (const auto &f : m.functions()) { f 63 src/IRPrinter.cpp stream << f << "\n"; f 134 src/IRVisitor.cpp Function f(op->func); f 135 src/IRVisitor.cpp if (op->call_type == Call::Halide && f.has_extern_definition()) { f 136 src/IRVisitor.cpp for (size_t i = 0; i < f.extern_arguments().size(); i++) { f 137 src/IRVisitor.cpp ExternFuncArgument arg = f.extern_arguments()[i]; f 62 src/ImageParam.cpp Func ImageParam::in(const Func &f) { f 64 src/ImageParam.cpp return func.in(f); f 120 src/ImageParam.h EXPORT Func in(const Func &f); f 24 src/InferArguments.cpp for (const Function &f : outputs) { f 25 src/InferArguments.cpp visit_function(f); f 759 src/InjectHostDevBufferCopies.cpp FindBuffersToTrack f(t); f 760 src/InjectHostDevBufferCopies.cpp s.accept(&f); f 763 src/InjectHostDevBufferCopies.cpp for (const std::string &i : f.buffers_to_track) { f 767 src/InjectHostDevBufferCopies.cpp return InjectBufferCopies(f.buffers_to_track, t).mutate(s); f 18 src/Inline.cpp void validate_schedule_inlined_function(Function f) { f 19 src/Inline.cpp const Schedule &s = f.schedule(); f 22 src/Inline.cpp user_error << "Function " << f.name() << " is scheduled to be computed inline, " f 28 src/Inline.cpp user_assert(f.definition().specializations().empty()) f 29 src/Inline.cpp << "Function " << f.name() << " is scheduled inline, so it" f 35 src/Inline.cpp << f.name() << " because the function is scheduled inline.\n"; f 43 src/Inline.cpp << f.name() << " because the function is scheduled inline.\n"; f 47 src/Inline.cpp << f.name() << " because the function is scheduled inline.\n"; f 51 src/Inline.cpp << f.name() << " because the function is scheduled inline.\n"; f 59 src/Inline.cpp << f.name() << " to " << s.splits()[i].outer f 60 src/Inline.cpp << " because " << f.name() << " is scheduled inline.\n"; f 64 src/Inline.cpp << " because " << f.name() << " is scheduled inline.\n"; f 68 src/Inline.cpp << f.name() << " into " f 72 src/Inline.cpp << f.name() << " is scheduled inline.\n"; f 80 src/Inline.cpp << f.name() << " to be within [" f 86 src/Inline.cpp << f.name() << " to have modulus/remainder [" f 143 src/Inline.cpp Inliner(Function f) : func(f), found(false) { f 144 src/Inline.cpp internal_assert(f.can_be_inlined()) << "Illegal to inline " << f.name() << "\n"; f 145 src/Inline.cpp validate_schedule_inlined_function(f); f 150 src/Inline.cpp Stmt inline_function(Stmt s, Function f) { f 151 src/Inline.cpp Inliner i(f); f 156 src/Inline.cpp Expr inline_function(Expr e, Function f) { f 157 src/Inline.cpp Inliner i(f); f 23 src/Inline.h void validate_schedule_inlined_function(Function f); f 114 src/InlineReductions.cpp Func f(name); f 115 src/InlineReductions.cpp f(v.free_vars) += e; f 116 src/InlineReductions.cpp return f(v.call_args); f 129 src/InlineReductions.cpp Func f(name); f 130 src/InlineReductions.cpp f(v.free_vars) *= e; f 131 src/InlineReductions.cpp return f(v.call_args); f 144 src/InlineReductions.cpp Func f(name); f 145 src/InlineReductions.cpp f(v.free_vars) = e.type().min(); f 146 src/InlineReductions.cpp f(v.free_vars) = max(f(v.free_vars), e); f 147 src/InlineReductions.cpp return f(v.call_args); f 160 src/InlineReductions.cpp Func f(name); f 161 src/InlineReductions.cpp f(v.free_vars) = e.type().max(); f 162 src/InlineReductions.cpp f(v.free_vars) = min(f(v.free_vars), e); f 163 src/InlineReductions.cpp return f(v.call_args); f 174 src/InlineReductions.cpp Func f(name); f 188 src/InlineReductions.cpp f(v.free_vars) = initial_tup; f 189 src/InlineReductions.cpp Expr better = e > f(v.free_vars)[value_index]; f 190 src/InlineReductions.cpp Tuple update = tuple_select(better, update_tup, f(v.free_vars)); f 191 src/InlineReductions.cpp f(v.free_vars) = update; f 192 src/InlineReductions.cpp return f(v.call_args); f 203 src/InlineReductions.cpp Func f(name); f 217 src/InlineReductions.cpp f(v.free_vars) = initial_tup; f 218 src/InlineReductions.cpp Expr better = e < f(v.free_vars)[value_index]; f 219 src/InlineReductions.cpp f(v.free_vars) = tuple_select(better, update_tup, f(v.free_vars)); f 220 src/InlineReductions.cpp return f(v.call_args); f 47 src/Introspection.cpp FieldFormat(uint64_t n, uint64_t f) : name(n), form(f) {} f 241 src/Introspection.cpp FunctionInfo &f = functions[i]; f 242 src/Introspection.cpp f.pc_begin += pc_adjust; f 243 src/Introspection.cpp f.pc_end += pc_adjust; f 244 src/Introspection.cpp for (size_t j = 0; j < f.variables.size(); j++) { f 245 src/Introspection.cpp LocalVariable &v = f.variables[j]; f 748 src/Introspection.cpp FunctionInfo *f = find_containing_function((void *)address); f 752 src/Introspection.cpp if (!f) { f 757 src/Introspection.cpp debug(5) << "Containing function is " << f->name << "\n"; f 760 src/Introspection.cpp if (f->name.size() > 8 && f 761 src/Introspection.cpp f->name.substr(0, 8) == "Halide::") { f 817 src/Introspection.cpp const FunctionInfo &f = functions[i]; f 819 src/Introspection.cpp f.name.c_str(), f 820 src/Introspection.cpp (unsigned long long)(f.pc_begin), f 821 src/Introspection.cpp (unsigned long long)(f.pc_end), f 822 src/Introspection.cpp (int)f.frame_base); f 823 src/Introspection.cpp for (size_t j = 0; j < f.variables.size(); j++) { f 824 src/Introspection.cpp const LocalVariable &v = f.variables[j]; f 1087 src/Introspection.cpp const FunctionInfo &f = func_stack.back().first; f 1088 src/Introspection.cpp functions.push_back(f); f 1814 src/Introspection.cpp FunctionInfo &f = functions[i]; f 1815 src/Introspection.cpp if (!f.pc_begin || f 1816 src/Introspection.cpp !f.pc_end || f 1817 src/Introspection.cpp f.name.empty()) { f 1823 src/Introspection.cpp for (size_t j = 0; j < f.variables.size(); j++) { f 1824 src/Introspection.cpp LocalVariable &v = f.variables[j]; f 1831 src/Introspection.cpp f.variables.clear(); f 1832 src/Introspection.cpp trimmed.push_back(f); f 123 src/Introspection.h static bool test(bool (*f)(const void *, const std::string &)) { f 127 src/Introspection.h return f(&a1, "a1") && f(&a2, "a2"); f 147 src/JITModule.cpp EXPORT RefCount &ref_count<JITModuleContents>(const JITModuleContents *f) { return f->ref_count; } f 150 src/JITModule.cpp EXPORT void destroy<JITModuleContents>(const JITModuleContents *f) { delete f; } f 158 src/JITModule.cpp void *f = (void *)ee.getFunctionAddress(name); f 159 src/JITModule.cpp if (!f) { f 163 src/JITModule.cpp JITModule::Symbol symbol(f, fn->getFunctionType()); f 165 src/JITModule.cpp debug(2) << "Function " << name << " is at " << f << "\n"; f 453 src/JITModule.cpp std::map<std::string, Symbol>::const_iterator f = f 455 src/JITModule.cpp if (f != exports().end()) { f 456 src/JITModule.cpp return (reinterpret_bits<void (*)(int64_t)>(f->second.address))(size); f 531 src/JITModule.cpp int do_task_handler(void *context, halide_task f, int idx, f 535 src/JITModule.cpp return (*jit_user_context->handlers.custom_do_task)(context, f, idx, closure); f 537 src/JITModule.cpp return (*active_handlers.custom_do_task)(context, f, idx, closure); f 541 src/JITModule.cpp int do_par_for_handler(void *context, halide_task f, f 545 src/JITModule.cpp return (*jit_user_context->handlers.custom_do_par_for)(context, f, min, size, closure); f 547 src/JITModule.cpp return (*active_handlers.custom_do_par_for)(context, f, min, size, closure); f 699 src/JITModule.cpp for (auto &f : *module) { f 701 src/JITModule.cpp if (f.hasWeakLinkage()) { f 702 src/JITModule.cpp halide_exports_unique.insert(f.getName()); f 465 src/LLVM_Runtime_Linker.cpp for (auto &f : *modules[0]) { f 468 src/LLVM_Runtime_Linker.cpp if (f.getName() == r) { f 473 src/LLVM_Runtime_Linker.cpp bool is_halide_extern_c_sym = Internal::starts_with(f.getName(), "halide_"); f 474 src/LLVM_Runtime_Linker.cpp internal_assert(t.os == Target::NoOS || !is_halide_extern_c_sym || f.isWeakForLinker() || f.isDeclaration()) f 475 src/LLVM_Runtime_Linker.cpp << " for function " << (std::string)f.getName() << "\n"; f 478 src/LLVM_Runtime_Linker.cpp llvm::GlobalValue::LinkageTypes linkage = f.getLinkage(); f 481 src/LLVM_Runtime_Linker.cpp f.setLinkage(llvm::GlobalValue::LinkOnceAnyLinkage); f 483 src/LLVM_Runtime_Linker.cpp f.setLinkage(llvm::GlobalValue::LinkOnceODRLinkage); f 517 src/LLVM_Runtime_Linker.cpp llvm::Function &f = *iter; f 518 src/LLVM_Runtime_Linker.cpp string n = f.getName(); f 520 src/LLVM_Runtime_Linker.cpp if (f.getCallingConv() == llvm::CallingConv::X86_StdCall && f 521 src/LLVM_Runtime_Linker.cpp f.empty() && f 530 src/LLVM_Runtime_Linker.cpp llvm::Function *unmangled = llvm::Function::Create(f.getFunctionType(), f.getLinkage(), unmangled_name, m); f 531 src/LLVM_Runtime_Linker.cpp unmangled->setCallingConv(f.getCallingConv()); f 534 src/LLVM_Runtime_Linker.cpp llvm::BasicBlock *block = llvm::BasicBlock::Create(m->getContext(), "entry", &f); f 538 src/LLVM_Runtime_Linker.cpp for (auto &arg : f.args()) { f 543 src/LLVM_Runtime_Linker.cpp c->setCallingConv(f.getCallingConv()); f 545 src/LLVM_Runtime_Linker.cpp if (f.getReturnType()->isVoidTy()) { f 924 src/LLVM_Runtime_Linker.cpp llvm::Function &f = *iter; f 937 src/LLVM_Runtime_Linker.cpp if (!f.isDeclaration() && !f.hasFnAttribute(llvm::Attribute::NoInline)) { f 938 src/LLVM_Runtime_Linker.cpp f.setLinkage(llvm::GlobalValue::AvailableExternallyLinkage); f 942 src/LLVM_Runtime_Linker.cpp if (f.getName() == "halide_gpu_thread_barrier") { f 943 src/LLVM_Runtime_Linker.cpp f.addFnAttr(llvm::Attribute::NoDuplicate); f 18 src/Lambda.h Func f("lambda" + Internal::unique_name('_')); f 19 src/Lambda.h f(_) = e; f 20 src/Lambda.h return f; f 28 src/Lambda.h Func f("lambda" + Internal::unique_name('_')); f 29 src/Lambda.h f(x) = e; f 30 src/Lambda.h return f; f 38 src/Lambda.h Func f("lambda" + Internal::unique_name('_')); f 39 src/Lambda.h f(x, y) = e; f 40 src/Lambda.h return f; f 48 src/Lambda.h Func f("lambda" + Internal::unique_name('_')); f 49 src/Lambda.h f(x, y, z) = e; f 50 src/Lambda.h return f; f 58 src/Lambda.h Func f("lambda" + Internal::unique_name('_')); f 59 src/Lambda.h f(x, y, z, w) = e; f 60 src/Lambda.h return f; f 68 src/Lambda.h Func f("lambda" + Internal::unique_name('_')); f 69 src/Lambda.h f(x, y, z, w, v) = e; f 70 src/Lambda.h return f; f 85 src/Lower.cpp for (Function f : output_funcs) { f 86 src/Lower.cpp map<string, Function> more_funcs = find_transitive_calls(f); f 95 src/Lower.cpp for (Function f: outputs) { f 96 src/Lower.cpp Func(f).compute_root().store_root(); f 100 src/Lower.cpp for (auto &f : env) { f 101 src/Lower.cpp f.second.substitute_schedule_param_exprs(); f 326 src/Memoization.cpp const Function f(iter->second); f 329 src/Memoization.cpp if (f.same_as(o)) { f 330 src/Memoization.cpp user_error << "Function " << f.name() << " cannot be memoized because " f 341 src/Memoization.cpp if (!f.schedule().compute_level().match(f.schedule().store_level())) { f 342 src/Memoization.cpp user_error << "Function " << f.name() << " cannot be memoized because " f 348 src/Memoization.cpp KeyInfo key_info(f, top_level_name); f 363 src/Memoization.cpp key_info.generate_lookup(cache_key_name, computed_bounds_name, f.outputs(), op->name), f 368 src/Memoization.cpp builder.dimensions = f.dimensions(); f 369 src/Memoization.cpp std::string max_stage_num = std::to_string(f.updates().size()); f 370 src/Memoization.cpp for (const std::string arg : f.args()) { f 409 src/Memoization.cpp const Function f(iter->second); f 410 src/Memoization.cpp KeyInfo key_info(f, top_level_name); f 416 src/Memoization.cpp IfThenElse::make(cache_miss, key_info.store_computation(cache_key_name, computed_bounds_name, f.outputs(), op->name)); f 31 src/Module.cpp for (const auto &f : dir_files) { f 32 src/Module.cpp debug(1) << "file_unlink: " << f << "\n"; f 33 src/Module.cpp file_unlink(f); f 120 src/Module.cpp EXPORT RefCount &ref_count<ModuleContents>(const ModuleContents *f) { f 121 src/Module.cpp return f->ref_count; f 125 src/Module.cpp EXPORT void destroy<ModuleContents>(const ModuleContents *f) { f 126 src/Module.cpp delete f; f 186 src/Module.cpp for (const auto &f : functions()) { f 187 src/Module.cpp if (f.name == name) { f 188 src/Module.cpp return f; f 229 src/Module.cpp for (const auto &f : input.functions()) { f 230 src/Module.cpp output.append(f); f 272 src/Module.cpp for (const auto &f : functions()) { f 273 src/Module.cpp lowered_module.append(f); f 469 src/Module.cpp for (auto f : must_match_features) { f 470 src/Module.cpp if (target.has_feature(f) != base_target.has_feature(f)) { f 471 src/Module.cpp user_error << "All Targets must have feature " << f << " set identically for compile_multitarget.\n"; f 593 src/Module.cpp for (auto &f : futures) { f 594 src/Module.cpp f.wait(); f 43 src/ParallelRVar.cpp FindLoads(const string &f) : func(f) {} f 93 src/ParallelRVar.cpp const string &f, f 99 src/ParallelRVar.cpp FindLoads find(f); f 787 src/PartitionLoops.cpp const For *f = body.as<For>(); f 790 src/PartitionLoops.cpp if (f && in_gpu_loop && !in_thread_loop) { f 791 src/PartitionLoops.cpp internal_assert(!expr_uses_var(f->min, op->name) && f 792 src/PartitionLoops.cpp !expr_uses_var(f->extent, op->name)); f 793 src/PartitionLoops.cpp Stmt inner = LetStmt::make(op->name, op->value, f->body); f 794 src/PartitionLoops.cpp inner = For::make(f->name, f->min, f->extent, f->for_type, f->device_api, inner); f 932 src/PartitionLoops.cpp const Select *f = op->false_value.as<Select>(); f 937 src/PartitionLoops.cpp } else if (f && equal(op->true_value, f->true_value)) { f 939 src/PartitionLoops.cpp expr = mutate(select(op->condition || f->condition, op->true_value, f->false_value)); f 137 src/Pipeline.cpp for (Func f: outputs) { f 138 src/Pipeline.cpp f.function().freeze(); f 139 src/Pipeline.cpp contents->outputs.push_back(f.function()); f 145 src/Pipeline.cpp for (Function f : contents->outputs) { f 146 src/Pipeline.cpp funcs.push_back(Func(f)); f 157 src/Pipeline.cpp for (Function f : contents->outputs) { f 158 src/Pipeline.cpp user_assert(f.has_pure_definition() || f.has_extern_definition()) f 416 src/Pipeline.cpp auto f = module.get_function_by_name(name); f 421 src/Pipeline.cpp JITModule jit_module(module, f, make_externs_jit_module(target_arg, lowered_externs)); f 670 src/Pipeline.cpp for (Function f : contents->outputs) { f 671 src/Pipeline.cpp for (Type t : f.output_types()) { f 672 src/Pipeline.cpp OutputBufferType obt = {f, t, f.dimensions()}; f 417 src/Pipeline.h ExternSignature(RT (*f)(Args... args)) f 449 src/Pipeline.h ExternCFunction(RT (*f)(Args... args)) : ExternCFunction((void *)f, ExternSignature(f)) {} f 468 src/Pipeline.h JITExtern(RT (*f)(Args... args)) : JITExtern(ExternCFunction(f)) {} f 23 src/Prefetch.cpp const Definition &get_stage_definition(const Function &f, int stage_num) { f 25 src/Prefetch.cpp return f.definition(); f 27 src/Prefetch.cpp return f.update(stage_num - 1); f 160 src/PrintLoopNest.cpp for (Function f : output_funcs) { f 161 src/PrintLoopNest.cpp map<string, Function> more_funcs = find_transitive_calls(f); f 170 src/PrintLoopNest.cpp for (Function f: outputs) { f 171 src/PrintLoopNest.cpp Func(f).compute_root().store_root(); f 57 src/RealizationOrder.cpp for (Function f : outputs) { f 58 src/RealizationOrder.cpp if (visited.find(f.name()) == visited.end()) { f 59 src/RealizationOrder.cpp realization_order_dfs(f.name(), graph, visited, result_set, order); f 82 src/RemoveUndef.cpp Expr f = mutate(op->false_value); f 89 src/RemoveUndef.cpp if (!t.defined() && !f.defined()) { f 98 src/RemoveUndef.cpp t = f; f 99 src/RemoveUndef.cpp f = Expr(); f 102 src/RemoveUndef.cpp if (!f.defined()) { f 112 src/RemoveUndef.cpp f.same_as(op->false_value)) { f 115 src/RemoveUndef.cpp expr = Select::make(cond, t, f); f 43 src/Schedule.cpp LoopLevel::LoopLevel(Internal::Function f, VarOrRVar v) : LoopLevel(f.name(), v.name(), v.is_rvar) {} f 45 src/Schedule.cpp LoopLevel::LoopLevel(Func f, VarOrRVar v) : LoopLevel(f.function().name(), v.name(), v.is_rvar) {} f 297 src/Schedule.cpp void Schedule::add_wrapper(const std::string &f, f 299 src/Schedule.cpp if (contents->wrappers.count(f)) { f 300 src/Schedule.cpp if (f.empty()) { f 302 src/Schedule.cpp << f << "\"\n"; f 304 src/Schedule.cpp internal_error << "Wrapper redefinition in function \"" << f << "\" is not allowed\n"; f 307 src/Schedule.cpp contents->wrappers[f] = wrapper; f 114 src/Schedule.h EXPORT LoopLevel(Internal::Function f, VarOrRVar v); f 115 src/Schedule.h EXPORT LoopLevel(Func f, VarOrRVar v); f 334 src/Schedule.h EXPORT void add_wrapper(const std::string &f, f 326 src/ScheduleFunctions.cpp Stmt build_produce(Function f, const Target &target) { f 328 src/ScheduleFunctions.cpp if (f.has_extern_definition()) { f 333 src/ScheduleFunctions.cpp const vector<ExternFuncArgument> &args = f.extern_arguments(); f 335 src/ScheduleFunctions.cpp const string &extern_name = f.extern_function_name(); f 387 src/ScheduleFunctions.cpp if (f.schedule().store_level() == f.schedule().compute_level()) { f 388 src/ScheduleFunctions.cpp for (int j = 0; j < f.outputs(); j++) { f 389 src/ScheduleFunctions.cpp string buf_name = f.name(); f 390 src/ScheduleFunctions.cpp if (f.outputs() > 1) { f 398 src/ScheduleFunctions.cpp buffers_to_annotate.push_back({buffer, f.dimensions()}); f 403 src/ScheduleFunctions.cpp string stride_name = f.name(); f 404 src/ScheduleFunctions.cpp if (f.outputs() > 1) { f 407 src/ScheduleFunctions.cpp string stage_name = f.name() + ".s0."; f 408 src/ScheduleFunctions.cpp const vector<string> f_args = f.args(); f 409 src/ScheduleFunctions.cpp for (int j = 0; j < f.outputs(); j++) { f 410 src/ScheduleFunctions.cpp string src_buf_name = f.name(); f 411 src/ScheduleFunctions.cpp if (f.outputs() > 1) { f 424 src/ScheduleFunctions.cpp {(int)sizeof(halide_dimension_t) * f.dimensions()}, Call::Intrinsic); f 428 src/ScheduleFunctions.cpp internal_assert(f.dimensions() == (int)f.args().size()); f 429 src/ScheduleFunctions.cpp for (const string arg : f.args()) { f 441 src/ScheduleFunctions.cpp string buf_name = f.name() + "." + std::to_string(j) + ".tmp_buffer"; f 445 src/ScheduleFunctions.cpp buffers_to_annotate.push_back({extern_call_args.back(), f.dimensions()}); f 487 src/ScheduleFunctions.cpp Expr e = f.make_call_to_extern_definition(extern_call_args, target); f 507 src/ScheduleFunctions.cpp string prefix = f.name() + ".s0."; f 508 src/ScheduleFunctions.cpp vector<string> dims = f.args(); f 509 src/ScheduleFunctions.cpp return build_provide_loop_nest(f.name(), prefix, dims, f.definition(), false); f 514 src/ScheduleFunctions.cpp vector<Stmt> build_update(Function f) { f 518 src/ScheduleFunctions.cpp for (size_t i = 0; i < f.updates().size(); i++) { f 519 src/ScheduleFunctions.cpp const Definition &def = f.update(i); f 521 src/ScheduleFunctions.cpp string prefix = f.name() + ".s" + std::to_string(i+1) + "."; f 523 src/ScheduleFunctions.cpp vector<string> dims = f.args(); f 524 src/ScheduleFunctions.cpp Stmt loop = build_provide_loop_nest(f.name(), prefix, dims, def, true); f 596 src/ScheduleFunctions.cpp IsUsedInStmt(Function f) : func(f.name()), result(false) { f 601 src/ScheduleFunctions.cpp bool function_is_used_in_stmt(Function f, Stmt s) { f 602 src/ScheduleFunctions.cpp IsUsedInStmt is_called(f); f 615 src/ScheduleFunctions.cpp InjectRealization(const Function &f, bool o, const Target &t) : f 616 src/ScheduleFunctions.cpp func(f), is_output(o), f 787 src/ScheduleFunctions.cpp ComputeLegalSchedules(Function f, const map<string, Function> &env) : found(false), func(f), env(env) {} f 797 src/ScheduleFunctions.cpp void visit(const For *f) { f 798 src/ScheduleFunctions.cpp f->min.accept(this); f 799 src/ScheduleFunctions.cpp f->extent.accept(this); f 800 src/ScheduleFunctions.cpp size_t first_dot = f->name.find('.'); f 801 src/ScheduleFunctions.cpp size_t last_dot = f->name.rfind('.'); f 803 src/ScheduleFunctions.cpp string func = f->name.substr(0, first_dot); f 804 src/ScheduleFunctions.cpp string var = f->name.substr(last_dot + 1); f 814 src/ScheduleFunctions.cpp Site s = {f->is_parallel() || f 815 src/ScheduleFunctions.cpp f->for_type == ForType::Vectorized, f 818 src/ScheduleFunctions.cpp f->body.accept(this); f 860 src/ScheduleFunctions.cpp string schedule_to_source(Function f, f 864 src/ScheduleFunctions.cpp ss << f.name(); f 904 src/ScheduleFunctions.cpp StmtUsesFunc(string f) : func(f) {} f 971 src/ScheduleFunctions.cpp PrintUsesOfFunc(string f, std::ostream &s) : func(f), stream(s) {} f 978 src/ScheduleFunctions.cpp bool validate_schedule(Function f, Stmt s, const Target &target, bool is_output, const map<string, Function> &env) { f 981 src/ScheduleFunctions.cpp if (f.has_extern_definition()) { f 982 src/ScheduleFunctions.cpp for (const ExternFuncArgument &arg : f.extern_arguments()) { f 988 src/ScheduleFunctions.cpp << "because it is used in the externally-computed function " << f.name() << "\n"; f 995 src/ScheduleFunctions.cpp bool any_scheduled = f.schedule().touched(); f 996 src/ScheduleFunctions.cpp for (const Definition &r : f.updates()) { f 1000 src/ScheduleFunctions.cpp for (size_t i = 0; i < f.updates().size(); i++) { f 1001 src/ScheduleFunctions.cpp const Definition &r = f.update(i); f 1004 src/ScheduleFunctions.cpp << " of function " << f.name() f 1008 src/ScheduleFunctions.cpp << f.name() << ".update(" << i << ") to suppress" f 1017 src/ScheduleFunctions.cpp definitions.push_back(f.definition()); f 1018 src/ScheduleFunctions.cpp for (const Definition &def : f.updates()) { f 1032 src/ScheduleFunctions.cpp user_error << "Schedule for Func " << f.name() f 1040 src/ScheduleFunctions.cpp LoopLevel store_at = f.schedule().store_level(); f 1041 src/ScheduleFunctions.cpp LoopLevel compute_at = f.schedule().compute_level(); f 1049 src/ScheduleFunctions.cpp user_error << "Func " << f.name() << " is an output, so must" f 1055 src/ScheduleFunctions.cpp ComputeLegalSchedules legal(f, env); f 1069 src/ScheduleFunctions.cpp if (f.is_pure()) { f 1070 src/ScheduleFunctions.cpp validate_schedule_inlined_function(f); f 1095 src/ScheduleFunctions.cpp err << "Func \"" << f.name() f 1105 src/ScheduleFunctions.cpp err << "Func \"" << f.name() << "\" is computed at the following invalid location:\n" f 1106 src/ScheduleFunctions.cpp << " " << schedule_to_source(f, store_at, compute_at) << "\n" f 1109 src/ScheduleFunctions.cpp err << " " << schedule_to_source(f, sites[i].loop_level, sites[i].loop_level) << "\n"; f 1111 src/ScheduleFunctions.cpp err << "\"" << f.name() << "\" is used in the following places:\n"; f 1112 src/ScheduleFunctions.cpp PrintUsesOfFunc printer(f.name(), err); f 1157 src/ScheduleFunctions.cpp Function f = env.find(order[i-1])->second; f 1161 src/ScheduleFunctions.cpp is_output |= o.same_as(f); f 1164 src/ScheduleFunctions.cpp bool necessary = validate_schedule(f, s, target, is_output, env); f 1176 src/ScheduleFunctions.cpp if (f.can_be_inlined() && f 1177 src/ScheduleFunctions.cpp f.schedule().compute_level().is_inline()) { f 1179 src/ScheduleFunctions.cpp s = inline_function(s, f); f 1182 src/ScheduleFunctions.cpp InjectRealization injector(f, is_output, target); f 1186 src/ScheduleFunctions.cpp any_memoized = any_memoized || f.schedule().memoized(); f 44 src/Simplify.cpp const FloatImm *f = e.as<FloatImm>(); f 45 src/Simplify.cpp if (f && !std::isnan(f->value)) return true; f 266 src/Simplify.cpp bool const_float(const Expr &e, double *f) { f 270 src/Simplify.cpp *f = *p; f 476 src/Simplify.cpp double f = 0.0; f 482 src/Simplify.cpp const_float(value, &f)) { f 484 src/Simplify.cpp expr = IntImm::make(op->type, (int64_t)f); f 486 src/Simplify.cpp const_float(value, &f)) { f 488 src/Simplify.cpp expr = UIntImm::make(op->type, (uint64_t)f); f 490 src/Simplify.cpp const_float(value, &f)) { f 492 src/Simplify.cpp expr = FloatImm::make(op->type, f); f 2881 src/Simplify.cpp bool f = true; f 2885 src/Simplify.cpp f = false; f 2893 src/Simplify.cpp } else if (f) { f 4108 src/Simplify.cpp double f = 0.0; f 4109 src/Simplify.cpp if (const_float(arg, &f)) { f 4110 src/Simplify.cpp expr = std::isnan(f); f 4172 src/Simplify.cpp if (const double *f = as_const_float(arg)) { f 4173 src/Simplify.cpp expr = FloatImm::make(arg.type(), std::sqrt(*f)); f 4185 src/Simplify.cpp if (const double *f = as_const_float(arg)) { f 4186 src/Simplify.cpp expr = FloatImm::make(arg.type(), std::log(*f)); f 4198 src/Simplify.cpp if (const double *f = as_const_float(arg)) { f 4199 src/Simplify.cpp expr = FloatImm::make(arg.type(), std::exp(*f)); f 4230 src/Simplify.cpp if (const double *f = as_const_float(arg)) { f 4232 src/Simplify.cpp expr = FloatImm::make(arg.type(), std::floor(*f)); f 4234 src/Simplify.cpp expr = FloatImm::make(arg.type(), std::ceil(*f)); f 4236 src/Simplify.cpp expr = FloatImm::make(arg.type(), std::nearbyint(*f)); f 4238 src/Simplify.cpp expr = FloatImm::make(arg.type(), (*f < 0 ? std::ceil(*f) : std::floor(*f))); f 5139 src/Simplify.cpp Expr t = const_true(), f = const_false(); f 5698 src/Simplify.cpp Expr t = const_true(), f = const_false(); f 5703 src/Simplify.cpp check(x == (x+1), f); f 5715 src/Simplify.cpp check(x < x, f); f 5723 src/Simplify.cpp check(x*0 < y*0, f); f 5741 src/Simplify.cpp check(!f, t); f 5742 src/Simplify.cpp check(!t, f); f 5755 src/Simplify.cpp check(b1 && !b1, f); f 5756 src/Simplify.cpp check(!b1 && b1, f); f 5761 src/Simplify.cpp check(broadcast(b1, 4) && broadcast(!b1, 4), broadcast(f, 4)); f 5762 src/Simplify.cpp check(broadcast(!b1, 4) && broadcast(b1, 4), broadcast(f, 4)); f 5768 src/Simplify.cpp check((x == 1) && (x != 1), f); f 5769 src/Simplify.cpp check((x != 1) && (x == 1), f); f 5780 src/Simplify.cpp check(x < 20 && x > 19, f); f 5781 src/Simplify.cpp check(x > 19 && x < 20, f); f 5789 src/Simplify.cpp check(x <= 18 && x > 19, f); f 5790 src/Simplify.cpp check(x > 19 && x <= 18, f); f 5798 src/Simplify.cpp check(x < 18 && x >= 19, f); f 5799 src/Simplify.cpp check(x >= 19 && x < 18, f); f 5807 src/Simplify.cpp check(x <= 18 && x >= 19, f); f 5808 src/Simplify.cpp check(x >= 19 && x <= 18, f); f 5823 src/Simplify.cpp check(f && (x < 0), f); f 5825 src/Simplify.cpp check(f || (x < 0), x < 0); f 5829 src/Simplify.cpp check(x == y && x != y, f); f 5830 src/Simplify.cpp check(x == y && y != x, f); f 5833 src/Simplify.cpp check(x < y && x >= y, f); f 5834 src/Simplify.cpp check(x <= y && x > y, f); f 5837 src/Simplify.cpp check(x < min(x, y), f); f 5839 src/Simplify.cpp check(max(x, y) < x, f); f 5863 src/Simplify.cpp check((x/8)*8 < x - 8, f); f 5864 src/Simplify.cpp check((x/8)*8 < x - 9, f); f 5865 src/Simplify.cpp check((x/8)*8 < x - 7, f); f 6117 src/Simplify.cpp Expr t = const_true(), f = const_false(); f 6149 src/Simplify.cpp check_ind_expr(select(f, zero, e), e_is_indeterminate); f 6237 src/Simplify.cpp Expr t = const_true(), f = const_false(); f 82 src/Simplify.h float f = a - b * (floorf(a / b)); f 84 src/Simplify.h return f; f 87 src/Simplify.h double f = a - b * (std::floor(a / b)); f 88 src/Simplify.h return f; f 54 src/SimplifySpecializations.cpp SimplifyUsingFact(Expr f) : fact(f) {} f 307 src/SkipStages.cpp StageSkipper(const string &f) : func(f), in_vector_loop(false) {} f 456 src/SkipStages.cpp MightBeSkippable(string f) : func(f), guarded(false), result(false) {} f 323 src/SlidingWindow.cpp SlidingWindowOnFunctionAndLoop(Function f, string v, Expr v_min) : func(f), loop_var(v), loop_min(v_min) {} f 353 src/SlidingWindow.cpp SlidingWindowOnFunction(Function f) : func(f) {} f 109 src/SplitTuples.cpp Function f = it->second; f 111 src/SplitTuples.cpp if (f.outputs() > 1) { f 122 src/SplitTuples.cpp expr = Call::make(op->type, name, args, op->call_type, f.get_contents()); f 163 src/SplitTuples.cpp Function f = it->second; f 706 src/StmtToHtml.cpp for (const auto &f : m.functions()) { f 707 src/StmtToHtml.cpp sth.print(f); f 28 src/StorageFlattening.cpp for (auto &f : o) { f 29 src/StorageFlattening.cpp outputs.insert(f.name()); f 116 src/StorageFlattening.cpp Function f = iter->second.first; f 117 src/StorageFlattening.cpp const vector<StorageDim> &storage_dims = f.schedule().storage_dims(); f 118 src/StorageFlattening.cpp const vector<string> &args = f.args(); f 196 src/StorageFlattening.cpp const Function &f = it->second.first; f 204 src/StorageFlattening.cpp if (outputs.count(f.name())) { f 205 src/StorageFlattening.cpp output_buf = f.output_buffers()[idx]; f 249 src/StorageFlattening.cpp Function f = iter->second.first; f 250 src/StorageFlattening.cpp const vector<StorageDim> &storage_dims = f.schedule().storage_dims(); f 251 src/StorageFlattening.cpp const vector<string> &args = f.args(); f 86 src/StorageFolding.cpp FoldStorageOfFunction(string f, int d, Expr e) : f 87 src/StorageFolding.cpp func(f), dim(d), factor(e) {} f 261 src/StorageFolding.cpp AttemptStorageFoldingOfFunction(Function f, bool explicit_only) f 262 src/StorageFolding.cpp : func(f), explicit_only(explicit_only) {} f 273 src/StorageFolding.cpp IsBufferSpecial(string f) : func(f) {} f 333 src/StorageFolding.cpp Expr f = folder.dims_folded[i].factor; f 337 src/StorageFolding.cpp bounds[d] = Range(0, f); f 113 src/Target.h void set_feature(Feature f, bool value = true) { f 114 src/Target.h if (f == FeatureEnd) return; f 115 src/Target.h user_assert(f < FeatureEnd) << "Invalid Target feature.\n"; f 116 src/Target.h features.set(f, value); f 120 src/Target.h for (Feature f : features_to_set) { f 121 src/Target.h set_feature(f, value); f 125 src/Target.h bool has_feature(Feature f) const { f 126 src/Target.h if (f == FeatureEnd) return true; f 127 src/Target.h user_assert(f < FeatureEnd) << "Invalid Target feature.\n"; f 128 src/Target.h return features[f]; f 132 src/Target.h for (Feature f : test_features) { f 133 src/Target.h if (has_feature(f)) { f 141 src/Target.h for (Feature f : test_features) { f 142 src/Target.h if (!has_feature(f)) { f 153 src/Target.h Target with_feature(Feature f) const { f 155 src/Target.h copy.set_feature(f); f 163 src/Target.h Target without_feature(Feature f) const { f 165 src/Target.h copy.set_feature(f, false); f 76 src/Tracing.cpp Function f = env.find(op->name)->second; f 77 src/Tracing.cpp internal_assert(!f.can_be_inlined() || !f.schedule().compute_level().is_inline()); f 79 src/Tracing.cpp trace_it = f.is_tracing_loads() || trace_all_loads; f 113 src/Tracing.cpp Function f = iter->second; f 114 src/Tracing.cpp internal_assert(!f.can_be_inlined() || !f.schedule().compute_level().is_inline()); f 116 src/Tracing.cpp if (f.is_tracing_stores() || trace_all_stores) { f 123 src/Tracing.cpp builder.func = f.name(); f 169 src/Tracing.cpp Function f = iter->second; f 170 src/Tracing.cpp if (f.is_tracing_realizations() || trace_all_realizations) { f 191 src/Tracing.cpp } else if (f.is_tracing_stores() || f.is_tracing_loads()) { f 206 src/Tracing.cpp Function f = iter->second; f 207 src/Tracing.cpp if (f.is_tracing_realizations() || trace_all_realizations) { f 214 src/Tracing.cpp const vector<string> f_args = f.args(); f 215 src/Tracing.cpp for (int i = 0; i < f.dimensions(); i++) { f 216 src/Tracing.cpp Expr min = Variable::make(Int(32), f.name() + ".s0." + f_args[i] + ".min"); f 217 src/Tracing.cpp Expr max = Variable::make(Int(32), f.name() + ".s0." + f_args[i] + ".max"); f 236 src/Tracing.cpp stmt = LetStmt::make(f.name() + ".trace_id", begin_op_call, f 247 src/Tracing.cpp for (Function f : outputs) { f 248 src/Tracing.cpp if (op->name == f.name()) { f 7 src/Tuple.cpp Tuple::Tuple(const FuncRef &f) : exprs(f.size()) { f 8 src/Tuple.cpp user_assert(f.size() > 1) f 10 src/Tuple.cpp << f.function().name() << "\" because it does not return a Tuple.\n"; f 11 src/Tuple.cpp for (size_t i = 0; i < f.size(); i++) { f 12 src/Tuple.cpp exprs[i] = f[i]; f 113 src/Util.h T fold_left(const std::vector<T> &vec, Fn f) { f 120 src/Util.h result = f(result, vec[i]); f 128 src/Util.h T fold_right(const std::vector<T> &vec, Fn f) { f 135 src/Util.h result = f(vec[i-1], result); f 40 src/WrapExternStages.cpp Function f(op->func); f 44 src/WrapExternStages.cpp for (ExternFuncArgument arg : f.extern_arguments()) { f 62 src/WrapExternStages.cpp for (auto b : f.output_buffers()) { f 125 src/WrapExternStages.cpp Function f(op->func); f 126 src/WrapExternStages.cpp internal_assert(f.has_extern_definition()); f 127 src/WrapExternStages.cpp if (f.extern_definition_uses_old_buffer_t()) { f 1550 src/runtime/HalideBuffer.h static void for_each_value_helper(Fn &&f, const for_each_value_task_dim<sizeof...(Ptrs)> *t, Ptrs... ptrs) { f 1552 src/runtime/HalideBuffer.h f((*ptrs)...); f 1555 src/runtime/HalideBuffer.h for_each_value_helper<(d >= 0 ? d - 1 : -1), innermost_strides_are_one>(f, t, ptrs...); f 1568 src/runtime/HalideBuffer.h static void for_each_value_helper(Fn &&f, int d, const for_each_value_task_dim<sizeof...(Ptrs)> *t, Ptrs... ptrs) { f 1572 src/runtime/HalideBuffer.h for_each_value_helper<-1, innermost_strides_are_one>(f, t, ptrs...); f 1574 src/runtime/HalideBuffer.h for_each_value_helper<0, innermost_strides_are_one>(f, t, ptrs...); f 1576 src/runtime/HalideBuffer.h for_each_value_helper<1, innermost_strides_are_one>(f, t, ptrs...); f 1578 src/runtime/HalideBuffer.h for_each_value_helper<2, innermost_strides_are_one>(f, t, ptrs...); f 1581 src/runtime/HalideBuffer.h for_each_value_helper<innermost_strides_are_one>(f, d-1, t, ptrs...); f 1598 src/runtime/HalideBuffer.h void for_each_value(Fn &&f, Args... other_buffers) { f 1644 src/runtime/HalideBuffer.h for_each_value_helper<true>(f, dimensions() - 1, t, begin(), (other_buffers.begin())...); f 1646 src/runtime/HalideBuffer.h for_each_value_helper<false>(f, dimensions() - 1, t, begin(), (other_buffers.begin())...); f 1664 src/runtime/HalideBuffer.h static void for_each_element_variadic(int, int, const for_each_element_task_dim *, Fn &&f, Args... args) { f 1665 src/runtime/HalideBuffer.h f(args...); f 1673 src/runtime/HalideBuffer.h static void for_each_element_variadic(double, int d, const for_each_element_task_dim *t, Fn &&f, Args... args) { f 1675 src/runtime/HalideBuffer.h for_each_element_variadic(0, d - 1, t, std::forward<Fn>(f), i, args...); f 1695 src/runtime/HalideBuffer.h static int num_args(double, Fn &&f, Args... args) { f 1699 src/runtime/HalideBuffer.h return num_args(0, std::forward<Fn>(f), 0, args...); f 1711 src/runtime/HalideBuffer.h static void for_each_element_array_helper(int, const for_each_element_task_dim *t, Fn &&f, int *pos) { f 1713 src/runtime/HalideBuffer.h for_each_element_array_helper<d - 1>(0, t, std::forward<Fn>(f), pos); f 1722 src/runtime/HalideBuffer.h static void for_each_element_array_helper(double, const for_each_element_task_dim *t, Fn &&f, int *pos) { f 1723 src/runtime/HalideBuffer.h f(pos); f 1732 src/runtime/HalideBuffer.h static void for_each_element_array(int d, const for_each_element_task_dim *t, Fn &&f, int *pos) { f 1734 src/runtime/HalideBuffer.h f(pos); f 1739 src/runtime/HalideBuffer.h for_each_element_array_helper<0, Fn>(0, t, std::forward<Fn>(f), pos); f 1741 src/runtime/HalideBuffer.h for_each_element_array_helper<1, Fn>(0, t, std::forward<Fn>(f), pos); f 1743 src/runtime/HalideBuffer.h for_each_element_array_helper<2, Fn>(0, t, std::forward<Fn>(f), pos); f 1745 src/runtime/HalideBuffer.h for_each_element_array_helper<3, Fn>(0, t, std::forward<Fn>(f), pos); f 1748 src/runtime/HalideBuffer.h for_each_element_array(d - 1, t, std::forward<Fn>(f), pos); f 1758 src/runtime/HalideBuffer.h static void for_each_element(int, int dims, const for_each_element_task_dim *t, Fn &&f, int check = 0) { f 1760 src/runtime/HalideBuffer.h for_each_element_array(dims - 1, t, std::forward<Fn>(f), pos); f 1767 src/runtime/HalideBuffer.h static void for_each_element(double, int dims, const for_each_element_task_dim *t, Fn &&f) { f 1768 src/runtime/HalideBuffer.h int args = num_args(0, std::forward<Fn>(f)); f 1770 src/runtime/HalideBuffer.h for_each_element_variadic(0, args - 1, t, std::forward<Fn>(f)); f 1831 src/runtime/HalideBuffer.h void for_each_element(Fn &&f) const { f 1838 src/runtime/HalideBuffer.h for_each_element(0, dimensions(), t, std::forward<Fn>(f)); f 1844 src/runtime/HalideBuffer.h Fn f; f 1850 src/runtime/HalideBuffer.h (*buf)(args...) = f(args...); f 1853 src/runtime/HalideBuffer.h FillHelper(Fn &&f, Buffer<T, D> *buf) : f(std::forward<Fn>(f)), buf(buf) {} f 1863 src/runtime/HalideBuffer.h void fill(Fn &&f) { f 1865 src/runtime/HalideBuffer.h FillHelper<Fn> wrapper(std::forward<Fn>(f), this); f 139 src/runtime/HalideRuntime.h extern int halide_do_task(void *user_context, halide_task_t f, int idx, f 148 src/runtime/HalideRuntime.h extern struct halide_thread *halide_spawn_thread(void (*f)(void *), void *closure); f 969 src/runtime/HalideRuntime.h HALIDE_ALWAYS_INLINE halide_dimension_t(int32_t m, int32_t e, int32_t s, uint32_t f = 0) : f 970 src/runtime/HalideRuntime.h min(m), extent(e), stride(s), flags(f) {} f 743 src/runtime/cuda.cpp CUfunction f; f 744 src/runtime/cuda.cpp err = cuModuleGetFunction(&f, mod, entry_name); f 745 src/runtime/cuda.cpp debug(user_context) << "Got function " << f << "\n"; f 777 src/runtime/cuda.cpp err = cuLaunchKernel(f, f 35 src/runtime/cuda_functions.h CUDA_FN(CUresult, cuLaunchKernel, (CUfunction f, f 4 src/runtime/fake_thread_pool.cpp WEAK int halide_do_task(void *user_context, halide_task_t f, int idx, f 10 src/runtime/fake_thread_pool.cpp WEAK int default_do_task(void *user_context, halide_task_t f, int idx, f 12 src/runtime/fake_thread_pool.cpp return f(user_context, idx, closure); f 15 src/runtime/fake_thread_pool.cpp WEAK int default_do_par_for(void *user_context, halide_task_t f, f 18 src/runtime/fake_thread_pool.cpp int result = halide_do_task(user_context, f, x, closure); f 33 src/runtime/fake_thread_pool.cpp WEAK halide_thread *halide_spawn_thread(void (*f)(void *), void *closure) { f 58 src/runtime/fake_thread_pool.cpp WEAK halide_do_task_t halide_set_custom_do_task(halide_do_task_t f) { f 60 src/runtime/fake_thread_pool.cpp custom_do_task = f; f 64 src/runtime/fake_thread_pool.cpp WEAK halide_do_par_for_t halide_set_custom_do_par_for(halide_do_par_for_t f) { f 66 src/runtime/fake_thread_pool.cpp custom_do_par_for = f; f 70 src/runtime/fake_thread_pool.cpp WEAK int halide_do_task(void *user_context, halide_task_t f, int idx, f 72 src/runtime/fake_thread_pool.cpp return (*custom_do_task)(user_context, f, idx, closure); f 75 src/runtime/fake_thread_pool.cpp WEAK int halide_do_par_for(void *user_context, halide_task_t f, f 77 src/runtime/fake_thread_pool.cpp return (*custom_do_par_for)(user_context, f, min, size, closure); f 28 src/runtime/gcd_thread_pool.cpp WEAK int halide_do_task(void *user_context, halide_task_t f, int idx, f 35 src/runtime/gcd_thread_pool.cpp void (*f)(void *); f 41 src/runtime/gcd_thread_pool.cpp t->f(t->closure); f 47 src/runtime/gcd_thread_pool.cpp WEAK halide_thread *halide_spawn_thread(void (*f)(void *), void *closure) { f 49 src/runtime/gcd_thread_pool.cpp thread->f = f; f 80 src/runtime/gcd_thread_pool.cpp WEAK int default_do_task(void *user_context, int (*f)(void *, int, uint8_t *), f 82 src/runtime/gcd_thread_pool.cpp return f(user_context, idx, closure); f 86 src/runtime/gcd_thread_pool.cpp int (*f)(void *, int, uint8_t *); f 97 src/runtime/gcd_thread_pool.cpp j->exit_status = halide_do_task(j->user_context, j->f, j->min + (int)idx, f 101 src/runtime/gcd_thread_pool.cpp WEAK int default_do_par_for(void *user_context, halide_task_t f, f 107 src/runtime/gcd_thread_pool.cpp int result = halide_do_task(user_context, f, x, closure); f 116 src/runtime/gcd_thread_pool.cpp job.f = f; f 164 src/runtime/gcd_thread_pool.cpp WEAK halide_do_task_t halide_set_custom_do_task(halide_do_task_t f) { f 166 src/runtime/gcd_thread_pool.cpp custom_do_task = f; f 170 src/runtime/gcd_thread_pool.cpp WEAK halide_do_par_for_t halide_set_custom_do_par_for(halide_do_par_for_t f) { f 172 src/runtime/gcd_thread_pool.cpp custom_do_par_for = f; f 176 src/runtime/gcd_thread_pool.cpp WEAK int halide_do_task(void *user_context, halide_task_t f, int idx, f 178 src/runtime/gcd_thread_pool.cpp return (*custom_do_task)(user_context, f, idx, closure); f 181 src/runtime/gcd_thread_pool.cpp WEAK int halide_do_par_for(void *user_context, halide_task_t f, f 183 src/runtime/gcd_thread_pool.cpp return (*custom_do_par_for)(user_context, f, min, size, closure); f 126 src/runtime/hexagon_remote/sim_remote.cpp int halide_do_task(void *user_context, halide_task_t f, int idx, f 128 src/runtime/hexagon_remote/sim_remote.cpp return f(user_context, idx, closure); f 131 src/runtime/hexagon_remote/sim_remote.cpp int halide_do_par_for(void *user_context, halide_task_t f, f 134 src/runtime/hexagon_remote/sim_remote.cpp int result = halide_do_task(user_context, f, x, closure); f 16 src/runtime/hexagon_remote/thread_pool.cpp void (*f)(void *); f 23 src/runtime/hexagon_remote/thread_pool.cpp t->f(t->closure); f 29 src/runtime/hexagon_remote/thread_pool.cpp struct halide_thread *halide_spawn_thread(void (*f)(void *), void *closure) { f 31 src/runtime/hexagon_remote/thread_pool.cpp t->f = f; f 157 src/runtime/hexagon_remote/thread_pool.cpp int halide_do_task(void *user_context, halide_task_t f, f 165 src/runtime/hexagon_remote/thread_pool.cpp int ret = f(user_context, idx, c->closure); f 169 src/runtime/hexagon_remote/thread_pool.cpp return f(user_context, idx, c->closure); f 57 src/runtime/noos.cpp WEAK halide_do_task_t halide_set_custom_do_task(halide_do_task_t f) { f 59 src/runtime/noos.cpp custom_do_task = f; f 63 src/runtime/noos.cpp WEAK halide_do_par_for_t halide_set_custom_do_par_for(halide_do_par_for_t f) { f 65 src/runtime/noos.cpp custom_do_par_for = f; f 69 src/runtime/noos.cpp WEAK halide_get_symbol_t halide_set_custom_get_symbol(halide_get_symbol_t f) { f 71 src/runtime/noos.cpp custom_get_symbol = f; f 75 src/runtime/noos.cpp WEAK halide_load_library_t halide_set_custom_load_library(halide_load_library_t f) { f 77 src/runtime/noos.cpp custom_load_library = f; f 81 src/runtime/noos.cpp WEAK halide_get_library_symbol_t halide_set_custom_get_library_symbol(halide_get_library_symbol_t f) { f 83 src/runtime/noos.cpp custom_get_library_symbol = f; f 87 src/runtime/noos.cpp WEAK int halide_do_task(void *user_context, halide_task_t f, int idx, f 89 src/runtime/noos.cpp return (*custom_do_task)(user_context, f, idx, closure); f 92 src/runtime/noos.cpp WEAK int halide_do_par_for(void *user_context, halide_task_t f, f 94 src/runtime/noos.cpp return (*custom_do_par_for)(user_context, f, min, size, closure); f 948 src/runtime/opencl.cpp cl_kernel f = clCreateKernel(program, entry_name, &err); f 982 src/runtime/opencl.cpp err = clSetKernelArg(f, i, sizeof(void *), &opencl_handle); f 984 src/runtime/opencl.cpp err = clSetKernelArg(f, i, arg_sizes[i], this_arg); f 999 src/runtime/opencl.cpp err = clSetKernelArg(f, i, (shared_mem_bytes > 0) ? shared_mem_bytes : 1, NULL); f 1011 src/runtime/opencl.cpp err = clEnqueueNDRangeKernel(ctx.cmd_queue, f, f 1023 src/runtime/opencl.cpp debug(user_context) << " Releasing kernel " << (void *)f << "\n"; f 1024 src/runtime/opencl.cpp clReleaseKernel(f); f 1025 src/runtime/opencl.cpp debug(user_context) << " clReleaseKernel finished" << (void *)f << "\n"; f 42 src/runtime/osx_get_symbol.cpp WEAK halide_get_symbol_t halide_set_custom_get_symbol(halide_get_symbol_t f) { f 44 src/runtime/osx_get_symbol.cpp custom_get_symbol = f; f 48 src/runtime/osx_get_symbol.cpp WEAK halide_load_library_t halide_set_custom_load_library(halide_load_library_t f) { f 50 src/runtime/osx_get_symbol.cpp custom_load_library = f; f 54 src/runtime/osx_get_symbol.cpp WEAK halide_get_library_symbol_t halide_set_custom_get_library_symbol(halide_get_library_symbol_t f) { f 56 src/runtime/osx_get_symbol.cpp custom_get_library_symbol = f; f 40 src/runtime/posix_get_symbol.cpp WEAK halide_get_symbol_t halide_set_custom_get_symbol(halide_get_symbol_t f) { f 42 src/runtime/posix_get_symbol.cpp custom_get_symbol = f; f 46 src/runtime/posix_get_symbol.cpp WEAK halide_load_library_t halide_set_custom_load_library(halide_load_library_t f) { f 48 src/runtime/posix_get_symbol.cpp custom_load_library = f; f 52 src/runtime/posix_get_symbol.cpp WEAK halide_get_library_symbol_t halide_set_custom_get_library_symbol(halide_get_library_symbol_t f) { f 54 src/runtime/posix_get_symbol.cpp custom_get_library_symbol = f; f 36 src/runtime/posix_threads.cpp void (*f)(void *); f 42 src/runtime/posix_threads.cpp t->f(t->closure); f 49 src/runtime/posix_threads.cpp WEAK struct halide_thread *halide_spawn_thread(void (*f)(void *), void *closure) { f 51 src/runtime/posix_threads.cpp t->f = f; f 80 src/runtime/profiler.cpp halide_profiler_func_stats *f = p->funcs + func_id - p->first_func_id; f 81 src/runtime/profiler.cpp f->time += time; f 82 src/runtime/profiler.cpp f->active_threads_numerator += active_threads; f 83 src/runtime/profiler.cpp f->active_threads_denominator += 1; f 18 src/runtime/thread_pool.cpp WEAK halide_do_task_t halide_set_custom_do_task(halide_do_task_t f) { f 20 src/runtime/thread_pool.cpp custom_do_task = f; f 24 src/runtime/thread_pool.cpp WEAK halide_do_par_for_t halide_set_custom_do_par_for(halide_do_par_for_t f) { f 26 src/runtime/thread_pool.cpp custom_do_par_for = f; f 30 src/runtime/thread_pool.cpp WEAK int halide_do_task(void *user_context, halide_task_t f, int idx, f 32 src/runtime/thread_pool.cpp return (*custom_do_task)(user_context, f, idx, closure); f 35 src/runtime/thread_pool.cpp WEAK int halide_do_par_for(void *user_context, halide_task_t f, f 37 src/runtime/thread_pool.cpp return (*custom_do_par_for)(user_context, f, min, size, closure); f 6 src/runtime/thread_pool_common.h int (*f)(void *, int, uint8_t *); f 62 src/runtime/thread_pool_common.h WEAK int default_do_task(void *user_context, halide_task_t f, int idx, f 64 src/runtime/thread_pool_common.h return f(user_context, idx, closure); f 136 src/runtime/thread_pool_common.h int result = halide_do_task(myjob.user_context, myjob.f, myjob.next, f 164 src/runtime/thread_pool_common.h WEAK int default_do_par_for(void *user_context, halide_task_t f, f 201 src/runtime/thread_pool_common.h job.f = f; // The job should call this function. It takes an index and a closure. f 152 src/runtime/to_string.cpp double f; f 156 src/runtime/to_string.cpp f = n; f 159 src/runtime/to_string.cpp f = n - (integer_part << (-exponent)); f 174 src/runtime/to_string.cpp f = f * multiplier.as_double + 0.5; f 177 src/runtime/to_string.cpp fractional_part = (uint64_t)f; f 178 src/runtime/to_string.cpp if (fractional_part == f && f 45 src/runtime/windows_get_symbol.cpp WEAK halide_get_symbol_t halide_set_custom_get_symbol(halide_get_symbol_t f) { f 47 src/runtime/windows_get_symbol.cpp custom_get_symbol = f; f 51 src/runtime/windows_get_symbol.cpp WEAK halide_load_library_t halide_set_custom_load_library(halide_load_library_t f) { f 53 src/runtime/windows_get_symbol.cpp custom_load_library = f; f 57 src/runtime/windows_get_symbol.cpp WEAK halide_get_library_symbol_t halide_set_custom_get_library_symbol(halide_get_library_symbol_t f) { f 59 src/runtime/windows_get_symbol.cpp custom_get_library_symbol = f; f 29 src/runtime/windows_threads.cpp extern WIN32API bool InitOnceExecuteOnce(InitOnce *, bool WIN32API (*f)(InitOnce *, void *, void **), void *, void **); f 46 src/runtime/windows_threads.cpp void(*f)(void *); f 52 src/runtime/windows_threads.cpp t->f(t->closure); f 60 src/runtime/windows_threads.cpp WEAK halide_thread *halide_spawn_thread(void(*f)(void *), void *closure) { f 62 src/runtime/windows_threads.cpp t->f = f; f 75 src/runtime/write_debug_image.cpp const char *f = filename; f 77 src/runtime/write_debug_image.cpp while (*f != '\0') f++; f 78 src/runtime/write_debug_image.cpp while (f != filename && *f != '.') f--; f 80 src/runtime/write_debug_image.cpp if (*f != '.') return false; f 81 src/runtime/write_debug_image.cpp f++; f 83 src/runtime/write_debug_image.cpp if (*f != 't' && *f != 'T') return false; f 84 src/runtime/write_debug_image.cpp f++; f 86 src/runtime/write_debug_image.cpp if (*f != 'i' && *f != 'I') return false; f 87 src/runtime/write_debug_image.cpp f++; f 89 src/runtime/write_debug_image.cpp if (*f != 'f' && *f != 'F') return false; f 90 src/runtime/write_debug_image.cpp f++; f 92 src/runtime/write_debug_image.cpp if (*f == '\0') return true; f 94 src/runtime/write_debug_image.cpp if (*f != 'f' && *f != 'F') return false; f 95 src/runtime/write_debug_image.cpp f++; f 97 src/runtime/write_debug_image.cpp return *f == '\0'; f 112 src/runtime/write_debug_image.cpp void *f = fopen(filename, "wb"); f 113 src/runtime/write_debug_image.cpp if (!f) return -1; f 183 src/runtime/write_debug_image.cpp if (!fwrite((void *)(&header), sizeof(header), 1, f)) { f 184 src/runtime/write_debug_image.cpp fclose(f); f 192 src/runtime/write_debug_image.cpp if (!fwrite((void*)(&offset), 4, 1, f)) { f 193 src/runtime/write_debug_image.cpp fclose(f); f 200 src/runtime/write_debug_image.cpp if (!fwrite((void*)(&count), 4, 1, f)) { f 201 src/runtime/write_debug_image.cpp fclose(f); f 212 src/runtime/write_debug_image.cpp if (!fwrite((void *)(&header[0]), sizeof(header), 1, f)) { f 213 src/runtime/write_debug_image.cpp fclose(f); f 236 src/runtime/write_debug_image.cpp if (!fwrite((void *)temp, max_elts * bytes_per_element, 1, f)) { f 237 src/runtime/write_debug_image.cpp fclose(f); f 246 src/runtime/write_debug_image.cpp if (!fwrite((void *)temp, counter * bytes_per_element, 1, f)) { f 247 src/runtime/write_debug_image.cpp fclose(f); f 251 src/runtime/write_debug_image.cpp fclose(f); f 27 test/correctness/align_bounds.cpp Func f, g, h; f 30 test/correctness/align_bounds.cpp f(x) = 3; f 32 test/correctness/align_bounds.cpp g(x) = select(x % 2 == 0, f(x+1), f(x-1)+8); f 37 test/correctness/align_bounds.cpp f.compute_root(); f 90 test/correctness/align_bounds.cpp Func f, g, h; f 93 test/correctness/align_bounds.cpp f(x) = 3; f 95 test/correctness/align_bounds.cpp g(x) = select(x % 2 == 0, f(x+1), f(x-1)+8); f 100 test/correctness/align_bounds.cpp f.compute_root(); f 9 test/correctness/argmax.cpp Func f, arg_max_f; f 12 test/correctness/argmax.cpp f(x) = x * (100 - x); f 19 test/correctness/argmax.cpp Expr best_so_far = f(clamp(arg_max_f(), 0, 100)); f 20 test/correctness/argmax.cpp arg_max_f() = select(f(r) > best_so_far, r, arg_max_f()); f 13 test/correctness/assertion_failure_in_parallel_for.cpp Func f("f"), g("g"), h("h"); f 18 test/correctness/assertion_failure_in_parallel_for.cpp f(x, y) = x + y; f 19 test/correctness/assertion_failure_in_parallel_for.cpp h(x, y) = f(x, y); f 25 test/correctness/assertion_failure_in_parallel_for.cpp f.compute_at(g, y); f 19 test/correctness/autotune_bug_2.cpp Func f("f"), g("g"); f 21 test/correctness/autotune_bug_2.cpp f(x) = x; f 23 test/correctness/autotune_bug_2.cpp f(x) = r; f 24 test/correctness/autotune_bug_2.cpp f.store_root(); f 26 test/correctness/autotune_bug_2.cpp g(x) = f(x) + f(x+1); f 27 test/correctness/autotune_bug_2.cpp f.compute_at(g, x); f 30 test/correctness/autotune_bug_2.cpp f.split(x, xo, xi, 8); f 31 test/correctness/autotune_bug_2.cpp f.update(); f 33 test/correctness/autotune_bug_2.cpp f.trace_realizations().trace_stores(); f 19 test/correctness/autotune_bug_3.cpp Func f("f"), g("g"); f 21 test/correctness/autotune_bug_3.cpp f(x) = x; f 22 test/correctness/autotune_bug_3.cpp f.store_root(); f 24 test/correctness/autotune_bug_3.cpp g(x) = f(x) + f(x+1); f 25 test/correctness/autotune_bug_3.cpp f.compute_at(g, x); f 28 test/correctness/autotune_bug_3.cpp f.split(x, xo, xi, 8); f 30 test/correctness/autotune_bug_3.cpp f.trace_realizations().trace_stores(); f 19 test/correctness/autotune_bug_4.cpp Func f("f"), g("g"), h("h"); f 22 test/correctness/autotune_bug_4.cpp f(x) = x; f 23 test/correctness/autotune_bug_4.cpp g(x) = f(x); f 27 test/correctness/autotune_bug_4.cpp f.split(x, xo, xi, 4); f 30 test/correctness/autotune_bug_4.cpp f.compute_at(h, xo); f 34 test/correctness/autotune_bug_4.cpp f.trace_realizations().trace_stores().trace_loads(); f 7 test/correctness/bad_likely.cpp Func f; f 10 test/correctness/bad_likely.cpp f(x) = select(x < 10 || x > 20, likely(1), 2); f 12 test/correctness/bad_likely.cpp Buffer<int> im = f.realize(30); f 54 test/correctness/bit_counting.cpp void schedule(Func f, const Target &t) { f 57 test/correctness/bit_counting.cpp f.hexagon().vectorize(x, 128); f 59 test/correctness/bit_counting.cpp f.vectorize(x, 16); f 8 test/correctness/bound.cpp Func f, g, h; f 10 test/correctness/bound.cpp f(x, y) = max(x, y); f 11 test/correctness/bound.cpp g(x, y, c) = f(x, y) * c; f 15 test/correctness/bound.cpp Buffer<int> imf = f.realize(32, 32); f 21 test/correctness/boundary_conditions.cpp void schedule_test(Func f, int vector_width, const Target &t) { f 23 test/correctness/boundary_conditions.cpp f.vectorize(x, vector_width); f 26 test/correctness/boundary_conditions.cpp f.gpu_tile(x, y, xo, yo, xi, yi, 2, 2); f 34 test/correctness/boundary_conditions.cpp bool check_constant_exterior(const Buffer<T> &input, T exterior, Func f, f 42 test/correctness/boundary_conditions.cpp f = lambda(x, y, f(x, y)); f 43 test/correctness/boundary_conditions.cpp schedule_test(f, vector_width, t); f 44 test/correctness/boundary_conditions.cpp f.realize(result, t); f 60 test/correctness/boundary_conditions.cpp bool check_repeat_edge(const Buffer<T> &input, Func f, f 68 test/correctness/boundary_conditions.cpp f = lambda(x, y, f(x, y)); f 69 test/correctness/boundary_conditions.cpp schedule_test(f, vector_width, t); f 70 test/correctness/boundary_conditions.cpp f.realize(result, t); f 84 test/correctness/boundary_conditions.cpp bool check_repeat_image(const Buffer<T> &input, Func f, f 92 test/correctness/boundary_conditions.cpp f = lambda(x, y, f(x, y)); f 93 test/correctness/boundary_conditions.cpp schedule_test(f, vector_width, t); f 94 test/correctness/boundary_conditions.cpp f.realize(result, t); f 112 test/correctness/boundary_conditions.cpp bool check_mirror_image(const Buffer<T> &input, Func f, f 120 test/correctness/boundary_conditions.cpp f = lambda(x, y, f(x, y)); f 121 test/correctness/boundary_conditions.cpp schedule_test(f, vector_width, t); f 122 test/correctness/boundary_conditions.cpp f.realize(result, t); f 144 test/correctness/boundary_conditions.cpp bool check_mirror_interior(const Buffer<T> &input, Func f, f 152 test/correctness/boundary_conditions.cpp f = lambda(x, y, f(x, y)); f 153 test/correctness/boundary_conditions.cpp schedule_test(f, vector_width, t); f 154 test/correctness/boundary_conditions.cpp f.realize(result, t); f 385 test/correctness/boundary_conditions.cpp for (auto &f : futures) { f 386 test/correctness/boundary_conditions.cpp success &= f.get(); f 10 test/correctness/bounds.cpp Func f("f"), g("g"), h("h"); f 14 test/correctness/bounds.cpp f(x, y) = max(x, y); f 23 test/correctness/bounds.cpp f.gpu_tile(x, y, xo, yo, xi, yi, 8, 8); f 27 test/correctness/bounds.cpp f.hexagon().vectorize(x, 32); f 34 test/correctness/bounds.cpp Buffer<int> imf = f.realize(32, 32, target); f 7 test/correctness/bounds_inference.cpp Func f("f"), g("g"), h("h"); f 12 test/correctness/bounds_inference.cpp f(x, y) = (g(x-1) + g(x+1)) + y; f 20 test/correctness/bounds_inference.cpp f.gpu_tile(x, y, xo, yo, xi, yi, 16, 16); f 24 test/correctness/bounds_inference.cpp f.hexagon().vectorize(x, 32); f 29 test/correctness/bounds_inference.cpp Buffer<int> out = f.realize(32, 32, target); f 8 test/correctness/bounds_inference_chunk.cpp Func f, g, h; Var x, y; f 12 test/correctness/bounds_inference_chunk.cpp f(x, y) = (g(x-1, y-1) + g(x+1, y+1))/2; f 15 test/correctness/bounds_inference_chunk.cpp g.compute_at(f, y); f 19 test/correctness/bounds_inference_chunk.cpp Buffer<int> out = f.realize(32, 32); f 9 test/correctness/bounds_inference_complex.cpp Func f[K]; Var x, y; f 14 test/correctness/bounds_inference_complex.cpp f[0](x, y) = x+y; f 15 test/correctness/bounds_inference_complex.cpp f[1](x, y) = x*y; f 20 test/correctness/bounds_inference_complex.cpp f[i](x, y) = f[j1](x-1, y-1) + f[j2](x+1, clamp(f[j3](x+1, y-1), 0, 7)); f 23 test/correctness/bounds_inference_complex.cpp f[i].compute_root(); f 24 test/correctness/bounds_inference_complex.cpp f[i].vectorize(x, 4); f 28 test/correctness/bounds_inference_complex.cpp Buffer<int> out = f[K-1].realize(32, 32); f 6 test/correctness/bounds_of_abs.cpp void check(Func f, ImageParam in, int min, int extent) { f 11 test/correctness/bounds_of_abs.cpp f.infer_input_bounds(output); f 6 test/correctness/bounds_of_cast.cpp void check(Func f, ImageParam in, int min, int extent) { f 11 test/correctness/bounds_of_cast.cpp f.infer_input_bounds(output); f 13 test/correctness/bounds_of_func.cpp Func f("f"), g("g"); f 15 test/correctness/bounds_of_func.cpp f(x) = clamp(x, 10, 20); f 16 test/correctness/bounds_of_func.cpp f.compute_root(); f 20 test/correctness/bounds_of_func.cpp g(x) = in(f(x)); f 32 test/correctness/bounds_of_func.cpp Func f("f"), g("g"); f 35 test/correctness/bounds_of_func.cpp f(x) = clamp(x, 10, p); f 36 test/correctness/bounds_of_func.cpp f.compute_root(); f 40 test/correctness/bounds_of_func.cpp g(x) = in(f(x)); f 53 test/correctness/bounds_of_func.cpp Func f, g, h; f 55 test/correctness/bounds_of_func.cpp f(x) = min(x, 100); f 56 test/correctness/bounds_of_func.cpp f.compute_root(); f 58 test/correctness/bounds_of_func.cpp g(x) = max(f(x) - 10, 0); f 75 test/correctness/bounds_of_func.cpp Func f; f 76 test/correctness/bounds_of_func.cpp f(x) = Tuple(clamp(x, 0, 2), clamp(x, 1, 3)); f 77 test/correctness/bounds_of_func.cpp f.compute_root(); f 78 test/correctness/bounds_of_func.cpp fs.push_back(f); f 81 test/correctness/bounds_of_func.cpp f = Func(); f 82 test/correctness/bounds_of_func.cpp f(x) = Tuple(fs[i-1](x)[0] + fs[i-1](x)[1], f 84 test/correctness/bounds_of_func.cpp f.compute_root(); f 85 test/correctness/bounds_of_func.cpp fs.push_back(f); f 7 test/correctness/bounds_of_monotonic_math.cpp Func f; f 12 test/correctness/bounds_of_monotonic_math.cpp f(x) = input(cast<int>(ceil(0.3f * ceil(0.4f * floor(x * 22.5f))))); f 14 test/correctness/bounds_of_monotonic_math.cpp f.infer_input_bounds(10); f 6 test/correctness/buffer_t.cpp #define CHECK(f, s32, s64) \ f 7 test/correctness/buffer_t.cpp static_assert(offsetof(halide_buffer_t, f) == (sizeof(void*) == 8 ? (s64) : (s32)), #f " is wrong") f 37 test/correctness/c_function.cpp Func f; f 39 test/correctness/c_function.cpp f(x, y) = my_func(x, cast<float>(y)); f 41 test/correctness/c_function.cpp Buffer<float> imf = f.realize(32, 32); f 7 test/correctness/cast_handle.cpp Func f, g; f 11 test/correctness/cast_handle.cpp f(x) = reinterpret<uint64_t>(handle); f 18 test/correctness/cast_handle.cpp Buffer<uint64_t> out1 = f.realize(4); f 10 test/correctness/chunk.cpp Func f, g; f 14 test/correctness/chunk.cpp f(x, y) = cast<float>(x); f 15 test/correctness/chunk.cpp g(x, y) = f(x+1, y) + f(x-1, y); f 21 test/correctness/chunk.cpp f.compute_at(g, xo).gpu_threads(x, y); f 11 test/correctness/circular_reference_leak.cpp Func f; f 14 test/correctness/circular_reference_leak.cpp f(x) = x; f 15 test/correctness/circular_reference_leak.cpp f(r) = f(r-1) + f(r+1); f 23 test/correctness/code_explosion.cpp Func f; f 32 test/correctness/code_explosion.cpp f(x) = e[e.size()-1]; f 34 test/correctness/code_explosion.cpp f.realize(10); f 7 test/correctness/compare_vars.cpp Func f; f 9 test/correctness/compare_vars.cpp f(x, y) = select(x == y, 1, 0); f 11 test/correctness/compare_vars.cpp Buffer<int> im = f.realize(10, 10); f 35 test/correctness/compile_to.cpp Func f, g, h, j; f 37 test/correctness/compile_to.cpp f(x, y) = x + y; f 38 test/correctness/compile_to.cpp g(x, y) = cast<float>(f(x, y) + f(x+1, y)); f 39 test/correctness/compile_to.cpp h(x, y) = f(x, y) + g(x, y); f 42 test/correctness/compile_to.cpp f.compute_root(); f 9 test/correctness/compile_to_bitcode.cpp Func f, g, h, j; f 11 test/correctness/compile_to_bitcode.cpp f(x, y) = x + y; f 12 test/correctness/compile_to_bitcode.cpp g(x, y) = cast<float>(f(x, y) + f(x+1, y)); f 13 test/correctness/compile_to_bitcode.cpp h(x, y) = f(x, y) + g(x, y); f 16 test/correctness/compile_to_bitcode.cpp f.compute_root(); f 10 test/correctness/compile_to_lowered_stmt.cpp Func f, g, h, j; f 12 test/correctness/compile_to_lowered_stmt.cpp f(x, y) = x + y; f 13 test/correctness/compile_to_lowered_stmt.cpp g(x, y) = cast<float>(f(x, y) + f(x+1, y))*p; f 14 test/correctness/compile_to_lowered_stmt.cpp h(x, y) = f(x, y) + g(x, y); f 17 test/correctness/compile_to_lowered_stmt.cpp f.compute_root(); f 32 test/correctness/compile_to_multitarget.cpp Func f, g, h, j; f 34 test/correctness/compile_to_multitarget.cpp f(x, y) = x + y; f 35 test/correctness/compile_to_multitarget.cpp g(x, y) = cast<float>(f(x, y) + f(x+1, y)); f 36 test/correctness/compile_to_multitarget.cpp h(x, y) = f(x, y) + g(x, y); f 39 test/correctness/compile_to_multitarget.cpp f.compute_root(); f 22 test/correctness/compute_at_split_rvar.cpp Func f, g; f 26 test/correctness/compute_at_split_rvar.cpp f(x) = count(x); f 28 test/correctness/compute_at_split_rvar.cpp g(r) = f(r); f 31 test/correctness/compute_at_split_rvar.cpp f.compute_at(g, ri); f 46 test/correctness/compute_at_split_rvar.cpp Func f, g; f 50 test/correctness/compute_at_split_rvar.cpp f(x) = count(x); f 52 test/correctness/compute_at_split_rvar.cpp g(r) = f(r); f 55 test/correctness/compute_at_split_rvar.cpp f.compute_at(g, ro).unroll(x); f 70 test/correctness/compute_at_split_rvar.cpp Func f, g; f 74 test/correctness/compute_at_split_rvar.cpp f(x) = count(x); f 76 test/correctness/compute_at_split_rvar.cpp g(r) = f(r); f 79 test/correctness/compute_at_split_rvar.cpp f.compute_at(g, ri); f 96 test/correctness/compute_at_split_rvar.cpp Func f, g; f 100 test/correctness/compute_at_split_rvar.cpp f(x) = count(x); f 102 test/correctness/compute_at_split_rvar.cpp g(r) = f(r); f 105 test/correctness/compute_at_split_rvar.cpp f.compute_at(g, ro); f 121 test/correctness/compute_at_split_rvar.cpp Func f, g; f 125 test/correctness/compute_at_split_rvar.cpp f(x) = count(x); f 127 test/correctness/compute_at_split_rvar.cpp g(r) = f(r); f 130 test/correctness/compute_at_split_rvar.cpp f.compute_at(g, fused); f 9 test/correctness/computed_index.cpp Func f; f 12 test/correctness/computed_index.cpp f(x, y) = in2(x, y, clamp(in1(x, y), 0, 9)); f 13 test/correctness/computed_index.cpp Buffer<uint8_t> out = f.realize(256, 256); f 27 test/correctness/constant_expr.cpp const double *f = as_const_float(e); f 28 test/correctness/constant_expr.cpp if (!f) return false; f 29 test/correctness/constant_expr.cpp *val = (T)(*f); f 9 test/correctness/constant_type.cpp Func f; f 11 test/correctness/constant_type.cpp f(x) = cast<T>(1); f 12 test/correctness/constant_type.cpp Buffer<T> im = f.realize(10); f 14 test/correctness/constant_type.cpp if (f.value().type() != t) { f 15 test/correctness/constant_type.cpp std::cout << "Function was defined with type " << t << " but has type " << f.value().type() << "\n"; f 15 test/correctness/constraints.cpp Func f, g; f 21 test/correctness/constraints.cpp f(x, y) = param(x, y)*2; f 25 test/correctness/constraints.cpp f.set_error_handler(my_error_handler); f 30 test/correctness/constraints.cpp f.realize(20, 20); f 39 test/correctness/constraints.cpp f.realize(20, 20); f 14 test/correctness/cross_compilation.cpp Func f("f"); f 16 test/correctness/cross_compilation.cpp f(x) = x; f 49 test/correctness/cross_compilation.cpp f.compile_to_file(Internal::get_test_tmp_dir() + "test_object_" + t, std::vector<Argument>(), "", target); f 50 test/correctness/cross_compilation.cpp f.compile_to_static_library(Internal::get_test_tmp_dir() + "test_lib_" + t, std::vector<Argument>(), "", target); f 25 test/correctness/custom_allocator.cpp Func f, g; f 28 test/correctness/custom_allocator.cpp f(x) = x; f 29 test/correctness/custom_allocator.cpp g(x) = f(x); f 30 test/correctness/custom_allocator.cpp f.compute_root(); f 53 test/correctness/custom_lowering_pass.cpp Func f; f 56 test/correctness/custom_lowering_pass.cpp f(x) = x / 2.4f + x / sin(x) + x * sin(x); f 57 test/correctness/custom_lowering_pass.cpp f.add_custom_lowering_pass(new CheckForFloatDivision); f 58 test/correctness/custom_lowering_pass.cpp f.add_custom_lowering_pass(new CountMultiplies); f 61 test/correctness/custom_lowering_pass.cpp f.realize(size); f 19 test/correctness/debug_to_file.cpp Func f, g, h, j; f 21 test/correctness/debug_to_file.cpp f(x, y) = x + y; f 22 test/correctness/debug_to_file.cpp g(x, y) = cast<float>(f(x, y) + f(x+1, y)); f 23 test/correctness/debug_to_file.cpp h(x, y) = f(x, y) + g(x, y); f 28 test/correctness/debug_to_file.cpp f.compute_root().gpu_tile(x, y, xi, yi, 1, 1).debug_to_file(f_tmp); f 32 test/correctness/debug_to_file.cpp f.compute_root().debug_to_file(f_tmp); f 44 test/correctness/debug_to_file.cpp FILE *f = fopen(f_tmp.c_str(), "rb"); f 47 test/correctness/debug_to_file.cpp assert(f && g && h); f 50 test/correctness/debug_to_file.cpp assert(fread((void *)(&header[0]), 4, 5, f) == 5); f 58 test/correctness/debug_to_file.cpp assert(fread((void *)(&f_data[0]), 4, 11*10, f) == 11*10); f 68 test/correctness/debug_to_file.cpp fclose(f); f 21 test/correctness/debug_to_file_multiple_outputs.cpp Func f, g, h, j; f 23 test/correctness/debug_to_file_multiple_outputs.cpp f(x, y) = x + y; f 24 test/correctness/debug_to_file_multiple_outputs.cpp g(x, y) = cast<float>(f(x, y) + f(x + 1, y)); f 25 test/correctness/debug_to_file_multiple_outputs.cpp h(x, y) = f(x, y) + g(x, y); f 27 test/correctness/debug_to_file_multiple_outputs.cpp f.compute_root().debug_to_file(f_tmp); f 31 test/correctness/debug_to_file_multiple_outputs.cpp Pipeline p({f, g, h}); f 43 test/correctness/debug_to_file_multiple_outputs.cpp FILE *f = fopen(f_tmp.c_str(), "rb"); f 46 test/correctness/debug_to_file_multiple_outputs.cpp assert(f && g && h); f 49 test/correctness/debug_to_file_multiple_outputs.cpp assert(fread((void *)(&header[0]), 4, 5, f) == 5); f 57 test/correctness/debug_to_file_multiple_outputs.cpp assert(fread((void *)(&f_data[0]), 4, (size_x+1)*size_y, f) == (size_x+1)*size_y); f 67 test/correctness/debug_to_file_multiple_outputs.cpp fclose(f); f 21 test/correctness/debug_to_file_reorder.cpp Func f, g, h, j; f 23 test/correctness/debug_to_file_reorder.cpp f(x, y) = x + y; f 24 test/correctness/debug_to_file_reorder.cpp g(x, y) = cast<float>(f(x, y) + f(x+1, y)); f 25 test/correctness/debug_to_file_reorder.cpp h(x, y) = f(x, y) + g(x, y); f 30 test/correctness/debug_to_file_reorder.cpp f.compute_root().gpu_tile(x, y, xi, yi, 1, 1).reorder_storage(y, x).debug_to_file(f_tmp); f 34 test/correctness/debug_to_file_reorder.cpp f.compute_root().reorder_storage(y, x).debug_to_file(f_tmp); f 46 test/correctness/debug_to_file_reorder.cpp FILE *f = fopen(f_tmp.c_str(), "rb"); f 49 test/correctness/debug_to_file_reorder.cpp assert(f && g && h); f 52 test/correctness/debug_to_file_reorder.cpp assert(fread((void *)(&header[0]), 4, 5, f) == 5); f 60 test/correctness/debug_to_file_reorder.cpp assert(fread((void *)(&f_data[0]), 4, (size_x+1)*size_y, f) == (size_x+1)*size_y); f 70 test/correctness/debug_to_file_reorder.cpp fclose(f); f 8 test/correctness/deinterleave4.cpp Func upsample(Func f) { f 10 test/correctness/deinterleave4.cpp u(x) = f(x/2+1); f 12 test/correctness/dynamic_reduction_bounds.cpp Func f; f 14 test/correctness/dynamic_reduction_bounds.cpp f(x, y, z) = 1; f 15 test/correctness/dynamic_reduction_bounds.cpp f(x, y, dom / hard_to_reason_about) += 1; f 16 test/correctness/dynamic_reduction_bounds.cpp f.compile_jit(); f 21 test/correctness/dynamic_reduction_bounds.cpp f.realize(100, 100, 16); f 22 test/correctness/erf.cpp Func f; f 25 test/correctness/erf.cpp f(x) = erf((x-50000)/10000.0f); f 26 test/correctness/erf.cpp f.vectorize(x, 8); f 28 test/correctness/erf.cpp Buffer<float> im = f.realize(100000); f 6 test/correctness/exception.cpp void check_pure(Func f) { f 7 test/correctness/exception.cpp if (f.has_update_definition()) { f 7 test/correctness/explicit_inline_reductions.cpp Func f("f"); f 11 test/correctness/explicit_inline_reductions.cpp f(x, y) = product(sum(r1, r1 + r3) + sum(r2, r2 * 2 + r3)); f 12 test/correctness/explicit_inline_reductions.cpp f(r1, y) += product(r3, sum(r2, r1 + r2 + r3)); f 14 test/correctness/explicit_inline_reductions.cpp Buffer<int> result = f.realize(10, 10); f 55 test/correctness/extern_bounds_inference.cpp Func f; f 62 test/correctness/extern_bounds_inference.cpp f.define_extern("translate", args, UInt(8), 2); f 64 test/correctness/extern_bounds_inference.cpp f.infer_input_bounds(W, H); f 24 test/correctness/extern_consumer.cpp FILE *f = fopen(filename, "w"); f 30 test/correctness/extern_consumer.cpp fprintf(f, "%d\n", base[i]); f 32 test/correctness/extern_consumer.cpp fclose(f); f 54 test/correctness/extern_consumer.cpp FILE *f = fopen(path.c_str(), "r"); f 56 test/correctness/extern_consumer.cpp size_t bytes_read = fread(&result[0], 1, 1023, f); f 58 test/correctness/extern_consumer.cpp fclose(f); f 30 test/correctness/extern_error.cpp Func f; f 31 test/correctness/extern_error.cpp f.define_extern("extern_error", args, Float(32), 1); f 32 test/correctness/extern_error.cpp f.set_error_handler(&my_halide_error); f 33 test/correctness/extern_error.cpp f.realize(100); f 46 test/correctness/extern_output_expansion.cpp Func f, g, h; f 48 test/correctness/extern_output_expansion.cpp f(x) = x*x; f 50 test/correctness/extern_output_expansion.cpp g.define_extern("extern_stage", {f}, Int(32), 1); f 57 test/correctness/extern_output_expansion.cpp f.compute_root(); f 70 test/correctness/extern_stage.cpp Func f, g, h; f 80 test/correctness/extern_stage.cpp f(x) = x*x; f 84 test/correctness/extern_stage.cpp args[1] = f; f 89 test/correctness/extern_stage.cpp f.compute_at(h, x); f 13 test/correctness/external_code.cpp Func f("f"); f 15 test/correctness/external_code.cpp f(x, y) = 42; f 20 test/correctness/external_code.cpp f.compile_to_bitcode(bitcode_file, {}, "extern", target); f 16 test/correctness/float16_t_implicit_upcast.cpp Halide::Func f; f 21 test/correctness/float16_t_implicit_upcast.cpp f(x, y) = 0.25f + Expr(float16_t(0.75)); f 24 test/correctness/float16_t_implicit_upcast.cpp Buffer<float> simple = f.realize(10, 3); f 15 test/correctness/float16_t_realize_constant.cpp Halide::Func f; f 19 test/correctness/float16_t_realize_constant.cpp f(x, y) = float16_t(0.75); f 22 test/correctness/float16_t_realize_constant.cpp f.trace_stores(); f 26 test/correctness/float16_t_realize_constant.cpp Buffer<float16_t> simple = f.realize(10, 3); f 29 test/correctness/float16_t_realize_constant.cpp simple.for_each_value([&](float16_t f) { f 30 test/correctness/float16_t_realize_constant.cpp h_assert(f == float16_t(0.75), "Invalid value read back"); f 31 test/correctness/float16_t_realize_constant.cpp h_assert(f.to_bits() == 0x3a00, "Bit pattern incorrect"); f 29 test/correctness/force_onto_stack.cpp Func f("f"), g; f 34 test/correctness/force_onto_stack.cpp f(x) = x; f 35 test/correctness/force_onto_stack.cpp g(x) = f(x); f 41 test/correctness/force_onto_stack.cpp f.compute_at(g, xo).bound_extent(x, 8).vectorize(x); f 68 test/correctness/force_onto_stack.cpp Func f, g; f 71 test/correctness/force_onto_stack.cpp f(x) = x; f 72 test/correctness/force_onto_stack.cpp g(x) = f(x); f 75 test/correctness/force_onto_stack.cpp f.compute_at(g, xo); f 78 test/correctness/force_onto_stack.cpp f.bound_extent(x, 8); f 25 test/correctness/func_lifetime.cpp Func f("f"); f 29 test/correctness/func_lifetime.cpp f(x, y) = x*y + 1; f 33 test/correctness/func_lifetime.cpp f.gpu_tile(x, y, xi, yi, 8, 8); f 35 test/correctness/func_lifetime.cpp f.hexagon().vectorize(x, 32); f 41 test/correctness/func_lifetime.cpp Buffer<int> imf = f.realize(32, 32, target); f 72 test/correctness/func_lifetime.cpp Buffer<int> imf2 = f.realize(32, 32, target); f 32 test/correctness/func_lifetime_2.cpp Func f("f"); f 34 test/correctness/func_lifetime_2.cpp f(x, y) = x*y + 1; f 37 test/correctness/func_lifetime_2.cpp f.gpu_tile(x, y, xi, yi, 8, 8); f 39 test/correctness/func_lifetime_2.cpp f.hexagon().vectorize(x, 32); f 45 test/correctness/func_lifetime_2.cpp Buffer<int> imf = f.realize(32, 32, target); f 7 test/correctness/fuse.cpp Func f, g; f 11 test/correctness/fuse.cpp f(x, y) = e; f 14 test/correctness/fuse.cpp f.compute_root(); f 31 test/correctness/fuse.cpp error() = maximum(abs(f(r.x, r.y) - g(r.x, r.y))); f 6 test/correctness/fused_where_inner_extent_is_zero.cpp Func f; f 8 test/correctness/fused_where_inner_extent_is_zero.cpp f(x, y) = x + y; f 15 test/correctness/fused_where_inner_extent_is_zero.cpp g(r.x, r.y) = f(r.x, r.y); f 18 test/correctness/fused_where_inner_extent_is_zero.cpp f.compute_root().fuse(x, y, fused); f 13 test/correctness/fuzz_float_stores.cpp Func f; f 15 test/correctness/fuzz_float_stores.cpp f(x) = (x - 42.5f) / 16.0f; f 16 test/correctness/fuzz_float_stores.cpp f.vectorize(x, 8); f 19 test/correctness/fuzz_float_stores.cpp Buffer<float> im_ref = f.realize(size, target); f 20 test/correctness/fuzz_float_stores.cpp Buffer<float> im_fuzzed = f.realize(size, target_fuzzed); f 34 test/correctness/fuzz_float_stores.cpp Func f; f 36 test/correctness/fuzz_float_stores.cpp f(x) = sqrt(x - 42.3333333f) / 17.0f - tan(x); f 37 test/correctness/fuzz_float_stores.cpp f.vectorize(x, 8); f 39 test/correctness/fuzz_float_stores.cpp Buffer<float> im_ref = f.realize(size, target); f 40 test/correctness/fuzz_float_stores.cpp Buffer<float> im_fuzzed = f.realize(size, target_fuzzed); f 27 test/correctness/gpu_assertion_in_kernel.cpp Func f; f 29 test/correctness/gpu_assertion_in_kernel.cpp f(c, x) = x + c + 3; f 30 test/correctness/gpu_assertion_in_kernel.cpp f.bound(c, 0, 3).unroll(c); f 33 test/correctness/gpu_assertion_in_kernel.cpp g(c, x) = f(c, x) * 8; f 37 test/correctness/gpu_assertion_in_kernel.cpp f.compute_at(g, x).gpu_threads(x); f 16 test/correctness/gpu_cpu_simultaneous_read.cpp Func f, g, h; f 22 test/correctness/gpu_cpu_simultaneous_read.cpp f(x, y) = x*2 + y + table(x); f 24 test/correctness/gpu_cpu_simultaneous_read.cpp h(x, y) = select(table(0) == 0, f(x, y), g(x, y)); f 26 test/correctness/gpu_cpu_simultaneous_read.cpp f.compute_root().gpu_tile(x, y, xi, yi, 8, 8); f 28 test/correctness/gpu_data_flows.cpp Func f, g, out; f 30 test/correctness/gpu_data_flows.cpp f(x) = in(x) + 1; f 31 test/correctness/gpu_data_flows.cpp g(x) = f(x) * 2; f 34 test/correctness/gpu_data_flows.cpp f.compute_root(); f 63 test/correctness/gpu_data_flows.cpp Func f, out; f 65 test/correctness/gpu_data_flows.cpp f(x) = in(x) + 1; f 66 test/correctness/gpu_data_flows.cpp out(x) = f(x) * 2; f 69 test/correctness/gpu_data_flows.cpp f.compute_root().gpu_tile(x, xi, 16); f 72 test/correctness/gpu_data_flows.cpp f.compute_root().hexagon(); f 12 test/correctness/gpu_dynamic_shared.cpp Func f("f"), g("g"); f 15 test/correctness/gpu_dynamic_shared.cpp f(x) = x; f 16 test/correctness/gpu_dynamic_shared.cpp g(x) = f(x) + f(2*x); f 19 test/correctness/gpu_dynamic_shared.cpp f.compute_at(g, x).gpu_threads(x); f 9 test/correctness/gpu_free_sync.cpp Func f; f 12 test/correctness/gpu_free_sync.cpp f(x, y) = sum(sqrt(sqrt(sqrt(sqrt(x+y+r))))); f 18 test/correctness/gpu_free_sync.cpp f.gpu_tile(x, y, xi, yi, 16, 16); f 24 test/correctness/gpu_free_sync.cpp f.realize(1024, 1024, t); f 27 test/correctness/gpu_give_input_buffers_device_allocations.cpp Func f; f 29 test/correctness/gpu_give_input_buffers_device_allocations.cpp f(x, y) = in(x, y); f 30 test/correctness/gpu_give_input_buffers_device_allocations.cpp f.gpu_tile(x, y, xi, yi, 8, 8); f 31 test/correctness/gpu_give_input_buffers_device_allocations.cpp Buffer<float> out = f.realize(100, 100); f 45 test/correctness/gpu_give_input_buffers_device_allocations.cpp f.realize(out); f 37 test/correctness/gpu_jit_explicit_copy_to_device.cpp Func f; f 39 test/correctness/gpu_jit_explicit_copy_to_device.cpp f(x, y) = a(x, y) + b(x, y) + 2; f 40 test/correctness/gpu_jit_explicit_copy_to_device.cpp f.gpu_tile(x, y, tx, ty, 8, 8, TailStrategy::Auto, d); f 42 test/correctness/gpu_jit_explicit_copy_to_device.cpp Buffer<float> out = f.realize(100, 100); f 44 test/correctness/gpu_jit_explicit_copy_to_device.cpp out.for_each_value([&](float f) { f 45 test/correctness/gpu_jit_explicit_copy_to_device.cpp if (f != 7.0f) { f 46 test/correctness/gpu_jit_explicit_copy_to_device.cpp printf("%f != 4.0f\n", f); f 10 test/correctness/gpu_large_alloc.cpp Func f, g; f 20 test/correctness/gpu_large_alloc.cpp f(x, y) = max(x, y); f 21 test/correctness/gpu_large_alloc.cpp g(x, y) = clamp(f(x, y), 20, 100); f 26 test/correctness/gpu_large_alloc.cpp f.compute_root().gpu_tile(x, y, xi, yi, 16, 16); f 13 test/correctness/gpu_mixed_dimensionality.cpp Func f("f"), g("g"), h("h"), out("out"); f 16 test/correctness/gpu_mixed_dimensionality.cpp f(x, y, z) = x + y + z; f 17 test/correctness/gpu_mixed_dimensionality.cpp f(x, y, z) += 1; f 18 test/correctness/gpu_mixed_dimensionality.cpp g(x, y, z) = f(x, y, z); f 32 test/correctness/gpu_mixed_dimensionality.cpp f.compute_at(g, x); f 33 test/correctness/gpu_mixed_dimensionality.cpp f.update(); f 42 test/correctness/gpu_non_contiguous_copy.cpp Func f; f 43 test/correctness/gpu_non_contiguous_copy.cpp f(x, y, z, w) = 3*x + 2*y + z + 4*w; f 46 test/correctness/gpu_non_contiguous_copy.cpp f.gpu_tile(x, y, xi, yi, 16, 16); f 48 test/correctness/gpu_non_contiguous_copy.cpp f.hexagon().vectorize(x, 16); f 50 test/correctness/gpu_non_contiguous_copy.cpp f.output_buffer().dim(0).set_stride(Expr()); f 51 test/correctness/gpu_non_contiguous_copy.cpp f.realize(cropped); f 29 test/correctness/gpu_object_lifetime_1.cpp Func f; f 30 test/correctness/gpu_object_lifetime_1.cpp f(x) = x; f 33 test/correctness/gpu_object_lifetime_1.cpp f.gpu_tile(x, xi, 32); f 35 test/correctness/gpu_object_lifetime_1.cpp f.hexagon(); f 37 test/correctness/gpu_object_lifetime_1.cpp f.set_custom_print(halide_print); f 39 test/correctness/gpu_object_lifetime_1.cpp Buffer<int32_t> result = f.realize(256, target); f 30 test/correctness/gpu_object_lifetime_2.cpp Func f, g, h; f 31 test/correctness/gpu_object_lifetime_2.cpp f(x) = x; f 32 test/correctness/gpu_object_lifetime_2.cpp g(x) = f(x); f 35 test/correctness/gpu_object_lifetime_2.cpp f.compute_root(); f 33 test/correctness/gpu_object_lifetime_3.cpp Func f[stage_count]; f 34 test/correctness/gpu_object_lifetime_3.cpp f[0](x) = x; f 36 test/correctness/gpu_object_lifetime_3.cpp f[i](x) = f[i - 1](x); f 40 test/correctness/gpu_object_lifetime_3.cpp f[i].compute_root(); f 44 test/correctness/gpu_object_lifetime_3.cpp f[i].gpu_tile(x, xi, 32); f 46 test/correctness/gpu_object_lifetime_3.cpp f[i].hexagon(); f 51 test/correctness/gpu_object_lifetime_3.cpp Func output = f[stage_count - 1]; f 13 test/correctness/gpu_specialize.cpp Func f("f"), g("g"), h("h"); f 18 test/correctness/gpu_specialize.cpp f(x, y) = x + y; f 19 test/correctness/gpu_specialize.cpp g(x, y) = f(x-1, y+1) + f(x+1, y-1) + x; f 47 test/correctness/gpu_specialize.cpp f.compute_at(g, xi); f 73 test/correctness/gpu_specialize.cpp Func f("f"), g("g"), h("h"); f 78 test/correctness/gpu_specialize.cpp f(x, y) = x + y; f 79 test/correctness/gpu_specialize.cpp g(x, y) = f(x, y) + x; f 82 test/correctness/gpu_specialize.cpp f.specialize(p).tile(x, y, xi, yi, 4, 4).gpu_threads(x, y); f 83 test/correctness/gpu_specialize.cpp f.tile(x, y, xo, yo, xi, yi, 8, 8).gpu_threads(xo, yo); f 85 test/correctness/gpu_specialize.cpp f.compute_at(g, x); f 12 test/correctness/gpu_sum_scan.cpp Func f; f 21 test/correctness/gpu_sum_scan.cpp f(x, y) = 0; f 23 test/correctness/gpu_sum_scan.cpp f.compute_root().gpu_blocks(y).gpu_threads(x); f 27 test/correctness/gpu_sum_scan.cpp f(r1, y) = im(y*B + r1) + f(r1-1, y); f 28 test/correctness/gpu_sum_scan.cpp f.update(0).gpu_blocks(y); f 32 test/correctness/gpu_sum_scan.cpp f(-1, r2) = f(B-1, r2-1) + f(-1, r2-1); f 33 test/correctness/gpu_sum_scan.cpp f.update(1).gpu_single_thread(); f 37 test/correctness/gpu_sum_scan.cpp f(r3, y) += f(-1, y); f 38 test/correctness/gpu_sum_scan.cpp f.update(2).gpu_blocks(y).gpu_threads(r3); f 42 test/correctness/gpu_sum_scan.cpp out(x) = f(x % B, x / B); f 50 test/correctness/gpu_thread_barrier.cpp Func f; f 56 test/correctness/gpu_thread_barrier.cpp f(x, y) = x + 100 * y; f 62 test/correctness/gpu_thread_barrier.cpp f(rx + 10, y) = f(9 - rx, y); f 63 test/correctness/gpu_thread_barrier.cpp f(rx, y) = f(rx + 10, y); f 66 test/correctness/gpu_thread_barrier.cpp f(x, ry + 8) = f(x, 7 - ry); f 67 test/correctness/gpu_thread_barrier.cpp f(x, ry) = f(x, ry + 8); f 71 test/correctness/gpu_thread_barrier.cpp g(x, y) = f(0, 0)+ f(9, 7); f 75 test/correctness/gpu_thread_barrier.cpp f.compute_at(g, x); f 78 test/correctness/gpu_thread_barrier.cpp f.update(i*4 + 0).gpu_threads(y); f 79 test/correctness/gpu_thread_barrier.cpp f.update(i*4 + 1).gpu_threads(y); f 80 test/correctness/gpu_thread_barrier.cpp f.update(i*4 + 2).gpu_threads(x); f 81 test/correctness/gpu_thread_barrier.cpp f.update(i*4 + 3).gpu_threads(x); f 102 test/correctness/gpu_thread_barrier.cpp Func f; f 104 test/correctness/gpu_thread_barrier.cpp f(x, y) = undef<int>(); f 105 test/correctness/gpu_thread_barrier.cpp f(x, y) += x + 100 * y; f 111 test/correctness/gpu_thread_barrier.cpp f(x, y) += undef<int>(); f 112 test/correctness/gpu_thread_barrier.cpp f(x, y) += y * 100 + x; f 115 test/correctness/gpu_thread_barrier.cpp g(x, y) = f(0, 0) + f(7, 7); f 119 test/correctness/gpu_thread_barrier.cpp f.compute_at(g, x); f 121 test/correctness/gpu_thread_barrier.cpp f.gpu_threads(x, y); f 122 test/correctness/gpu_thread_barrier.cpp f.update(0).gpu_threads(x, y); f 123 test/correctness/gpu_thread_barrier.cpp f.update(1).gpu_threads(x, y); f 124 test/correctness/gpu_thread_barrier.cpp f.update(2).gpu_threads(x, y); f 10 test/correctness/gpu_vectorized_shared_memory.cpp Func f, g, h; f 13 test/correctness/gpu_vectorized_shared_memory.cpp f(x) = x; f 14 test/correctness/gpu_vectorized_shared_memory.cpp g(x) = f(x-1) + f(x+1); f 19 test/correctness/gpu_vectorized_shared_memory.cpp f.compute_root(); f 78 test/correctness/halide_buffer.cpp Buffer<float, 2> f(e); // runtime checks f 47 test/correctness/handle.cpp Func f, g, h; f 49 test/correctness/handle.cpp f(x) = cast<char *>(msg); f 50 test/correctness/handle.cpp f.compute_root().vectorize(x, 4); f 51 test/correctness/handle.cpp g(x) = f(x); f 31 test/correctness/heap_cleanup.cpp Func f, g, h; f 37 test/correctness/heap_cleanup.cpp f(x) = x; f 38 test/correctness/heap_cleanup.cpp f.compute_root(); f 39 test/correctness/heap_cleanup.cpp g(x) = f(x)+1; f 10 test/correctness/hello_gpu.cpp Func f("f"); f 14 test/correctness/hello_gpu.cpp f(x, y) = x*y + 2.4f; f 18 test/correctness/hello_gpu.cpp f.gpu_tile(x, y, xi, yi, 8, 8); f 23 test/correctness/hello_gpu.cpp Buffer<float> imf = f.realize(32, 32, target); f 50 test/correctness/host_alignment.cpp FindErrorHandler f; f 51 test/correctness/host_alignment.cpp m.accept(&f); f 52 test/correctness/host_alignment.cpp if (f.result) { f 78 test/correctness/host_alignment.cpp int count_host_alignment_asserts(Func f, std::map<string, int> m) { f 81 test/correctness/host_alignment.cpp f.compute_root(); f 82 test/correctness/host_alignment.cpp Stmt s = Internal::lower_main_stmt({f.function()}, f.name(), t); f 98 test/correctness/host_alignment.cpp Func f("f"); f 99 test/correctness/host_alignment.cpp f(x) = i1(x) + i2(x) + i3(x); f 100 test/correctness/host_alignment.cpp f.output_buffer().set_host_alignment(128); f 102 test/correctness/host_alignment.cpp int cnt = count_host_alignment_asserts(f, m); f 46 test/correctness/image_io.cpp Func f; f 49 test/correctness/image_io.cpp f(x, y, c) = random_float(); f 53 test/correctness/image_io.cpp f(x, y, c) = (g(x/2, y/2, c) + f 59 test/correctness/image_io.cpp f.compute_root(); f 60 test/correctness/image_io.cpp return f; f 68 test/correctness/image_io.cpp Func f; f 70 test/correctness/image_io.cpp f(x, y, c) = cast<uint8_t>(clamp(make_noise(10)(x, y, c), 0.0f, 1.0f) * 255.0f); f 72 test/correctness/image_io.cpp Buffer<uint8_t> color_buf = f.realize(width, height, 3); f 18 test/correctness/image_wrap.cpp Func f("f"); f 19 test/correctness/image_wrap.cpp f(x, y) = img(x, y); f 23 test/correctness/image_wrap.cpp Func wrapper = img.in(f); f 25 test/correctness/image_wrap.cpp Func temp = img.in(f); f 35 test/correctness/image_wrap.cpp Func f("f"); f 36 test/correctness/image_wrap.cpp f(x, y) = img(x, y); f 49 test/correctness/image_wrap.cpp Func e("e"), f("f"), g("g"), h("h"); f 51 test/correctness/image_wrap.cpp f(x, y) = img(x, y); f 55 test/correctness/image_wrap.cpp Func wrapper1 = img.in({e, f, g}); f 56 test/correctness/image_wrap.cpp Func wrapper2 = img.in({g, f, e}); f 415 test/correctness/image_wrap.cpp Func source("sourceo"), f("f"), g("g"), h("h"); f 423 test/correctness/image_wrap.cpp f(x, y) = img(x, y); f 424 test/correctness/image_wrap.cpp g(x, y) = f(x, y); f 430 test/correctness/image_wrap.cpp f.compute_at(g, y).vectorize(x, 8); f 432 test/correctness/image_wrap.cpp Func img_in_f = img.in(f); f 435 test/correctness/image_wrap.cpp img_in_f.compute_at(f, y).split(_0, xo, xi, 8); f 447 test/correctness/image_wrap.cpp {g.name(), {f.name()}}, f 448 test/correctness/image_wrap.cpp {f.name(), {img_in_f.name()}}, f 22 test/correctness/implicit_args.cpp Func f; f 23 test/correctness/implicit_args.cpp f(x, _) = im1(_) + im2(x, _) + im2(_); f 28 test/correctness/implicit_args.cpp Buffer<int> result1 = f.realize(2, 2, 2, 2); f 45 test/correctness/implicit_args.cpp assert(f.dimensions() == 4); f 48 test/correctness/implicit_args.cpp g(_) = f(2, 2, _) + im2(Expr(1), _); f 49 test/correctness/implicit_args.cpp f.compute_root(); f 32 test/correctness/implicit_args_tests.cpp Func f("f"), h("h"); f 37 test/correctness/implicit_args_tests.cpp f(x, _) = h(_) + 2; // This means f(x, _0, _1) = h(_0, _1) + 2 f 39 test/correctness/implicit_args_tests.cpp Realization result = f.realize(100, 100, 100); f 50 test/correctness/implicit_args_tests.cpp Func f("f"), g("g"), h("h"); f 55 test/correctness/implicit_args_tests.cpp f(x, y, z) = x; f 56 test/correctness/implicit_args_tests.cpp f.compute_root(); f 60 test/correctness/implicit_args_tests.cpp g(clamp(f(r.x, _), 0, 50), _) += 2; // This means g(f(r.x, _0, _1), _0, _1) += 2 f 73 test/correctness/implicit_args_tests.cpp Func f("f"), g("g"), h("h"); f 81 test/correctness/implicit_args_tests.cpp f(x, _) = h(_) + 3; // This means f(x, _0, _1) = h(_0, _1) + 3 f 82 test/correctness/implicit_args_tests.cpp f(x, _) += h(_)*g(_); // This means f(x, _0, _1) += h(_0, _1) * g(_0) f 84 test/correctness/implicit_args_tests.cpp Realization result = f.realize(100, 100, 100); f 95 test/correctness/implicit_args_tests.cpp Func f("f"), h("h"); f 103 test/correctness/implicit_args_tests.cpp f(x, _) += h(_) + 2; f 105 test/correctness/implicit_args_tests.cpp Realization result = f.realize(100, 100, 100); f 116 test/correctness/implicit_args_tests.cpp Func f("f"), g("g"), h("h"); f 127 test/correctness/implicit_args_tests.cpp f(_) += h(_)*g(_) + 3; f 129 test/correctness/implicit_args_tests.cpp Realization result = f.realize(100, 100); f 140 test/correctness/implicit_args_tests.cpp Func f("f"), h("h"); f 146 test/correctness/implicit_args_tests.cpp f(x, _) = Tuple(h(_) + 2, x + 2); f 148 test/correctness/implicit_args_tests.cpp Realization result = f.realize(100, 100, 100); f 162 test/correctness/implicit_args_tests.cpp Func f("f"), g("g"), h("h"); f 167 test/correctness/implicit_args_tests.cpp f(x, y, z) = x; f 168 test/correctness/implicit_args_tests.cpp f.compute_root(); f 174 test/correctness/implicit_args_tests.cpp g(clamp(f(r.x, _), 0, 50), _) += Tuple(2); f 187 test/correctness/implicit_args_tests.cpp Func f("f"), h("h"); f 195 test/correctness/implicit_args_tests.cpp f(x, _) *= Tuple(h(_) + 2, h(_) * 3); f 197 test/correctness/implicit_args_tests.cpp Realization result = f.realize(100, 100, 100); f 211 test/correctness/implicit_args_tests.cpp Func f("f"), g("g"), h("h"); f 220 test/correctness/implicit_args_tests.cpp f(x, _) = Tuple(h(_)[0] + 3, h(_)[1] + 4); f 222 test/correctness/implicit_args_tests.cpp f(x, _) += Tuple(h(_)[0]*g(_)[0], h(_)[1]*g(_)[1]); f 224 test/correctness/implicit_args_tests.cpp Realization result = f.realize(100, 100, 100); f 238 test/correctness/implicit_args_tests.cpp Func f("f"), g("g"), h("h"); f 249 test/correctness/implicit_args_tests.cpp f(_) += Tuple(h(_)[0]*g(_)[0] + 3, h(_)[1]*g(_)[1] + 4); f 251 test/correctness/implicit_args_tests.cpp Realization result = f.realize(100, 100); f 7 test/correctness/in_place.cpp Func f; f 13 test/correctness/in_place.cpp f(x) = undef<float>(); f 17 test/correctness/in_place.cpp f(r) += f(r-1); f 22 test/correctness/in_place.cpp f.realize(data); f 31 test/correctness/infer_arguments.cpp Func f("f"); f 32 test/correctness/infer_arguments.cpp f(x, y, c) = frac * (input1(clamp(x, 0, height), clamp(y, 0, width), c) + f 35 test/correctness/infer_arguments.cpp std::vector<Argument> args = f.infer_arguments(); f 24 test/correctness/input_image_bounds_check.cpp Func f; f 25 test/correctness/input_image_bounds_check.cpp f(x) = input(x)*2; f 27 test/correctness/input_image_bounds_check.cpp f.set_error_handler(&halide_error); f 30 test/correctness/input_image_bounds_check.cpp f.realize(23); f 15 test/correctness/integer_powers.cpp Func f; f 24 test/correctness/interleave.cpp int count_interleaves(Func f) { f 28 test/correctness/interleave.cpp f.compute_root(); f 30 test/correctness/interleave.cpp Stmt s = Internal::lower_main_stmt({f.function()}, f.name(), t); f 36 test/correctness/interleave.cpp void check_interleave_count(Func f, int correct) { f 37 test/correctness/interleave.cpp int c = count_interleaves(f); f 40 test/correctness/interleave.cpp f.name().c_str(), correct, c); f 45 test/correctness/interleave.cpp void define(FuncRef f, std::vector<Expr> values) { f 47 test/correctness/interleave.cpp f = values[0]; f 49 test/correctness/interleave.cpp f = Tuple(values); f 53 test/correctness/interleave.cpp void define(FuncRef f, Expr value, int count) { f 58 test/correctness/interleave.cpp define(f, values); f 61 test/correctness/interleave.cpp Expr element(FuncRef f, int i) { f 62 test/correctness/interleave.cpp if (f.size() == 1) { f 64 test/correctness/interleave.cpp return f; f 66 test/correctness/interleave.cpp return f[i]; f 89 test/correctness/interleave.cpp Func f, g, h; f 95 test/correctness/interleave.cpp define(f(x), f_def); f 99 test/correctness/interleave.cpp h_def.push_back(select(x % 2 == 0, 1.0f/element(f(x/2), i), element(g(x/2), i)*17.0f)); f 104 test/correctness/interleave.cpp f.compute_root(); f 87 test/correctness/introspection.cpp float f; f 114 test/correctness/introspection.cpp Foo::f(17); f 130 test/correctness/introspection.cpp check(&(obj->f), "float", "f", __FILE__, __LINE__); f 7 test/correctness/isnan.cpp Func f; f 12 test/correctness/isnan.cpp f(x, y) = select(is_nan(e), 0.0f, 1.0f); f 13 test/correctness/isnan.cpp f.vectorize(x, 8); f 17 test/correctness/isnan.cpp Buffer<float> im = f.realize(w, h); f 16 test/correctness/iterate_over_circle.cpp Func f; f 24 test/correctness/iterate_over_circle.cpp f(x, y) = 0; f 28 test/correctness/iterate_over_circle.cpp f(x, y) += select(x > -t && x < t, in(x, y), 0); f 31 test/correctness/iterate_over_circle.cpp f.set_custom_trace(my_trace); f 32 test/correctness/iterate_over_circle.cpp f.realize(20, 20); f 8 test/correctness/lambda.cpp Func f; f 10 test/correctness/lambda.cpp f(x, y) = x*y; f 17 test/correctness/lambda.cpp Buffer<int32_t> im = lambda(f(_) - g(_) + lambda(x, y, x+y)(_)).realize(10, 10); f 22 test/correctness/lazy_convolution.cpp Func f; f 24 test/correctness/lazy_convolution.cpp f(x, y) = call_counter(sin(x*3 + y)); f 31 test/correctness/lazy_convolution.cpp blur(x, y) = select(f(x, y) > 0, sum(f(x+r.x, y+r.y)), 0); f 40 test/correctness/leak_device_memory.cpp Func f; f 42 test/correctness/leak_device_memory.cpp f(x, y) = copy(x, y); f 46 test/correctness/leak_device_memory.cpp f.gpu_tile(x, y, xi, yi, 8, 8); f 48 test/correctness/leak_device_memory.cpp f.hexagon(); f 51 test/correctness/leak_device_memory.cpp f.set_custom_print(halide_print); f 52 test/correctness/leak_device_memory.cpp f.realize(50, 50, target); f 6 test/correctness/left_shift_negative.cpp Func f, g; f 8 test/correctness/left_shift_negative.cpp f(x) = cast<int16_t>(-x); f 11 test/correctness/left_shift_negative.cpp f.compute_root(); f 18 test/correctness/left_shift_negative.cpp h1(x) = f(x) << g(x); f 24 test/correctness/left_shift_negative.cpp h2(x) = f(x) * powers(x); f 11 test/correctness/legal_race_condition.cpp Func f; f 15 test/correctness/legal_race_condition.cpp f(x) = 0; f 16 test/correctness/legal_race_condition.cpp f(r/2) = r/2; f 23 test/correctness/legal_race_condition.cpp f.update().allow_race_conditions().parallel(r); f 25 test/correctness/legal_race_condition.cpp Buffer<int> out = f.realize(100); f 40 test/correctness/legal_race_condition.cpp Func f; f 52 test/correctness/legal_race_condition.cpp f(x) = -1; f 53 test/correctness/legal_race_condition.cpp f(permuted) = r; f 54 test/correctness/legal_race_condition.cpp f.update().allow_race_conditions().vectorize(r, 4).parallel(r); f 56 test/correctness/legal_race_condition.cpp Buffer<int> out = f.realize(256); f 30 test/correctness/likely.cpp Counter(string f) : func(f), store_count(0), sin_count(0) {} f 69 test/correctness/likely.cpp CheckStoreCount(string f, int c) : func(f), correct(c) {} f 83 test/correctness/likely.cpp Func f; f 85 test/correctness/likely.cpp f(x) = x; f 86 test/correctness/likely.cpp f.compute_root(); f 94 test/correctness/likely.cpp Func g = BoundaryConditions::repeat_edge(f, 0, 100); f 104 test/correctness/likely.cpp g(x) = f(x); f 131 test/correctness/likely.cpp Func g = BoundaryConditions::mirror_interior(f, 0, 10); f 172 test/correctness/likely.cpp g(x) = f(clamp(x, 0, 10)); // treated as clamp(likely(x), 0, 10) f 75 test/correctness/load_library.cpp Func f; f 76 test/correctness/load_library.cpp f(x, y) = cast<int32_t>(x + y); f 78 test/correctness/load_library.cpp f.gpu_tile(x, y, xi, yi, 8, 8, TailStrategy::Auto, DeviceAPI::OpenCL); f 79 test/correctness/load_library.cpp f.set_error_handler(my_error_handler); f 81 test/correctness/load_library.cpp Buffer<int32_t> out = f.realize(64, 64, target); f 26 test/correctness/logical.cpp Func f; f 27 test/correctness/logical.cpp f(x, y) = select(((input(x, y) > 10) && (input(x, y) < 20)) || f 33 test/correctness/logical.cpp f.gpu_tile(x, y, xi, yi, 16, 16).vectorize(xi, 4); f 35 test/correctness/logical.cpp f.hexagon().vectorize(x, 128); f 37 test/correctness/logical.cpp f.vectorize(x, 8); f 40 test/correctness/logical.cpp Buffer<uint8_t> output = f.realize(input.width(), input.height(), target); f 58 test/correctness/logical.cpp Func f; f 60 test/correctness/logical.cpp f(x, y) = select((common_cond && (input(x, y) < 20)) || f 66 test/correctness/logical.cpp f.gpu_tile(x, y, xi, yi, 16, 16).vectorize(xi, 4); f 68 test/correctness/logical.cpp f.hexagon().vectorize(x, 128); f 70 test/correctness/logical.cpp f.vectorize(x, 8); f 73 test/correctness/logical.cpp Buffer<uint8_t> output = f.realize(input.width(), input.height(), target); f 91 test/correctness/logical.cpp Func f("f"); f 92 test/correctness/logical.cpp f(x, y) = select(x < 10 || x > 20 || y < 10 || y > 20, 0, input(x, y)); f 97 test/correctness/logical.cpp f.gpu_tile(x, y, xi, yi, 16, 16).vectorize(xi, 4); f 99 test/correctness/logical.cpp f.hexagon().vectorize(x, 128); f 101 test/correctness/logical.cpp f.vectorize(x, 128); f 104 test/correctness/logical.cpp Buffer<uint8_t> output = f.realize(input.width(), input.height(), target); f 120 test/correctness/logical.cpp Func f; f 122 test/correctness/logical.cpp f(x, y) = select(input(x, y) > ten, u8(255), u8(0)); f 126 test/correctness/logical.cpp f.gpu_tile(x, y, xi, yi, 16, 16).vectorize(xi, 4); f 128 test/correctness/logical.cpp f.hexagon().vectorize(x, 128); f 130 test/correctness/logical.cpp f.vectorize(x, 8); f 133 test/correctness/logical.cpp Buffer<uint8_t> output = f.realize(input.width(), input.height(), target); f 161 test/correctness/logical.cpp Func f; f 162 test/correctness/logical.cpp f(x, y) = select(in_narrow(x, y) > 10, in_wide(x, y*2), in_wide(x, y*2+1)); f 165 test/correctness/logical.cpp cpu(x, y) = f(x, y); f 168 test/correctness/logical.cpp gpu(x, y) = f(x, y); f 23 test/correctness/loop_invariant_extern_calls.cpp int not_really_parallel_for(void *ctx, int (*f)(void *, int, uint8_t *), int min, int extent, uint8_t *closure) { f 25 test/correctness/loop_invariant_extern_calls.cpp f(ctx, i, closure); f 32 test/correctness/loop_invariant_extern_calls.cpp Func f; f 34 test/correctness/loop_invariant_extern_calls.cpp f(x, y) = my_func(0, Expr(0)) + my_func(1, y) + my_func(2, x*32 + y); f 38 test/correctness/loop_invariant_extern_calls.cpp f.bound(x, 0, 32).bound(y, 0, 32); f 40 test/correctness/loop_invariant_extern_calls.cpp Buffer<int> im = f.realize(32, 32); f 65 test/correctness/lots_of_dimensions.cpp Func f, g, h; f 67 test/correctness/lots_of_dimensions.cpp f(v0, v1, v2, v3, v4, v5, v6, v7) = pow(input(v0, v1, v2, v3, v4, v5, v6, v7), 2); f 68 test/correctness/lots_of_dimensions.cpp g(v0, v1, v2, v3, v4, v5, v6, v7) = f(v0, v1, v2, v3, v4, v5, v6, v7) - 2; f 71 test/correctness/lots_of_dimensions.cpp f.compute_root().parallel(v7); f 10 test/correctness/many_dimensions.cpp Func f; f 18 test/correctness/many_dimensions.cpp f(vars) = e; f 46 test/correctness/many_dimensions.cpp g(x, y) = f(site1) + f(site2); f 48 test/correctness/many_dimensions.cpp f.compute_at(g, x); f 52 test/correctness/many_small_extern_stages.cpp Func f, g, h; f 55 test/correctness/many_small_extern_stages.cpp f(x, y) = x*x + y; f 58 test/correctness/many_small_extern_stages.cpp g.define_extern("copy", {f}, Int(32), 2); f 61 test/correctness/many_small_extern_stages.cpp h(x, y) += r * (g(x, y) - f(x, y)); f 63 test/correctness/many_small_extern_stages.cpp f.compute_at(h, y); f 9 test/correctness/many_updates.cpp Func f; f 11 test/correctness/many_updates.cpp f(x, y) = x + y; f 13 test/correctness/many_updates.cpp f(x, i) += 1; f 14 test/correctness/many_updates.cpp f(i, y) += 1; f 16 test/correctness/many_updates.cpp f.compute_root(); f 18 test/correctness/many_updates.cpp Buffer<int> im = f.realize(N, N); f 87 test/correctness/memoize.cpp Func f, f_memoized; f 90 test/correctness/memoize.cpp f() = f_memoized(); f 93 test/correctness/memoize.cpp Buffer<uint8_t> result1 = f.realize(); f 94 test/correctness/memoize.cpp Buffer<uint8_t> result2 = f.realize(); f 108 test/correctness/memoize.cpp Func f, g; f 110 test/correctness/memoize.cpp f() = count_calls(coord, coord); f 111 test/correctness/memoize.cpp f.compute_root().memoize(); f 113 test/correctness/memoize.cpp g(x, y) = f(); f 145 test/correctness/memoize.cpp Func f; f 147 test/correctness/memoize.cpp f(x, y) = count_calls(x, y) + count_calls(x, y); f 150 test/correctness/memoize.cpp Buffer<uint8_t> out1 = f.realize(256, 256); f 151 test/correctness/memoize.cpp Buffer<uint8_t> out2 = f.realize(256, 256); f 171 test/correctness/memoize.cpp Func f; f 173 test/correctness/memoize.cpp f(x, y) = count_calls_23(x, y) + count_calls_42(x, y); f 177 test/correctness/memoize.cpp Buffer<uint8_t> out1 = f.realize(256, 256); f 178 test/correctness/memoize.cpp Buffer<uint8_t> out2 = f.realize(256, 256); f 200 test/correctness/memoize.cpp Func f; f 202 test/correctness/memoize.cpp f(x, y) = count_calls_val1(x, y) + count_calls_val2(x, y); f 209 test/correctness/memoize.cpp Buffer<uint8_t> out1 = f.realize(256, 256); f 210 test/correctness/memoize.cpp Buffer<uint8_t> out2 = f.realize(256, 256); f 213 test/correctness/memoize.cpp Buffer<uint8_t> out3 = f.realize(256, 256); f 216 test/correctness/memoize.cpp Buffer<uint8_t> out4 = f.realize(256, 256); f 219 test/correctness/memoize.cpp Buffer<uint8_t> out5 = f.realize(256, 256); f 222 test/correctness/memoize.cpp Buffer<uint8_t> out6 = f.realize(256, 256); f 245 test/correctness/memoize.cpp Func f; f 247 test/correctness/memoize.cpp f(x, y) = count_calls(x, y) + count_calls(x, y); f 251 test/correctness/memoize.cpp Buffer<uint8_t> out1 = f.realize(256, 256); f 253 test/correctness/memoize.cpp Buffer<uint8_t> out2 = f.realize(256, 256); f 271 test/correctness/memoize.cpp Func f; f 273 test/correctness/memoize.cpp f(x, y) = count_calls(x, y) + count_calls(x, y); f 277 test/correctness/memoize.cpp Buffer<uint8_t> out1 = f.realize(256, 256); f 279 test/correctness/memoize.cpp Buffer<uint8_t> out2 = f.realize(256, 256); f 298 test/correctness/memoize.cpp Func f, g, h; f 301 test/correctness/memoize.cpp f(x) = count_calls(x, 0) + cast<uint8_t>(x); f 302 test/correctness/memoize.cpp g(x) = f(x); f 305 test/correctness/memoize.cpp f.compute_root().memoize(); f 330 test/correctness/memoize.cpp Func f; f 332 test/correctness/memoize.cpp f(x, y) = Tuple(count_calls(x, y) + cast<uint8_t>(x), x); f 334 test/correctness/memoize.cpp f.compute_root().memoize(); f 337 test/correctness/memoize.cpp g(x, y) = Tuple(f(x, y)[0] + f(x - 1, y)[0] + f(x + 1, y)[0], f(x, y)[1]); f 373 test/correctness/memoize.cpp Func f; f 375 test/correctness/memoize.cpp f(x, y) = count_calls(x, y) + cast<uint8_t>(x); f 379 test/correctness/memoize.cpp g(x, y) = f(x, y) + f(x - 1, y) + f(x + 1, y); f 408 test/correctness/memoize.cpp Func f; f 410 test/correctness/memoize.cpp f(x, y) = count_calls(x, y) + cast<uint8_t>(x); f 414 test/correctness/memoize.cpp g(x, y) = f(x, y) + f(x - 1, y) + f(x + 1, y); f 465 test/correctness/memoize.cpp Func f; f 469 test/correctness/memoize.cpp f(x, y) = count_calls(x, y % 4, memoize_tag(y / 16, 0)) + cast<uint8_t>(x); f 472 test/correctness/memoize.cpp g(x, y) = f(x, y) + f(x - 1, y) + f(x + 1, y); f 473 test/correctness/memoize.cpp count_calls.compute_at(f, y).memoize(); f 474 test/correctness/memoize.cpp f.compute_at(g, y).memoize(); f 499 test/correctness/memoize.cpp Func f; f 501 test/correctness/memoize.cpp f(x, y) = cast<uint8_t>((x << 8) + y); f 503 test/correctness/memoize.cpp Func prev_func = f; f 517 test/correctness/memoize.cpp f.compute_root(); f 557 test/correctness/memoize.cpp Func f; f 559 test/correctness/memoize.cpp f(x, y) = Tuple(count_calls(x, y) + cast<uint8_t>(x), x); f 561 test/correctness/memoize.cpp f.compute_root().memoize(); f 564 test/correctness/memoize.cpp g(x, y) = Tuple(f(x, y)[0] + f(x - 1, y)[0] + f(x + 1, y)[0], f(x, y)[1]); f 10 test/correctness/min_extent.cpp Func f("f"); f 18 test/correctness/min_extent.cpp f(x) = factor * x; f 36 test/correctness/min_extent.cpp f.realize(out); f 9 test/correctness/mod.cpp Func f; f 10 test/correctness/mod.cpp f(x) = cast<T>(x) % 2; f 12 test/correctness/mod.cpp Buffer<T> im = f.realize(16); f 293 test/correctness/mul_div_mod.cpp Func f; f 295 test/correctness/mul_div_mod.cpp f(x, y) = cast(rt, a(x, y)) * cast(rt, b(x, y)); f 297 test/correctness/mul_div_mod.cpp f.vectorize(x, vector_width); f 303 test/correctness/mul_div_mod.cpp f.compute_root().gpu_tile(x, y, xi, yi, 16, 16); f 306 test/correctness/mul_div_mod.cpp f.compute_root().hexagon(); f 310 test/correctness/mul_div_mod.cpp Buffer<RT> r = f.realize(WIDTH, HEIGHT, target); f 378 test/correctness/mul_div_mod.cpp Func f; f 380 test/correctness/mul_div_mod.cpp f(x, y) = Tuple(a(x, y) / b(x, y), a(x, y) % b(x, y)); // Using Halide division operation. f 382 test/correctness/mul_div_mod.cpp f.vectorize(x, vector_width); f 388 test/correctness/mul_div_mod.cpp f.compute_root().gpu_tile(x, y, xi, yi, 16, 16); f 391 test/correctness/mul_div_mod.cpp f.compute_root().hexagon(); f 395 test/correctness/mul_div_mod.cpp Realization R = f.realize(WIDTH, HEIGHT, target); f 475 test/correctness/mul_div_mod.cpp Func f; f 476 test/correctness/mul_div_mod.cpp f(_) = a(_) % b(_); // Using Halide mod operation. f 477 test/correctness/mul_div_mod.cpp f.realize(out); f 582 test/correctness/mul_div_mod.cpp auto f = pool.async(test_mul, vector_width, scheduling, target); f 583 test/correctness/mul_div_mod.cpp futures.push_back(std::move(f)); f 588 test/correctness/mul_div_mod.cpp auto f = pool.async(test_div_mod, vector_width, scheduling, target); f 589 test/correctness/mul_div_mod.cpp futures.push_back(std::move(f)); f 595 test/correctness/mul_div_mod.cpp for (auto &f : futures) { f 596 test/correctness/mul_div_mod.cpp success &= f.get(); f 13 test/correctness/multi_output_pipeline_with_bad_sizes.cpp Func f; f 15 test/correctness/multi_output_pipeline_with_bad_sizes.cpp f(x) = Tuple(x, sin(x)); f 21 test/correctness/multi_output_pipeline_with_bad_sizes.cpp f.set_error_handler(&halide_error); f 25 test/correctness/multi_output_pipeline_with_bad_sizes.cpp f.realize(r); f 11 test/correctness/multi_pass_reduction.cpp Func f; f 13 test/correctness/multi_pass_reduction.cpp f(x) = sin(x); f 18 test/correctness/multi_pass_reduction.cpp f(xl) = f(xl - 1) + f(xl); f 19 test/correctness/multi_pass_reduction.cpp f(xr) = f(xr + 1) + f(xr); f 21 test/correctness/multi_pass_reduction.cpp Buffer<float> result = f.realize(11); f 48 test/correctness/multi_pass_reduction.cpp Func f, g; f 50 test/correctness/multi_pass_reduction.cpp f(x) = x; f 54 test/correctness/multi_pass_reduction.cpp f(r) = f(r) + f(r-1); f 57 test/correctness/multi_pass_reduction.cpp f(17) = 8; f 58 test/correctness/multi_pass_reduction.cpp f(109) = 4; f 62 test/correctness/multi_pass_reduction.cpp f(r2) = g(r2); f 64 test/correctness/multi_pass_reduction.cpp g.compute_at(f, r2); f 65 test/correctness/multi_pass_reduction.cpp Buffer<int> result = f.realize(110); f 92 test/correctness/multi_pass_reduction.cpp Func f; f 93 test/correctness/multi_pass_reduction.cpp f(x) = 1; f 95 test/correctness/multi_pass_reduction.cpp f(i) = f(i-1) + f(i-2); f 98 test/correctness/multi_pass_reduction.cpp Buffer<int> result = f.realize(20); f 115 test/correctness/multi_pass_reduction.cpp Func f; f 116 test/correctness/multi_pass_reduction.cpp f(x, y) = sin(x + y); f 119 test/correctness/multi_pass_reduction.cpp f(x, r) += f(x, r - 1); f 120 test/correctness/multi_pass_reduction.cpp f(r, y) += f(r - 1, y); f 123 test/correctness/multi_pass_reduction.cpp f.update(0).vectorize(x, 4); f 128 test/correctness/multi_pass_reduction.cpp f.update(1).reorder(Var(r.x.name()), y).parallel(y); f 130 test/correctness/multi_pass_reduction.cpp Buffer<float> result = f.realize(100, 100); f 12 test/correctness/multi_splits_with_diff_tail_strategies.cpp Func f("f"), input("input"); f 15 test/correctness/multi_splits_with_diff_tail_strategies.cpp f(x, y, c) = x + y + c; f 17 test/correctness/multi_splits_with_diff_tail_strategies.cpp f.reorder(c, x, y); f 19 test/correctness/multi_splits_with_diff_tail_strategies.cpp f.split(y, yo, yi, 2, TailStrategy::RoundUp); f 22 test/correctness/multi_splits_with_diff_tail_strategies.cpp f.split(yo, yoo, yoi, 64, TailStrategy::GuardWithIf); f 24 test/correctness/multi_splits_with_diff_tail_strategies.cpp Buffer<int> im = f.realize(3000, 2000, 3); f 7 test/correctness/multi_way_select.cpp Func f; f 12 test/correctness/multi_way_select.cpp f(x) = select(x == 0, cases[0], f 28 test/correctness/multi_way_select.cpp uint32_t err = evaluate_may_gpu<uint32_t>(sum(abs(g(r) - f(r)))); f 11 test/correctness/multiple_outputs.cpp Func f, g; f 13 test/correctness/multiple_outputs.cpp f(x) = {x, sin(x)}; f 15 test/correctness/multiple_outputs.cpp f.compute_root(); f 17 test/correctness/multiple_outputs.cpp Tuple t = f(x); f 29 test/correctness/multiple_outputs.cpp Func f, g; f 31 test/correctness/multiple_outputs.cpp f(x, y) = sin(x*y); f 32 test/correctness/multiple_outputs.cpp f.compute_root(); f 37 test/correctness/multiple_outputs.cpp g() = Tuple(0, 0, f(0, 0)); f 40 test/correctness/multiple_outputs.cpp Expr next_value = f(r.x, r.y); f 61 test/correctness/multiple_outputs.cpp Func f, g; f 63 test/correctness/multiple_outputs.cpp f(x) = 100*x; f 67 test/correctness/multiple_outputs.cpp f.gpu_tile(x, xi, 8); f 73 test/correctness/multiple_outputs.cpp Pipeline({f, g}).realize({f_im, g_im}); f 98 test/correctness/multiple_outputs.cpp Func f, g; f 100 test/correctness/multiple_outputs.cpp f(x) = cast<float>(100*x); f 104 test/correctness/multiple_outputs.cpp f.gpu_tile(x, xi, 8); f 108 test/correctness/multiple_outputs.cpp Realization r = Pipeline({f, g}).realize(100); f 137 test/correctness/multiple_outputs.cpp Func f, g, h; f 140 test/correctness/multiple_outputs.cpp f(x) = x; f 141 test/correctness/multiple_outputs.cpp h(x) = {f(x) + 17, f(x) - 17}; f 142 test/correctness/multiple_outputs.cpp g(x, y) = {f(x + y) * 2, h(x)[0] * y, h(x)[1] - 2}; f 150 test/correctness/multiple_outputs.cpp Pipeline({h, g, f}).realize({h_im0, h_im1, g_im0, g_im1, g_im2, f_im}); f 14 test/correctness/named_updates.cpp Func f; f 21 test/correctness/named_updates.cpp f(x) = x; f 24 test/correctness/named_updates.cpp f(0) = 1; f 27 test/correctness/named_updates.cpp f(r*2) = 13, f 28 test/correctness/named_updates.cpp f(r*4) = 14 f 34 test/correctness/named_updates.cpp f(3*r) = 4, f 35 test/correctness/named_updates.cpp f(2*r) = 8, f 36 test/correctness/named_updates.cpp f(5*r) = 2 f 39 test/correctness/named_updates.cpp f.compute_root(); f 61 test/correctness/named_updates.cpp Buffer<int> result = f.realize(128); f 21 test/correctness/newtons_method.cpp Func f; f 22 test/correctness/newtons_method.cpp f() = cast<T>(3); f 24 test/correctness/newtons_method.cpp Expr value = sin(f()); f 25 test/correctness/newtons_method.cpp Expr deriv = cos(f()); f 30 test/correctness/newtons_method.cpp f() -= value/deriv + (r*0); f 32 test/correctness/newtons_method.cpp T newton_result = evaluate_may_gpu<T>(f()); f 15 test/correctness/obscure_image_references.cpp Func f; f 17 test/correctness/obscure_image_references.cpp f(x) = x + im1.width(); f 19 test/correctness/obscure_image_references.cpp f(r) = 37; f 25 test/correctness/obscure_image_references.cpp Buffer<int> result = f.realize(100); f 8 test/correctness/oddly_sized_output.cpp Func f; f 10 test/correctness/oddly_sized_output.cpp f(x, y) = input(x, y)*2; f 13 test/correctness/oddly_sized_output.cpp f.vectorize(x, 4).unroll(x, 3).unroll(x, 2); f 14 test/correctness/oddly_sized_output.cpp f.split(y, y, yi, 16).parallel(y); f 16 test/correctness/oddly_sized_output.cpp Buffer<int> out = f.realize(87, 93); f 46 test/correctness/out_of_memory.cpp Func f; f 47 test/correctness/out_of_memory.cpp f(x) = funcs[i](0) + funcs[i](big); f 48 test/correctness/out_of_memory.cpp funcs[i].compute_at(f, x); f 49 test/correctness/out_of_memory.cpp funcs.push_back(f); f 8 test/correctness/parallel.cpp Func f; f 13 test/correctness/parallel.cpp f(x) = x*k; f 15 test/correctness/parallel.cpp f.parallel(x); f 17 test/correctness/parallel.cpp Buffer<int> im = f.realize(16); f 10 test/correctness/parallel_alloc.cpp Func f, g; f 13 test/correctness/parallel_alloc.cpp f(x, y) = g(x-1, y) + g(x+1, y); f 15 test/correctness/parallel_alloc.cpp g.compute_at(f, y); f 16 test/correctness/parallel_alloc.cpp f.parallel(y); f 18 test/correctness/parallel_alloc.cpp Buffer<int> im = f.realize(8, 8); f 19 test/correctness/parallel_alloc.cpp f.realize(im); f 13 test/correctness/parallel_gpu_nested.cpp Func f; f 18 test/correctness/parallel_gpu_nested.cpp f(x, y, z) = x*y+z*k+1; f 21 test/correctness/parallel_gpu_nested.cpp f.gpu_tile(x, y, xi, yi, 16, 16); f 22 test/correctness/parallel_gpu_nested.cpp f.parallel(z); f 24 test/correctness/parallel_gpu_nested.cpp Buffer<int> im = f.realize(64, 64, 64); f 8 test/correctness/parallel_nested.cpp Func f; f 13 test/correctness/parallel_nested.cpp f(x, y, z) = x*y+z*k+1; f 15 test/correctness/parallel_nested.cpp f.parallel(x); f 16 test/correctness/parallel_nested.cpp f.parallel(y); f 17 test/correctness/parallel_nested.cpp f.parallel(z); f 19 test/correctness/parallel_nested.cpp Buffer<int> im = f.realize(64, 64, 64); f 8 test/correctness/parallel_rvar.cpp Func f[2]; f 14 test/correctness/parallel_rvar.cpp f[i](x, y) = x + y; f 20 test/correctness/parallel_rvar.cpp f[i](r.x, r.y) += 1; f 21 test/correctness/parallel_rvar.cpp f[i](r.x, r.y) += f[i](r.x + 20, r.y); f 23 test/correctness/parallel_rvar.cpp f[i](2*r2 + 1, 0) += f[i](2*r2, 0); f 24 test/correctness/parallel_rvar.cpp f[i](r2, 0) += f[i](r2-1, 1); f 27 test/correctness/parallel_rvar.cpp f[0].compute_root(); f 29 test/correctness/parallel_rvar.cpp f[0].update(0).tile(r.x, r.y, rxo, ryo, rxi, ryi, 4, 2).fuse(rxo, ryo, rt).parallel(rt); f 30 test/correctness/parallel_rvar.cpp f[0].update(1).parallel(r.x).parallel(r.y).unroll(r.y, 2); f 31 test/correctness/parallel_rvar.cpp f[0].update(2).vectorize(r2, 4).unroll(r2); f 32 test/correctness/parallel_rvar.cpp f[0].update(3).parallel(r2, 4); f 33 test/correctness/parallel_rvar.cpp f[1].compute_root(); f 36 test/correctness/parallel_rvar.cpp int error = evaluate<int>(sum(f[0](r_check.x, r_check.y) - f[1](r_check.x, r_check.y))); f 9 test/correctness/param.cpp Func f("f"); f 24 test/correctness/param.cpp f(x) = u; f 29 test/correctness/param.cpp f.gpu_tile(x, xo, xi, 256); f 31 test/correctness/param.cpp f.hexagon().vectorize(x, 32); f 35 test/correctness/param.cpp Buffer<int> out_17 = f.realize(1024, target); f 41 test/correctness/param.cpp Buffer<int> out_123 = f.realize(1024, target); f 14 test/correctness/parameter_constraints.cpp Func f, g; f 25 test/correctness/parameter_constraints.cpp f(x, y) = g(cast<int>(x/p), y); f 27 test/correctness/parameter_constraints.cpp f.set_error_handler(my_error_handler); f 31 test/correctness/parameter_constraints.cpp f.realize(100, 100); f 39 test/correctness/parameter_constraints.cpp f.realize(100, 100); f 47 test/correctness/parameter_constraints.cpp Func f, g; f 56 test/correctness/parameter_constraints.cpp f(x, y) = g(cast<int>(x/p), y); f 58 test/correctness/parameter_constraints.cpp f.set_error_handler(my_error_handler); f 61 test/correctness/parameter_constraints.cpp f.realize(100, 100); f 69 test/correctness/parameter_constraints.cpp f.realize(100, 100); f 8 test/correctness/partial_application.cpp Func f, g; f 12 test/correctness/partial_application.cpp f(x, y) = 2.0f; f 15 test/correctness/partial_application.cpp g(x, _) = f(x, _) + f(x-1, _); f 19 test/correctness/partial_application.cpp h(_) = (g(_) + f(_))*6.0f; f 25 test/correctness/partition_loops.cpp Func f("f"), g("g"), h("h"); f 29 test/correctness/partition_loops.cpp f(x, y, c) = select(h(x, y) < x + y, x + y, y + c); f 31 test/correctness/partition_loops.cpp f.compute_root(); f 34 test/correctness/partition_loops.cpp output(x, y, c) = cast<float>(f(x, y, c)); f 27 test/correctness/pipeline_set_jit_externs_func.cpp Func f; f 28 test/correctness/pipeline_set_jit_externs_func.cpp f.define_extern("extern_func", args, Float(32), 2); f 30 test/correctness/pipeline_set_jit_externs_func.cpp Pipeline p(f); f 85 test/correctness/predicated_store_load.cpp Func f ("f"), g("g"), ref("ref"); f 97 test/correctness/predicated_store_load.cpp f(x, y) = 10; f 98 test/correctness/predicated_store_load.cpp f(r.x, r.y) += g(2*r.x, r.y) + g(2*r.x + 1, r.y); f 102 test/correctness/predicated_store_load.cpp f.update(0).hexagon().vectorize(r.x, 32); f 104 test/correctness/predicated_store_load.cpp f.update(0).vectorize(r.x, 32); f 105 test/correctness/predicated_store_load.cpp f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(true, true)); f 108 test/correctness/predicated_store_load.cpp Buffer<int> im = f.realize(170, 170); f 119 test/correctness/predicated_store_load.cpp Func f ("f"), g("g"), ref("ref"); f 127 test/correctness/predicated_store_load.cpp f(x, y) = select(x < 23, g(size-x, y) * 2 + g(20-x, y), undef<int>()); f 131 test/correctness/predicated_store_load.cpp f.hexagon().vectorize(x, 32); f 133 test/correctness/predicated_store_load.cpp f.vectorize(x, 32); f 134 test/correctness/predicated_store_load.cpp f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(true, true)); f 137 test/correctness/predicated_store_load.cpp Buffer<int> im = f.realize(size, size); f 151 test/correctness/predicated_store_load.cpp Func f ("f"), g("g"), ref("ref"); f 164 test/correctness/predicated_store_load.cpp f(x, y) = 10; f 165 test/correctness/predicated_store_load.cpp f(r.x, r.y) = g(size-r.x, r.y) * 2 + g(67-r.x, r.y); f 169 test/correctness/predicated_store_load.cpp f.update(0).hexagon().vectorize(r.x, 32); f 171 test/correctness/predicated_store_load.cpp f.update(0).vectorize(r.x, 32); f 172 test/correctness/predicated_store_load.cpp f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(true, true)); f 175 test/correctness/predicated_store_load.cpp Buffer<int> im = f.realize(size, size); f 185 test/correctness/predicated_store_load.cpp Func f ("f"), g("g"), ref("ref"); f 197 test/correctness/predicated_store_load.cpp f(x, y) = 10; f 198 test/correctness/predicated_store_load.cpp f(r.x, r.y) += 1 + max(g(0, 1), g(2*r.x + 1, r.y)); f 202 test/correctness/predicated_store_load.cpp f.update(0).hexagon().vectorize(r.x, 32); f 204 test/correctness/predicated_store_load.cpp f.update(0).vectorize(r.x, 32); f 205 test/correctness/predicated_store_load.cpp f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(true, true)); f 208 test/correctness/predicated_store_load.cpp Buffer<int> im = f.realize(160, 160); f 218 test/correctness/predicated_store_load.cpp Func f ("f"), g("g"), ref("ref"); f 230 test/correctness/predicated_store_load.cpp f(x, y) = 10; f 231 test/correctness/predicated_store_load.cpp f(13, 13) = max(g(0, 1), g(2*r.x + 1, r.y)); f 233 test/correctness/predicated_store_load.cpp f.update(0).allow_race_conditions(); f 237 test/correctness/predicated_store_load.cpp f.update(0).hexagon().vectorize(r.x, 32); f 239 test/correctness/predicated_store_load.cpp f.update(0).vectorize(r.x, 32); f 240 test/correctness/predicated_store_load.cpp f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(true, true)); f 243 test/correctness/predicated_store_load.cpp Buffer<int> im = f.realize(160, 160); f 253 test/correctness/predicated_store_load.cpp Func f ("f"), g("g"), ref("ref"); f 265 test/correctness/predicated_store_load.cpp f(x, y, z) = 10; f 266 test/correctness/predicated_store_load.cpp f(r.x, r.y, 1) = max(g(0, 1, 2), g(r.x + 1, r.y, 2)); f 268 test/correctness/predicated_store_load.cpp f.update(0).allow_race_conditions(); f 272 test/correctness/predicated_store_load.cpp f.update(0).hexagon().vectorize(r.z, 32); f 274 test/correctness/predicated_store_load.cpp f.update(0).vectorize(r.z, 32); f 275 test/correctness/predicated_store_load.cpp f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(false, false)); f 278 test/correctness/predicated_store_load.cpp Buffer<int> im = f.realize(160, 160, 160); f 288 test/correctness/predicated_store_load.cpp Func f ("f"), ref("ref"); f 298 test/correctness/predicated_store_load.cpp f(x, y) = x + y; f 299 test/correctness/predicated_store_load.cpp f(2*r.x + 1, r.y) = f(2*r.x + 1, r.y); f 300 test/correctness/predicated_store_load.cpp f(2*r.x, 3*r.y) = f(2*r.x, 3*r.y); f 304 test/correctness/predicated_store_load.cpp f.update(0).hexagon().vectorize(r.x, 32); f 305 test/correctness/predicated_store_load.cpp f.update(1).hexagon().vectorize(r.y, 32); f 307 test/correctness/predicated_store_load.cpp f.update(0).vectorize(r.x, 32); f 308 test/correctness/predicated_store_load.cpp f.update(1).vectorize(r.y, 32); f 309 test/correctness/predicated_store_load.cpp f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(false, false)); f 312 test/correctness/predicated_store_load.cpp Buffer<int> im = f.realize(240, 240); f 322 test/correctness/predicated_store_load.cpp Func f ("f"), g("g"), ref("ref"); f 334 test/correctness/predicated_store_load.cpp f(x, y) = 10; f 335 test/correctness/predicated_store_load.cpp f(r.x, r.y) += abs(r.x*r.y) + g(2*r.x + 1, r.y); f 339 test/correctness/predicated_store_load.cpp f.update(0).hexagon().vectorize(r.x, 32); f 341 test/correctness/predicated_store_load.cpp f.update(0).vectorize(r.x, 32); f 342 test/correctness/predicated_store_load.cpp f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(true, true)); f 345 test/correctness/predicated_store_load.cpp Buffer<int> im = f.realize(160, 160); f 31 test/correctness/print.cpp Func f; f 33 test/correctness/print.cpp f(x) = print(x * x, "the answer is", 42.0f, "unsigned", cast<uint32_t>(145)); f 34 test/correctness/print.cpp f.set_custom_print(halide_print); f 35 test/correctness/print.cpp Buffer<int32_t> result = f.realize(10); f 61 test/correctness/print.cpp Func f; f 66 test/correctness/print.cpp f(x) = print_when(x == 3, x * x, "g", 42.0f, "%s", param); f 67 test/correctness/print.cpp f.set_custom_print(halide_print); f 68 test/correctness/print.cpp Buffer<int32_t> result = f.realize(10); f 93 test/correctness/print.cpp Func f; f 110 test/correctness/print.cpp f(x) = print(args); f 111 test/correctness/print.cpp f.set_custom_print(halide_print); f 112 test/correctness/print.cpp Buffer<uint64_t> result = f.realize(1); f 129 test/correctness/print.cpp Func f, g; f 151 test/correctness/print.cpp f(x) = print(e); f 153 test/correctness/print.cpp f.set_custom_print(halide_print); f 154 test/correctness/print.cpp Buffer<float> imf = f.realize(N); f 14 test/correctness/random.cpp Func f; f 15 test/correctness/random.cpp f(x, y) = random_float(); f 16 test/correctness/random.cpp f.vectorize(x, 4); f 17 test/correctness/random.cpp f.parallel(y); f 18 test/correctness/random.cpp Buffer<float> rand_image = f.realize(1024, 1024); f 80 test/correctness/random.cpp Func f; f 81 test/correctness/random.cpp f(x, y) = cast<double>(random_float(seed)); f 85 test/correctness/random.cpp Buffer<double> im1 = f.realize(1024, 1024); f 86 test/correctness/random.cpp Buffer<double> im2 = f.realize(1024, 1024); f 89 test/correctness/random.cpp g(x, y) = f(x, y); f 117 test/correctness/random.cpp Func f; f 118 test/correctness/random.cpp f(x, y) = random_int(); f 119 test/correctness/random.cpp Buffer<int> im = f.realize(1024, 1024); f 123 test/correctness/random.cpp Expr val = f(r.x, r.y); f 150 test/correctness/random.cpp Func f; f 151 test/correctness/random.cpp f(x, y) = r1 + r1 - 1.0f; f 161 test/correctness/random.cpp Expr f_val = f(r.x, r.y); f 15 test/correctness/realize_over_shifted_domain.cpp Func f; f 17 test/correctness/realize_over_shifted_domain.cpp f(x, y) = input(2*x, y/2); f 19 test/correctness/realize_over_shifted_domain.cpp f.compile_jit(); f 25 test/correctness/realize_over_shifted_domain.cpp f.realize(result); f 81 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)); f 83 test/correctness/reduction_non_rectangular.cpp f(x, y) = x + y; f 88 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y) += 1; f 90 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 110 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)); f 112 test/correctness/reduction_non_rectangular.cpp f(x, y) = x + y; f 116 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y) += 1; f 119 test/correctness/reduction_non_rectangular.cpp f.update().reorder(r.y, r.x); f 120 test/correctness/reduction_non_rectangular.cpp f.update().split(r.x, rx_outer, rx_inner, 4); f 121 test/correctness/reduction_non_rectangular.cpp f.update().fuse(rx_inner, r.y, r_fused); f 123 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 143 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)); f 145 test/correctness/reduction_non_rectangular.cpp f(x, y, z) = x + y + z; f 149 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y, z) += 1; f 151 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200, 200); f 173 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index)); f 178 test/correctness/reduction_non_rectangular.cpp f(x, y) = x + y; f 182 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y) += 1; f 187 test/correctness/reduction_non_rectangular.cpp f.set_custom_trace(&func_call_bound_trace); f 194 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 220 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index)); f 227 test/correctness/reduction_non_rectangular.cpp f(x, y) = x + y; f 231 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y) += 1; f 233 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 254 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index)); f 259 test/correctness/reduction_non_rectangular.cpp f(x, y) = x + y; f 263 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y) += 2*g(r.x, r.y); f 268 test/correctness/reduction_non_rectangular.cpp f.set_custom_trace(&box_bound_trace); f 275 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 300 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index)); f 303 test/correctness/reduction_non_rectangular.cpp f(x, y) = x + y; f 308 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y) += g(r.x, r.y); f 313 test/correctness/reduction_non_rectangular.cpp g.compute_at(f, r.y); f 315 test/correctness/reduction_non_rectangular.cpp f.set_custom_trace(&box_bound_trace); f 322 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 342 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index)); f 348 test/correctness/reduction_non_rectangular.cpp f(x, y) = x + y; f 351 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y) += 2*g(r.x, r.y); f 357 test/correctness/reduction_non_rectangular.cpp f.set_custom_trace(&box_bound_trace); f 367 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 394 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 417 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index)); f 421 test/correctness/reduction_non_rectangular.cpp f(x, y) = x + y; f 425 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y) = g(r.x, r.y); f 429 test/correctness/reduction_non_rectangular.cpp g.compute_at(f, r.y); f 431 test/correctness/reduction_non_rectangular.cpp f.set_custom_trace(&intermediate_bound_depend_on_output_trace); f 438 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 466 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index)); f 471 test/correctness/reduction_non_rectangular.cpp f(x, y) = x + y; f 475 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y) += g(r.x, r.y); f 478 test/correctness/reduction_non_rectangular.cpp f.update(0).tile(r.x, r.y, rxi, ryi, 8, 8); f 479 test/correctness/reduction_non_rectangular.cpp f.update(0).reorder(rxi, ryi, r.x, r.y); f 483 test/correctness/reduction_non_rectangular.cpp g.compute_at(f, ryi); f 485 test/correctness/reduction_non_rectangular.cpp f.set_custom_trace(&intermediate_bound_depend_on_output_trace); f 492 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 519 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index)); f 521 test/correctness/reduction_non_rectangular.cpp f(x, y) = x + y; f 525 test/correctness/reduction_non_rectangular.cpp r1.where(f(r1.x, r1.y) >= 40); f 526 test/correctness/reduction_non_rectangular.cpp r1.where(f(r1.x, r1.y) != 50); f 527 test/correctness/reduction_non_rectangular.cpp f(r1.x, r1.y) += 1; f 528 test/correctness/reduction_non_rectangular.cpp f.compute_root(); f 531 test/correctness/reduction_non_rectangular.cpp r2.where(f(r2.x, r2.y) < 30); f 532 test/correctness/reduction_non_rectangular.cpp g(r2.x, r2.y) += f(r2.x, r2.y); f 534 test/correctness/reduction_non_rectangular.cpp Buffer<int> im1 = f.realize(200, 200); f 569 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)); f 573 test/correctness/reduction_non_rectangular.cpp f(x, y) = Tuple(e1, x + y); f 576 test/correctness/reduction_non_rectangular.cpp r.where(f(r.x, r.y)[0]); f 577 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y) = Tuple(f(r.x, r.y)[0], f(r.x, r.y)[1] + 10); f 579 test/correctness/reduction_non_rectangular.cpp Realization res = f.realize(200, 200); f 646 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)); f 648 test/correctness/reduction_non_rectangular.cpp f(x, y) = x + y; f 653 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y) += 3; f 656 test/correctness/reduction_non_rectangular.cpp f.gpu_tile(x, y, xi, yi, 4, 4); f 658 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 678 test/correctness/reduction_non_rectangular.cpp Func f("f_" + std::to_string(index)); f 680 test/correctness/reduction_non_rectangular.cpp f(x, y) = x + y; f 685 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y) += 3; f 688 test/correctness/reduction_non_rectangular.cpp f.update(0).gpu_tile(r.x, r.y, r.x, r.y, rxi, ryi, 4, 4); f 690 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 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)); f 717 test/correctness/reduction_non_rectangular.cpp f(x, y) = x + y; f 720 test/correctness/reduction_non_rectangular.cpp f(r1.x, r1.y) += 2*g(r1.x, r1.y); f 724 test/correctness/reduction_non_rectangular.cpp f(r2.x, r2.y) += h(r2.x, r2.y) + g(r2.x, r2.y); f 727 test/correctness/reduction_non_rectangular.cpp f.update(0).specialize(p >= 2).gpu_tile(r1.x, r1.y, r1xi, r1yi, 4, 4); f 739 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 761 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 780 test/correctness/reduction_non_rectangular.cpp Func f("f"); f 782 test/correctness/reduction_non_rectangular.cpp f(x, y) = 0; f 784 test/correctness/reduction_non_rectangular.cpp Expr w = (f.output_buffer().width()/2)*2; f 785 test/correctness/reduction_non_rectangular.cpp Expr h = (f.output_buffer().height()/2)*2; f 790 test/correctness/reduction_non_rectangular.cpp f(r.x, r.y) += 10; f 792 test/correctness/reduction_non_rectangular.cpp f.update(0).unroll(r.x, 2) f 795 test/correctness/reduction_non_rectangular.cpp Buffer<int> im = f.realize(200, 200); f 20 test/correctness/reduction_subregion.cpp Func f; f 22 test/correctness/reduction_subregion.cpp f(x) = x; f 23 test/correctness/reduction_subregion.cpp f(r) = f(r-1) + f(r+1); f 25 test/correctness/reduction_subregion.cpp f.set_error_handler(&halide_error); f 26 test/correctness/reduction_subregion.cpp Buffer<int> result = f.realize(10); f 15 test/correctness/reorder_rvars.cpp Func f("f"); f 16 test/correctness/reorder_rvars.cpp f(x, y) = x + y; f 17 test/correctness/reorder_rvars.cpp f(x, y) += r1.x * r1.y; f 18 test/correctness/reorder_rvars.cpp f(x, r2.x) -= r2.z * f(x, r2.x + r2.y); f 30 test/correctness/reorder_rvars.cpp f.compute_root(); f 33 test/correctness/reorder_rvars.cpp Expr check = sum(abs(f(r3.x, r3.y) - g(r3.x, r3.y))); f 22 test/correctness/reorder_storage.cpp Func f("f"), g; f 24 test/correctness/reorder_storage.cpp f(x, y, c) = 1; f 25 test/correctness/reorder_storage.cpp g(x, y, c) = f(x, y, c); f 27 test/correctness/reorder_storage.cpp f.compute_root().reorder_storage(c, x, y); f 40 test/correctness/reorder_storage.cpp f.align_storage(x, x_alignment); f 22 test/correctness/require.cpp Func f; f 23 test/correctness/require.cpp f(x) = require((p1 + p2) == kPrime1, f 26 test/correctness/require.cpp f.set_error_handler(&halide_error); f 37 test/correctness/require.cpp result = f.realize(1); f 47 test/correctness/require.cpp result = f.realize(1); f 23 test/correctness/reschedule.cpp Func f; f 26 test/correctness/reschedule.cpp f(x) = x; f 27 test/correctness/reschedule.cpp f.set_custom_trace(&my_trace); f 28 test/correctness/reschedule.cpp f.trace_stores(); f 30 test/correctness/reschedule.cpp Buffer<int> result_1 = f.realize(10); f 32 test/correctness/reschedule.cpp f.vectorize(x, 4); f 34 test/correctness/reschedule.cpp Buffer<int> result_2 = f.realize(10); f 7 test/correctness/reuse_stack_alloc.cpp Func f, g, h, k; f 11 test/correctness/reuse_stack_alloc.cpp f(x) = x; f 12 test/correctness/reuse_stack_alloc.cpp f.compute_root(); f 14 test/correctness/reuse_stack_alloc.cpp g(x) = f(x); f 14 test/correctness/rfactor.cpp Func f("f"), g("g"); f 17 test/correctness/rfactor.cpp f(x, y) = x + y; f 18 test/correctness/rfactor.cpp f.compute_root(); f 22 test/correctness/rfactor.cpp g(r.x, r.y) = max(g(r.x, r.y) + f(r.x, r.y), g(r.x, r.y)); f 39 test/correctness/rfactor.cpp {intm.name(), {f.name(), intm.name()}}, f 40 test/correctness/rfactor.cpp {f.name(), {}}, f 58 test/correctness/rfactor.cpp Func f("f"), g("g"); f 63 test/correctness/rfactor.cpp f(x, y) = x - y; f 64 test/correctness/rfactor.cpp f.compute_root(); f 67 test/correctness/rfactor.cpp g(r.x, r.y) += f(r.x, r.y); f 88 test/correctness/rfactor.cpp {intm1.name(), {f.name(), intm1.name()}}, f 89 test/correctness/rfactor.cpp {f.name(), {}}, f 107 test/correctness/rfactor.cpp Func f("f"), g("g"); f 112 test/correctness/rfactor.cpp f(x, y) = x - y; f 113 test/correctness/rfactor.cpp f.compute_root(); f 116 test/correctness/rfactor.cpp g(r.x, r.y) += f(r.x, r.y); f 140 test/correctness/rfactor.cpp {intm1.name(), {f.name(), intm1.name()}}, f 141 test/correctness/rfactor.cpp {f.name(), {}}, f 160 test/correctness/rfactor.cpp Func f("f"), g("g"); f 165 test/correctness/rfactor.cpp f(x, y, z) = x + y + z; f 167 test/correctness/rfactor.cpp g(r.x, r.y, r.z) += f(r.x, r.y, r.z); f 180 test/correctness/rfactor.cpp Func wrapper = f.in(intm).compute_root(); f 181 test/correctness/rfactor.cpp f.compute_root(); f 191 test/correctness/rfactor.cpp {wrapper.name(), {f.name()}}, f 193 test/correctness/rfactor.cpp {f.name(), {}}, f 228 test/correctness/rfactor.cpp Func f("f"), g("g"); f 229 test/correctness/rfactor.cpp f(x, y) = 1; f 232 test/correctness/rfactor.cpp f(x_clamped, y_clamped) += c(r.x, r.y, r.z); f 233 test/correctness/rfactor.cpp f.compute_root(); f 235 test/correctness/rfactor.cpp g(x, y, z) = 2*f(x, y); f 240 test/correctness/rfactor.cpp Func f("f"), g("g"); f 241 test/correctness/rfactor.cpp f(x, y) = 1; f 244 test/correctness/rfactor.cpp f(x_clamped, y_clamped) += c(r.x, r.y, r.z); f 245 test/correctness/rfactor.cpp f.compute_root(); f 247 test/correctness/rfactor.cpp g(x, y, z) = 2*f(x, y); f 251 test/correctness/rfactor.cpp Func intm = f.update(0).rfactor({{r.x, u}, {r.y, v}}); f 262 test/correctness/rfactor.cpp {g.name(), {f.name()}}, f 263 test/correctness/rfactor.cpp {f.name(), {f.name(), intm.name()}}, f 286 test/correctness/rfactor.cpp Func f("f"), g("g"); f 289 test/correctness/rfactor.cpp f(x, y) = x + y; f 290 test/correctness/rfactor.cpp f.compute_root(); f 294 test/correctness/rfactor.cpp g(r.x, r.y) = min(f(r.x, r.y) + 2, g(r.x, r.y)); f 311 test/correctness/rfactor.cpp {g.name(), {f.name(), intm.name(), g.name()}}, f 312 test/correctness/rfactor.cpp {intm.name(), {f.name(), intm.name()}}, f 313 test/correctness/rfactor.cpp {f.name(), {}}, f 344 test/correctness/rfactor.cpp Func f("f"), g("g"); f 347 test/correctness/rfactor.cpp f(x, y, z) = x + y + z; f 348 test/correctness/rfactor.cpp f.compute_root(); f 354 test/correctness/rfactor.cpp g(r.x, r.y, r.z) += f(r.x, r.y, r.z); f 371 test/correctness/rfactor.cpp {intm.name(), {f.name(), intm.name()}}, f 372 test/correctness/rfactor.cpp {f.name(), {}}, f 454 test/correctness/rfactor.cpp Func f("f"), g("g"), a("a"), b("b"); f 517 test/correctness/rfactor.cpp Func f("f"), g("g"); f 520 test/correctness/rfactor.cpp f(x, y) = Tuple(x + y, x - y); f 521 test/correctness/rfactor.cpp f.compute_root(); f 527 test/correctness/rfactor.cpp ref(x, y) = Tuple(ref(x , y)[0] + f(r.x, r.y)[0] + 3, min(ref(x , y)[1], f(r.x, r.y)[1])); f 531 test/correctness/rfactor.cpp g(x , y) = Tuple(g(x , y)[0] + f(r.x, r.y)[0] + 3, min(g(x , y)[1], f(r.x, r.y)[1])); f 561 test/correctness/rfactor.cpp {intm2.name(), {f.name() + ".0", f.name() + ".1", f 563 test/correctness/rfactor.cpp {f.name(), {}}, f 594 test/correctness/rfactor.cpp Func f("f"), g("g"); f 597 test/correctness/rfactor.cpp f(x, y, z) = Tuple(x + y + z, x - y + z); f 598 test/correctness/rfactor.cpp f.compute_root(); f 606 test/correctness/rfactor.cpp ref(x, y) = Tuple(ref(x, y)[0]*f(r.x, r.y, r.z)[0], ref(x, y)[1] + 2*f(r.x, r.y, r.z)[1]); f 611 test/correctness/rfactor.cpp g(x, y) = Tuple(g(x, y)[0]*f(r.x, r.y, r.z)[0], g(x, y)[1] + 2*f(r.x, r.y, r.z)[1]); f 642 test/correctness/rfactor.cpp {intm2.name(), {f.name() + ".0", f.name() + ".1", f 644 test/correctness/rfactor.cpp {intm3.name(), {f.name() + ".0", f.name() + ".1", f 646 test/correctness/rfactor.cpp {intm4.name(), {f.name() + ".0", f.name() + ".1", f 648 test/correctness/rfactor.cpp {f.name(), {}}, f 751 test/correctness/rfactor.cpp Func f("f"), g("g"), ref("ref"); f 754 test/correctness/rfactor.cpp f(x, y) = Tuple(x + y, x - y); f 755 test/correctness/rfactor.cpp f.compute_root(); f 763 test/correctness/rfactor.cpp ref(x, y) = Tuple(ref(x, y)[0]*f(r.x, r.y)[0] - ref(x, y)[1]*f(r.x, r.y)[1], f 764 test/correctness/rfactor.cpp ref(x, y)[0]*f(r.x, r.y)[1] + ref(x, y)[1]*f(r.x, r.y)[0]); f 767 test/correctness/rfactor.cpp g(x, y) = Tuple(g(x, y)[0]*f(r.x, r.y)[0] - g(x, y)[1]*f(r.x, r.y)[1], f 768 test/correctness/rfactor.cpp g(x, y)[0]*f(r.x, r.y)[1] + g(x, y)[1]*f(r.x, r.y)[0]); f 803 test/correctness/rfactor.cpp Func f("f"), g("g"), ref("ref"); f 806 test/correctness/rfactor.cpp f(x, y) = x + y; f 807 test/correctness/rfactor.cpp f.compute_root(); f 815 test/correctness/rfactor.cpp ref() = Tuple(min(ref()[0], f(r.x, r.y)), f 816 test/correctness/rfactor.cpp select(ref()[0] < f(r.x, r.y), ref()[1], r.x), f 817 test/correctness/rfactor.cpp select(ref()[0] < f(r.x, r.y), ref()[2], r.y)); f 820 test/correctness/rfactor.cpp g() = Tuple(min(g()[0], f(r.x, r.y)), f 821 test/correctness/rfactor.cpp select(g()[0] < f(r.x, r.y), g()[1], r.x), f 822 test/correctness/rfactor.cpp select(g()[0] < f(r.x, r.y), g()[2], r.y)); f 879 test/correctness/rfactor.cpp Func f("f"), g("g"); f 882 test/correctness/rfactor.cpp f(x) = x; f 884 test/correctness/rfactor.cpp g(r.x) += f(r.x); f 888 test/correctness/rfactor.cpp f.compute_at(g, rxo); f 891 test/correctness/rfactor.cpp f.trace_realizations(); f 899 test/correctness/rfactor.cpp Func ref("ref"), f("f"); f 914 test/correctness/rfactor.cpp f(x) = 0; f 915 test/correctness/rfactor.cpp f(input(r.x, r.y) % 8) += 1; f 918 test/correctness/rfactor.cpp f.update() f 925 test/correctness/rfactor.cpp Buffer<int> im = f.realize(8); f 10 test/correctness/round.cpp Func f; f 11 test/correctness/round.cpp f(x) = e; f 13 test/correctness/round.cpp f.vectorize(x, vector_width); f 15 test/correctness/round.cpp Buffer<T> im = f.realize(N); f 31 test/correctness/saturating_casts.cpp Func f; f 33 test/correctness/saturating_casts.cpp f(x) = saturating_cast<target_t>(in(x)); f 35 test/correctness/saturating_casts.cpp Buffer<target_t> result = f.realize(7); f 130 test/correctness/saturating_casts.cpp Func f; f 132 test/correctness/saturating_casts.cpp f(x) = cast_maker(in(x)); f 134 test/correctness/saturating_casts.cpp Buffer<target_t> result = f.realize(7); f 7 test/correctness/scatter.cpp Func f, g; f 12 test/correctness/scatter.cpp f(x, y) = 17; f 13 test/correctness/scatter.cpp f(r, y) = f(r-1, y) + 100; f 14 test/correctness/scatter.cpp g(x, y) = f(x+5, y+5); f 16 test/correctness/scatter.cpp f.compute_root(); f 65 test/correctness/schedule_param.cpp Func f("f"), g("g"); f 67 test/correctness/schedule_param.cpp f(x, y) = x + y; f 68 test/correctness/schedule_param.cpp g(x, y) = f(x, y); f 70 test/correctness/schedule_param.cpp f.compute_at(compute_at).vectorize(x, vector_width); f 50 test/correctness/set_custom_trace.cpp Func f("f"), g("g"); f 52 test/correctness/set_custom_trace.cpp f(x) = x; f 53 test/correctness/set_custom_trace.cpp g(x) += f(x); f 55 test/correctness/set_custom_trace.cpp f.compute_at(g, x); f 56 test/correctness/set_custom_trace.cpp f.set_custom_trace(allocation_bound_test_trace); f 9 test/correctness/shared_self_references.cpp Func f; f 11 test/correctness/shared_self_references.cpp f(x) = x; f 13 test/correctness/shared_self_references.cpp Expr e = f(2); f 14 test/correctness/shared_self_references.cpp f(0) = e; f 15 test/correctness/shared_self_references.cpp f(1) = e; f 49 test/correctness/side_effects.cpp Complex(FuncRef f) : t(Tuple(f)) {} f 137 test/correctness/simd_op_check.cpp for (Target::Feature f : {Target::SSE41, Target::AVX, f 142 test/correctness/simd_op_check.cpp if (target.has_feature(f) != host_target.has_feature(f)) { f 193 test/correctness/simd_op_check.cpp Func f(name); f 194 test/correctness/simd_op_check.cpp f(x, y) = e; f 195 test/correctness/simd_op_check.cpp f.bound(x, 0, W).vectorize(x, vector_width); f 196 test/correctness/simd_op_check.cpp f.compute_root(); f 207 test/correctness/simd_op_check.cpp error() = cast<double>(maximum(absd(f(r.x, r.y), f_scalar(r.x, r.y)))); f 212 test/correctness/simd_op_check.cpp f.compile_to_assembly(asm_filename, arg_types, target); f 2061 test/correctness/simd_op_check.cpp for (auto &f : futures) { f 2062 test/correctness/simd_op_check.cpp const TestResult &result = f.get(); f 21 test/correctness/sliding_backwards.cpp Func f, g; f 25 test/correctness/sliding_backwards.cpp f(x) = g(100-x) + g(100-x+1); f 27 test/correctness/sliding_backwards.cpp g.compute_at(f, x); f 30 test/correctness/sliding_backwards.cpp f.realize(10); f 41 test/correctness/sliding_reduction.cpp Func f("f"); f 42 test/correctness/sliding_reduction.cpp f(x, y) = x; f 43 test/correctness/sliding_reduction.cpp f(0, y) += f(1, y) + f(0, y); f 44 test/correctness/sliding_reduction.cpp f(x, y) = call_count(f(x, y)); f 47 test/correctness/sliding_reduction.cpp g(x, y) = f(x, y) + f(x, y-1) + f(x, y-2); f 49 test/correctness/sliding_reduction.cpp f.store_root().compute_at(g, y); f 63 test/correctness/sliding_reduction.cpp Func f("f"); f 64 test/correctness/sliding_reduction.cpp f(x, y) = x; f 65 test/correctness/sliding_reduction.cpp f(x, x) += f(x, 0) + f(x, 1); f 66 test/correctness/sliding_reduction.cpp f(x, y) = call_count(f(x, y)); f 69 test/correctness/sliding_reduction.cpp g(x, y) = f(x, y) + f(x, y-1) + f(x, y-2); f 71 test/correctness/sliding_reduction.cpp f.store_root().compute_at(g, y); f 94 test/correctness/sliding_reduction.cpp Func f("f"); f 95 test/correctness/sliding_reduction.cpp f(x, y) = x; f 96 test/correctness/sliding_reduction.cpp f(0, y) += f(1, y) + f(2, y); f 97 test/correctness/sliding_reduction.cpp f(x, y) = call_count(f(x, y)); f 99 test/correctness/sliding_reduction.cpp f.unroll(y, 2); f 100 test/correctness/sliding_reduction.cpp f.update(0); f 101 test/correctness/sliding_reduction.cpp f.update(1); f 104 test/correctness/sliding_reduction.cpp g(x, y) = f(x, y) + f(x, y-1) + f(x, y-2); f 106 test/correctness/sliding_reduction.cpp f.store_root().compute_at(g, y); f 31 test/correctness/sliding_window.cpp Func f, g; f 33 test/correctness/sliding_window.cpp f(x) = call_counter(x, 0); f 34 test/correctness/sliding_window.cpp g(x) = f(x) + f(x-1); f 36 test/correctness/sliding_window.cpp f.store_root().compute_at(g, x); f 50 test/correctness/sliding_window.cpp Func f, g, h; f 51 test/correctness/sliding_window.cpp f(x) = call_counter(x, 0); f 52 test/correctness/sliding_window.cpp g(x) = f(x) + f(x-1); f 55 test/correctness/sliding_window.cpp f.store_root().compute_at(g, x); f 68 test/correctness/sliding_window.cpp Func f, g, h; f 70 test/correctness/sliding_window.cpp f(x, c) = call_counter(x, c); f 71 test/correctness/sliding_window.cpp g(x, c) = f(x + 1, c) - f(x, c); f 74 test/correctness/sliding_window.cpp f.store_root() f 96 test/correctness/sliding_window.cpp Func f, g; f 98 test/correctness/sliding_window.cpp f(x, y) = 0; f 99 test/correctness/sliding_window.cpp f(r, y) = call_counter(r, y); f 100 test/correctness/sliding_window.cpp f.store_root().compute_at(g, y); f 102 test/correctness/sliding_window.cpp g(x, y) = f(x, y) + f(x, y-1); f 117 test/correctness/sliding_window.cpp Func f, g; f 120 test/correctness/sliding_window.cpp f(x, y) = call_counter(x, y); f 121 test/correctness/sliding_window.cpp g(x, y) = f(x-1, y) + f(x, y) + f(x, y-1); f 122 test/correctness/sliding_window.cpp f.store_root().compute_at(g, x); f 133 test/correctness/sliding_window.cpp Func f, g; f 137 test/correctness/sliding_window.cpp f(x, y) = call_counter(x, y); f 139 test/correctness/sliding_window.cpp g(x, y) = f(x+y, x-y) + f((x-2)+y, (x-2)-y) + f(x+(y-2), x-(y-2)); f 140 test/correctness/sliding_window.cpp f.store_root().compute_at(g, x); f 151 test/correctness/sliding_window.cpp Func f, g; f 152 test/correctness/sliding_window.cpp f(x, y) = x*y; f 153 test/correctness/sliding_window.cpp g(x, y) = f(x, y) + f(x+1, y) + f(x, y+1) + f(x+1, y+1); f 154 test/correctness/sliding_window.cpp f.store_at(g, y).compute_at(g, x); f 74 test/correctness/sort_exprs.cpp Func f; f 76 test/correctness/sort_exprs.cpp f(x) = sin(x); f 77 test/correctness/sort_exprs.cpp f.compute_root(); f 83 test/correctness/sort_exprs.cpp exprs.push_back(f(i)); f 79 test/correctness/specialize.cpp Func f; f 81 test/correctness/specialize.cpp f(x) = select(param, x*3, x*17); f 84 test/correctness/specialize.cpp Expr cond = (f.output_buffer().width() >= 4); f 85 test/correctness/specialize.cpp f.specialize(cond).vectorize(x, 4); f 92 test/correctness/specialize.cpp f.specialize(cond).specialize(param); f 95 test/correctness/specialize.cpp f.specialize(param); f 97 test/correctness/specialize.cpp f.set_custom_trace(&my_trace); f 98 test/correctness/specialize.cpp f.trace_stores(); f 105 test/correctness/specialize.cpp f.realize(out); f 114 test/correctness/specialize.cpp f.realize(out); f 133 test/correctness/specialize.cpp f.realize(out); f 142 test/correctness/specialize.cpp f.realize(out); f 216 test/correctness/specialize.cpp Func f; f 219 test/correctness/specialize.cpp f(x) = im(x); f 222 test/correctness/specialize.cpp f.specialize(im.dim(0).stride() == 1 && im.width() >= 8).vectorize(x, 8); f 224 test/correctness/specialize.cpp f.trace_stores(); f 225 test/correctness/specialize.cpp f.set_custom_trace(&my_trace); f 228 test/correctness/specialize.cpp f.infer_input_bounds(5); f 237 test/correctness/specialize.cpp f.realize(5); f 248 test/correctness/specialize.cpp f.realize(100); f 261 test/correctness/specialize.cpp Func f; f 263 test/correctness/specialize.cpp f(x) = select(param, im(x + 10), im(x - 10)); f 264 test/correctness/specialize.cpp f.specialize(param); f 267 test/correctness/specialize.cpp f.infer_input_bounds(100); f 275 test/correctness/specialize.cpp f.infer_input_bounds(100); f 286 test/correctness/specialize.cpp Func f; f 291 test/correctness/specialize.cpp f(x) = x; f 292 test/correctness/specialize.cpp f(r) = 10 - r; f 295 test/correctness/specialize.cpp f.update().specialize(size == 1); f 298 test/correctness/specialize.cpp f.update().specialize(size == 0); f 304 test/correctness/specialize.cpp f.realize(100); f 312 test/correctness/specialize.cpp Func f; f 315 test/correctness/specialize.cpp f(x) = select(param, im(x), 0.0f); f 317 test/correctness/specialize.cpp f.specialize(param); f 324 test/correctness/specialize.cpp f.realize(100); f 332 test/correctness/specialize.cpp Func f; f 334 test/correctness/specialize.cpp f(x, y) = im(x, y); f 336 test/correctness/specialize.cpp Expr cond = f.output_buffer().width() >= 4; f 339 test/correctness/specialize.cpp f.reorder(y, x).unroll(y, 2).reorder(x, y); f 343 test/correctness/specialize.cpp f.specialize(cond).vectorize(x, 4); f 346 test/correctness/specialize.cpp f.infer_input_bounds(3, 1); f 365 test/correctness/specialize.cpp Func f, g, h, out; f 367 test/correctness/specialize.cpp f(x) = im(x); f 368 test/correctness/specialize.cpp g(x) = f(x); f 375 test/correctness/specialize.cpp f.compute_root().specialize(w >= 4).vectorize(x, 4); f 390 test/correctness/specialize.cpp Func f, out; f 392 test/correctness/specialize.cpp f(x, y) = im(x, y); f 393 test/correctness/specialize.cpp out(x, y) = f(x, y); f 395 test/correctness/specialize.cpp f.compute_at(out, x).specialize(cond1 && cond2).vectorize(x, 4); f 419 test/correctness/specialize.cpp Func f, out; f 421 test/correctness/specialize.cpp f(x, y) = im(x, y); f 422 test/correctness/specialize.cpp out(x, y) = f(x, y); f 424 test/correctness/specialize.cpp f.compute_at(out, x).specialize(cond1).vectorize(x, 4); f 454 test/correctness/specialize.cpp Func f; f 456 test/correctness/specialize.cpp f(x) = select(test, im(x, 0), im(0, x)); f 457 test/correctness/specialize.cpp f.specialize(test); f 467 test/correctness/specialize.cpp f.infer_input_bounds(10); f 477 test/correctness/specialize.cpp f.infer_input_bounds(10); f 492 test/correctness/specialize.cpp Func f; f 494 test/correctness/specialize.cpp f(x) = select(p > 50, im(x, 0), im(0, x)); f 495 test/correctness/specialize.cpp f.specialize(test); f 501 test/correctness/specialize.cpp f.infer_input_bounds(10); f 516 test/correctness/specialize.cpp f.infer_input_bounds(10); f 533 test/correctness/specialize.cpp Func f; f 534 test/correctness/specialize.cpp f(x) = x; f 535 test/correctness/specialize.cpp f.specialize(p == 0).vectorize(x, 32); // will *not* be pruned f 536 test/correctness/specialize.cpp f.specialize(const_false).vectorize(x, 8); // will be pruned f 537 test/correctness/specialize.cpp f.vectorize(x, 4); // default case, not a specialization f 539 test/correctness/specialize.cpp _halide_user_assert(f.function().definition().specializations().size() == 2); f 542 test/correctness/specialize.cpp env.insert({f.function().name(), f.function()}); f 545 test/correctness/specialize.cpp const auto &s = f.function().definition().specializations(); f 550 test/correctness/specialize.cpp f.set_custom_trace(&my_trace); f 551 test/correctness/specialize.cpp f.trace_stores(); f 555 test/correctness/specialize.cpp f.realize(100); f 560 test/correctness/specialize.cpp f.realize(100); f 572 test/correctness/specialize.cpp Func f; f 573 test/correctness/specialize.cpp f(x) = x; f 574 test/correctness/specialize.cpp f.specialize(p == 0).vectorize(x, 32); // will *not* be pruned f 575 test/correctness/specialize.cpp f.specialize(const_true).vectorize(x, 16); // will *not* be pruned f 576 test/correctness/specialize.cpp f.specialize(const_false).vectorize(x, 4); // will be pruned f 577 test/correctness/specialize.cpp f.specialize(p == 42).vectorize(x, 8); // will be pruned f 578 test/correctness/specialize.cpp f.specialize(const_true); // dupe of call above, won't add new specialization f 583 test/correctness/specialize.cpp f.specialize(different_const_true); // will be pruned f 585 test/correctness/specialize.cpp _halide_user_assert(f.function().definition().specializations().size() == 5); f 588 test/correctness/specialize.cpp env.insert({f.function().name(), f.function()}); f 591 test/correctness/specialize.cpp const auto &s = f.function().definition().specializations(); f 598 test/correctness/specialize.cpp f.set_custom_trace(&my_trace); f 599 test/correctness/specialize.cpp f.trace_stores(); f 603 test/correctness/specialize.cpp f.realize(100); f 608 test/correctness/specialize.cpp f.realize(100); f 620 test/correctness/specialize.cpp Func f("foof"); f 621 test/correctness/specialize.cpp f(x) = x; f 622 test/correctness/specialize.cpp f.specialize(p == 0).vectorize(x, 32); // will *not* be pruned f 623 test/correctness/specialize.cpp f.specialize(const_true).vectorize(x, 16); f 625 test/correctness/specialize.cpp f.set_custom_trace(&my_trace); f 626 test/correctness/specialize.cpp f.trace_stores(); f 630 test/correctness/specialize.cpp f.realize(100); f 635 test/correctness/specialize.cpp f.realize(100); f 644 test/correctness/specialize.cpp Func f; f 645 test/correctness/specialize.cpp f(x) = x; f 646 test/correctness/specialize.cpp f.specialize(p == 0); f 647 test/correctness/specialize.cpp f.specialize_fail("Unhandled Param value encountered."); f 649 test/correctness/specialize.cpp f.specialize(p == 0).vectorize(x, 32); f 655 test/correctness/specialize.cpp f.set_custom_trace(&my_trace); f 656 test/correctness/specialize.cpp f.trace_stores(); f 660 test/correctness/specialize.cpp f.realize(100); f 13 test/correctness/specialize_to_gpu.cpp Func f, g, h; f 17 test/correctness/specialize_to_gpu.cpp f(x) = in(x) + in(x + 1); f 18 test/correctness/specialize_to_gpu.cpp g(x) = f(x * 2); f 23 test/correctness/specialize_to_gpu.cpp f.compute_root().specialize(gpu_f).gpu_tile(x, x, xi, 16); f 12 test/correctness/split_by_non_factor.cpp Func f; f 13 test/correctness/split_by_non_factor.cpp f(x) = 0; f 14 test/correctness/split_by_non_factor.cpp f(x) += x; f 15 test/correctness/split_by_non_factor.cpp f.update().unroll(x, 2, TailStrategy::GuardWithIf); f 16 test/correctness/split_by_non_factor.cpp Buffer<int> result = f.realize(3); f 28 test/correctness/split_by_non_factor.cpp Func f; f 30 test/correctness/split_by_non_factor.cpp f(x) = x; f 31 test/correctness/split_by_non_factor.cpp f(x) += 3; f 34 test/correctness/split_by_non_factor.cpp f(0) += f(r); f 36 test/correctness/split_by_non_factor.cpp f.update(0).vectorize(x, 8, TailStrategy::GuardWithIf); f 37 test/correctness/split_by_non_factor.cpp f.update(1).unroll(r, 4); f 44 test/correctness/split_by_non_factor.cpp f.realize(i); f 51 test/correctness/split_by_non_factor.cpp Func f, g, h; f 54 test/correctness/split_by_non_factor.cpp f(x) = 0; f 55 test/correctness/split_by_non_factor.cpp f(x) += g(x) + h(x); f 57 test/correctness/split_by_non_factor.cpp f.update().split(x, xo, xi, 7, TailStrategy::GuardWithIf); f 58 test/correctness/split_by_non_factor.cpp g.compute_at(f, xo); f 59 test/correctness/split_by_non_factor.cpp h.compute_at(f, xi); f 60 test/correctness/split_by_non_factor.cpp Buffer<int> result = f.realize(15); f 11 test/correctness/split_fuse_rvar.cpp Func f("f"); f 12 test/correctness/split_fuse_rvar.cpp f(x) = x; f 17 test/correctness/split_fuse_rvar.cpp g(r.x, r.y) = f(r.y*4 + r.x); f 38 test/correctness/split_fuse_rvar.cpp Func f("f"); f 39 test/correctness/split_fuse_rvar.cpp f(x) = x; f 44 test/correctness/split_fuse_rvar.cpp g(r) = f(r); f 8 test/correctness/split_reuse_inner_name_bug.cpp Func f("f"); f 10 test/correctness/split_reuse_inner_name_bug.cpp f(x) = 1; f 11 test/correctness/split_reuse_inner_name_bug.cpp f.compute_root().split(x, x0, x, 16).split(x, x, x1, 2).split(x, x2, x, 4).split(x, x, x3, 2); f 12 test/correctness/split_reuse_inner_name_bug.cpp f.realize(1024); f 9 test/correctness/split_store_compute.cpp Func f("f"), g("g"), h("h"); f 13 test/correctness/split_store_compute.cpp f(x, y) = max(x, y); f 14 test/correctness/split_store_compute.cpp g(x, y) = 17 * f(x, y); f 19 test/correctness/split_store_compute.cpp f.compute_root(); f 20 test/correctness/stack_allocations.cpp Func f, g, h; f 23 test/correctness/stack_allocations.cpp f(x, y) = x + y; f 24 test/correctness/stack_allocations.cpp g(x, y) = f(x-1, y+1) * f(x+1, y-1); f 27 test/correctness/stack_allocations.cpp f.compute_at(h, x); f 24 test/correctness/stencil_chain_in_update_definitions.cpp Func f; f 25 test/correctness/stencil_chain_in_update_definitions.cpp f(x) = sin(x); f 32 test/correctness/stencil_chain_in_update_definitions.cpp g(x, x) = f(x); f 26 test/correctness/storage_folding.cpp Func f, g; f 28 test/correctness/storage_folding.cpp f(x, y, c) = x; f 29 test/correctness/storage_folding.cpp g(x, y, c) = f(x-1, y+1, c) + f(x, y-1, c); f 30 test/correctness/storage_folding.cpp f.store_root().compute_at(g, x); f 46 test/correctness/storage_folding.cpp Func f, g; f 48 test/correctness/storage_folding.cpp f(x, y, c) = x; f 49 test/correctness/storage_folding.cpp g(x, y, c) = f(x-1, y+1, c) + f(x, y-1, c); f 50 test/correctness/storage_folding.cpp f.store_root().compute_at(g, x); f 68 test/correctness/storage_folding.cpp Func f, g; f 70 test/correctness/storage_folding.cpp f(x, y) = x; f 71 test/correctness/storage_folding.cpp g(x, y) = f(x-1, y+1) + f(x, y-1); f 72 test/correctness/storage_folding.cpp f.store_root().compute_at(g, y).fold_storage(y, 3); f 93 test/correctness/storage_folding.cpp Func f, g; f 96 test/correctness/storage_folding.cpp f(x, y) = g(2*x, 2*y) + g(2*x+1, 2*y+1); f 101 test/correctness/storage_folding.cpp g.compute_at(f, x).store_root(); f 103 test/correctness/storage_folding.cpp f.set_custom_allocator(my_malloc, my_free); f 105 test/correctness/storage_folding.cpp Buffer<int> im = f.realize(1000, 1000); f 126 test/correctness/storage_folding.cpp Func f, g; f 129 test/correctness/storage_folding.cpp f(x, y) = g(x, 2*y) + g(x+3, 2*y+1); f 135 test/correctness/storage_folding.cpp g.compute_at(f, x).store_root(); f 137 test/correctness/storage_folding.cpp f.set_custom_allocator(my_malloc, my_free); f 139 test/correctness/storage_folding.cpp Buffer<int> im = f.realize(1000, 1000); f 160 test/correctness/storage_folding.cpp Func f, g; f 163 test/correctness/storage_folding.cpp f(x, y) = g(2*x, y) + g(2*x+1, y+3); f 170 test/correctness/storage_folding.cpp g.compute_at(f, x).store_root(); f 172 test/correctness/storage_folding.cpp f.set_custom_allocator(my_malloc, my_free); f 174 test/correctness/storage_folding.cpp Buffer<int> im = f.realize(1000, 1000); f 197 test/correctness/storage_folding.cpp Func f, g; f 200 test/correctness/storage_folding.cpp f(x, y) = g(x, y); f 203 test/correctness/storage_folding.cpp f.bound(y, 0, (f.output_buffer().height()/8)*8).split(y, yo, yi, 8); f 204 test/correctness/storage_folding.cpp g.compute_at(f, yo).store_root(); f 211 test/correctness/storage_folding.cpp f.set_custom_allocator(my_malloc, my_free); f 213 test/correctness/storage_folding.cpp Buffer<int> im = f.realize(1000, 1000); f 236 test/correctness/storage_folding.cpp Func f, g; f 239 test/correctness/storage_folding.cpp f(x, y) = g(2*x, y) + g(2*x+1, y+2); f 247 test/correctness/storage_folding.cpp g.compute_at(f, x).store_root().fold_storage(y, 3); f 249 test/correctness/storage_folding.cpp f.set_custom_allocator(my_malloc, my_free); f 251 test/correctness/storage_folding.cpp Buffer<int> im = f.realize(1000, 1000); f 274 test/correctness/storage_folding.cpp Func f, g; f 277 test/correctness/storage_folding.cpp f(x, y) = g(x, y/2) + g(x, y/2+1); f 281 test/correctness/storage_folding.cpp g.compute_at(f, x).store_root().fold_storage(y, 2); f 283 test/correctness/storage_folding.cpp f.set_custom_allocator(my_malloc, my_free); f 285 test/correctness/storage_folding.cpp Buffer<int> im = f.realize(1000, 1000); f 307 test/correctness/storage_folding.cpp Func f, g; f 309 test/correctness/storage_folding.cpp f(x, y, c) = x; f 310 test/correctness/storage_folding.cpp g(x, y, c) = f(x-1, y+1, c) + f(x, y-1, c); f 311 test/correctness/storage_folding.cpp f.store_root().compute_at(g, y).fold_storage(y, 3); f 9 test/correctness/stream_compaction.cpp Func f; f 11 test/correctness/stream_compaction.cpp f(x) = select((x % 7 == 0) || (x % 5 == 0), 1, 0); f 12 test/correctness/stream_compaction.cpp f.compute_root(); f 18 test/correctness/stream_compaction.cpp cum_sum(r+1) = f(r) + cum_sum(r); f 30 test/correctness/stream_compaction.cpp ones(bin) = select(f(r) == 1, r, undef<int>()); f 16 test/correctness/strided_load.cpp Func f, g; f 18 test/correctness/strided_load.cpp f(x) = im(2*x); f 19 test/correctness/strided_load.cpp f.compute_root().vectorize(x, 16).bound(x, 0, 849); f 23 test/correctness/strided_load.cpp g(x) = f(2*x); f 22 test/correctness/thread_safety.cpp Func f; f 24 test/correctness/thread_safety.cpp f(x) = x; f 25 test/correctness/thread_safety.cpp f.realize(100); f 107 test/correctness/tracing.cpp Func f("f"), g("g"); f 110 test/correctness/tracing.cpp f(x) = g(x)[0] + g(x+1)[1]; f 112 test/correctness/tracing.cpp f.vectorize(x, 4); f 113 test/correctness/tracing.cpp f.trace_stores(); f 114 test/correctness/tracing.cpp f.trace_realizations(); f 117 test/correctness/tracing.cpp g.store_root().compute_at(f, x); f 120 test/correctness/tracing.cpp f.set_custom_trace(&my_trace); f 121 test/correctness/tracing.cpp f.realize(10); f 10 test/correctness/tracing_bounds.cpp Func f, g; f 12 test/correctness/tracing_bounds.cpp f(x) = clamp(x, 0, 100); f 13 test/correctness/tracing_bounds.cpp f.compute_root(); f 14 test/correctness/tracing_bounds.cpp g(x) = f(f(x)); f 18 test/correctness/tracing_bounds.cpp f.trace_loads(); f 21 test/correctness/tracing_broadcast.cpp Func f("f"); f 23 test/correctness/tracing_broadcast.cpp f(x, y) = 1234567890; f 24 test/correctness/tracing_broadcast.cpp f.vectorize(x, 8); f 26 test/correctness/tracing_broadcast.cpp f.trace_stores(); f 27 test/correctness/tracing_broadcast.cpp f.set_custom_trace(&my_trace); f 28 test/correctness/tracing_broadcast.cpp f.realize(8, 8); f 73 test/correctness/tracing_stack.cpp Func f("f"), g("g"), h("h"); f 76 test/correctness/tracing_stack.cpp f(x, y) = x+y; f 77 test/correctness/tracing_stack.cpp f.compute_root().trace_realizations(); f 79 test/correctness/tracing_stack.cpp g(x, y) = f(x, y) + 37; f 7 test/correctness/transitive_bounds.cpp Func f, g; f 9 test/correctness/transitive_bounds.cpp f(x) = x; f 10 test/correctness/transitive_bounds.cpp g(x) = f(x); f 15 test/correctness/transitive_bounds.cpp f.compute_root().unroll(x); f 46 test/correctness/trim_no_ops.cpp Func f; f 48 test/correctness/trim_no_ops.cpp f(x) = x; f 49 test/correctness/trim_no_ops.cpp f(x) += select(x > 10 && x < 20, 1, 0); f 50 test/correctness/trim_no_ops.cpp f(x) += select(x < 10, 0, 1); f 51 test/correctness/trim_no_ops.cpp f(x) *= select(x > 20 && x < 30, 2, 1); f 52 test/correctness/trim_no_ops.cpp f(x) = select(x >= 60 && x <= 100, 100 - f(x), f(x)); f 55 test/correctness/trim_no_ops.cpp Module m = f.compile_to_module({}); f 64 test/correctness/trim_no_ops.cpp Buffer<int> im = f.realize(100); f 83 test/correctness/trim_no_ops.cpp Func f; f 85 test/correctness/trim_no_ops.cpp f(x, y) = x + y; f 86 test/correctness/trim_no_ops.cpp f(x, y) += select((x == 10) && (x < y), 1, 0); f 87 test/correctness/trim_no_ops.cpp Module m = f.compile_to_module({}); f 98 test/correctness/trim_no_ops.cpp Buffer<int> im = f.realize(100, 100); f 115 test/correctness/trim_no_ops.cpp Func f; f 117 test/correctness/trim_no_ops.cpp f(x, y) = cast<uint8_t>(random_int()); f 118 test/correctness/trim_no_ops.cpp f.compute_root(); f 125 test/correctness/trim_no_ops.cpp hist(f(clamp(xi, 0, 73), clamp(yi, 0, 73))) += f 143 test/correctness/trim_no_ops.cpp true_hist(f(r.x, r.y)) += 1; f 160 test/correctness/trim_no_ops.cpp Func f; f 162 test/correctness/trim_no_ops.cpp f(x, y) = select(2*x < y, 5, undef<int>()); f 165 test/correctness/trim_no_ops.cpp f.tile(x, y, xi, yi, 4, 4); f 168 test/correctness/trim_no_ops.cpp Module m = f.compile_to_module({}); f 187 test/correctness/trim_no_ops.cpp Func f; f 189 test/correctness/trim_no_ops.cpp f(x, y) = x + y; f 192 test/correctness/trim_no_ops.cpp f(r.x, r.y) += select((r.x < r.y) && (r.x == 10), 3, undef<int>()); f 195 test/correctness/trim_no_ops.cpp f.update(0).gpu_tile(r.x, r.y, rxi, ryi, 4, 4); f 197 test/correctness/trim_no_ops.cpp Buffer<int> im = f.realize(200, 200); f 204 test/correctness/trim_no_ops.cpp Module m = f.compile_to_module({}, "", gpu_target); f 10 test/correctness/tuple_partial_update.cpp Func f("f"); f 12 test/correctness/tuple_partial_update.cpp f(x, y) = Tuple(x + y, undef<int32_t>()); f 13 test/correctness/tuple_partial_update.cpp f(x, y)[0] += 3; f 14 test/correctness/tuple_partial_update.cpp f(x, y)[1] = x; f 15 test/correctness/tuple_partial_update.cpp f(x, y)[0] -= 1; f 16 test/correctness/tuple_partial_update.cpp f(x, y)[1] *= 4; f 17 test/correctness/tuple_partial_update.cpp f(x, y)[1] /= 2; f 19 test/correctness/tuple_partial_update.cpp Realization result = f.realize(1024, 1024); f 36 test/correctness/tuple_partial_update.cpp Func f("f"); f 38 test/correctness/tuple_partial_update.cpp f(x, y) = Tuple(x, y); f 39 test/correctness/tuple_partial_update.cpp f(x, y)[1] += select(x < 20, 20*x, undef<int>()); f 41 test/correctness/tuple_partial_update.cpp Realization result = f.realize(1024, 1024); f 11 test/correctness/tuple_reduction.cpp Func f; f 14 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(x + y, x - y); f 17 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(f(x, y)[1]*2, f(x, y)[0]*2); f 21 test/correctness/tuple_reduction.cpp f.gpu_tile(x, y, xo, yo, xi, yi, 16, 16); f 22 test/correctness/tuple_reduction.cpp f.update().gpu_tile(x, y, xo, yo, xi, yi, 16, 16); f 24 test/correctness/tuple_reduction.cpp f.hexagon(y).vectorize(x, 32); f 25 test/correctness/tuple_reduction.cpp f.update().hexagon(y).vectorize(x, 32); f 28 test/correctness/tuple_reduction.cpp Realization result = f.realize(1024, 1024); f 47 test/correctness/tuple_reduction.cpp Func f; f 50 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(x + y, x - y); f 54 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(f(x, y)[1] + 1, f(x, y)[0] + 1); f 59 test/correctness/tuple_reduction.cpp f.gpu_tile(x, y, xo, yo, xi, yi, 16, 16); f 61 test/correctness/tuple_reduction.cpp f.hexagon(y).vectorize(x, 32); f 66 test/correctness/tuple_reduction.cpp f.update(i).gpu_tile(x, y, xo, yo, xi, yi, 16, 16); f 68 test/correctness/tuple_reduction.cpp f.update(i).hexagon(y).vectorize(x, 32); f 71 test/correctness/tuple_reduction.cpp f.update(i); f 75 test/correctness/tuple_reduction.cpp Realization result = f.realize(1024, 1024); f 95 test/correctness/tuple_reduction.cpp Func f; f 98 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(x + y, x - y); f 102 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(f(x, y)[1] + 1, f(x, y)[0] + 1); f 109 test/correctness/tuple_reduction.cpp f.update(i).gpu_tile(x, y, xo, yo, xi, yi, 16, 16); f 111 test/correctness/tuple_reduction.cpp f.update(i).hexagon(y).vectorize(x, 32); f 114 test/correctness/tuple_reduction.cpp f.update(i); f 118 test/correctness/tuple_reduction.cpp Realization result = f.realize(1024, 1024); f 140 test/correctness/tuple_reduction.cpp Func f; f 143 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(x + y - 1000, x - y + 1000); f 146 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(f(x, y)[1] - 1, f(x, y)[1] + 1); f 152 test/correctness/tuple_reduction.cpp f.update(i); f 155 test/correctness/tuple_reduction.cpp f.update(i).gpu_tile(x, y, xo, yo, xi, yi, 16, 16); f 157 test/correctness/tuple_reduction.cpp f.update(i).hexagon(y).vectorize(x, 32); f 162 test/correctness/tuple_reduction.cpp Realization result = f.realize(1024, 1024); f 48 test/correctness/tuple_undef.cpp Func f("f"); f 50 test/correctness/tuple_undef.cpp f(x, y) = Tuple(x + y, undef<int32_t>()); f 51 test/correctness/tuple_undef.cpp f(x, y) = Tuple(f(x, y)[0] + undef<int32_t>(), f(x, y)[1] + 2); f 54 test/correctness/tuple_undef.cpp f.add_custom_lowering_pass(new CheckStoreCount(2)); f 59 test/correctness/tuple_undef.cpp f.realize({a, b}); f 76 test/correctness/tuple_undef.cpp Func f("f"); f 78 test/correctness/tuple_undef.cpp f(x, y) = Tuple(x, y); f 79 test/correctness/tuple_undef.cpp f(x, y) = Tuple(undef<int>(), select(x < 20, 20*f(x, y)[0], undef<int>())); f 83 test/correctness/tuple_undef.cpp f.add_custom_lowering_pass(new CheckStoreCount(3)); f 87 test/correctness/tuple_undef.cpp f.realize({a, b}); f 104 test/correctness/tuple_undef.cpp Func f("f"), g("g"); f 106 test/correctness/tuple_undef.cpp f(x, y) = {0, 0}; f 111 test/correctness/tuple_undef.cpp f(arg_0, arg_1) = {f(arg_0, arg_1)[0] + 10, f(arg_0, arg_1)[1] + 5}; f 115 test/correctness/tuple_undef.cpp f.realize({a, b}); f 133 test/correctness/tuple_undef.cpp Func f("f"); f 135 test/correctness/tuple_undef.cpp f(x, y) = Tuple(undef<int32_t>(), undef<int32_t>()); f 138 test/correctness/tuple_undef.cpp f.add_custom_lowering_pass(new CheckStoreCount(0)); f 143 test/correctness/tuple_undef.cpp f.realize({a, b}); f 10 test/correctness/tuple_update_ops.cpp Func f("f"); f 12 test/correctness/tuple_update_ops.cpp f(x, y) += Tuple(x + y); f 14 test/correctness/tuple_update_ops.cpp Realization result = f.realize(1024, 1024); f 30 test/correctness/tuple_update_ops.cpp Func f("f"); f 32 test/correctness/tuple_update_ops.cpp f(x, y) += Tuple(4, 8); f 33 test/correctness/tuple_update_ops.cpp f(x, y) *= Tuple(x + y, x + 13); f 34 test/correctness/tuple_update_ops.cpp f(x, y) /= Tuple(2, 2); f 35 test/correctness/tuple_update_ops.cpp f(x, y) -= Tuple(x, y); f 37 test/correctness/tuple_update_ops.cpp Realization result = f.realize(1024, 1024); f 54 test/correctness/tuple_update_ops.cpp Func f("f"), g("g"); f 58 test/correctness/tuple_update_ops.cpp f(x, _) = Tuple(cast<int16_t>(x), cast<int32_t>(g(_))); f 59 test/correctness/tuple_update_ops.cpp f(x, _) += Tuple(cast<int16_t>(2*x), cast<int32_t>(x)); f 61 test/correctness/tuple_update_ops.cpp Realization result = f.realize(100, 100, 100); f 81 test/correctness/tuple_update_ops.cpp Func f("f"); f 83 test/correctness/tuple_update_ops.cpp f(x, y) = Tuple(x + 13, x + y); f 84 test/correctness/tuple_update_ops.cpp f(x, y) *= f(x, y); f 86 test/correctness/tuple_update_ops.cpp Realization result = f.realize(1024, 1024); f 103 test/correctness/tuple_update_ops.cpp Func f("f"); f 105 test/correctness/tuple_update_ops.cpp f(x, y) = Tuple(x + y); f 106 test/correctness/tuple_update_ops.cpp f(x, y) += Tuple(x); f 107 test/correctness/tuple_update_ops.cpp f(x, y) *= f(x, y); f 109 test/correctness/tuple_update_ops.cpp Realization result = f.realize(1024, 1024); f 8 test/correctness/two_vector_args.cpp Func f, g; f 13 test/correctness/two_vector_args.cpp f(x, y) = g(x, x); f 15 test/correctness/two_vector_args.cpp f.vectorize(x, 4); f 17 test/correctness/two_vector_args.cpp Buffer<int> out = f.realize(4, 4); f 18 test/correctness/uninitialized_read.cpp Func f("f"), g("g"), h("h"); f 22 test/correctness/uninitialized_read.cpp f(x) = x; f 23 test/correctness/uninitialized_read.cpp f.compute_root(); f 28 test/correctness/uninitialized_read.cpp g(x) = f(x) + 1; f 35 test/correctness/uninitialized_read.cpp f.trace_realizations(); f 14 test/correctness/unrolled_reduction.cpp Func f("f"); f 21 test/correctness/unrolled_reduction.cpp f(x, y, z) = g(x, y) + g(x+1, y); f 24 test/correctness/unrolled_reduction.cpp g.compute_at(f, y).update().split(r.x, rxo, rxi, 2).unroll(rxi); f 25 test/correctness/unrolled_reduction.cpp f.unroll(z, 2); f 27 test/correctness/unrolled_reduction.cpp Buffer<float> im = f.realize(64, 64, 4); f 6 test/correctness/unsafe_dedup_lets.cpp Func f; f 15 test/correctness/unsafe_dedup_lets.cpp f() = {a, b, 0}; f 20 test/correctness/unsafe_dedup_lets.cpp a = f()[0]; b = f()[1]; f 26 test/correctness/unsafe_dedup_lets.cpp f() = {b, a % b, r}; f 37 test/correctness/unsafe_dedup_lets.cpp f.update().unroll(r, 4); f 42 test/correctness/unsafe_dedup_lets.cpp int result = evaluate<int>(f()[0]); f 9 test/correctness/update_chunk.cpp Func f, g; f 13 test/correctness/update_chunk.cpp f(x, y) = x*y; f 15 test/correctness/update_chunk.cpp g(x, r) = f(r, x)+1; f 17 test/correctness/update_chunk.cpp f.compute_at(g, r); f 8 test/correctness/vector_bounds_inference.cpp Func f("f"), g("g"), h("h"); f 13 test/correctness/vector_bounds_inference.cpp f(x, y) = (g(x-1) + g(x+1)) + y; f 18 test/correctness/vector_bounds_inference.cpp Buffer<int> out = f.realize(36, 2); f 67 test/correctness/vector_cast.cpp Func f; f 69 test/correctness/vector_cast.cpp f(x, y) = cast<B>(input(x, y)); f 73 test/correctness/vector_cast.cpp f.gpu_tile(x, xo, xi, 64); f 80 test/correctness/vector_cast.cpp f.vectorize(x, vec_width); f 84 test/correctness/vector_cast.cpp Buffer<B> output = f.realize(W, H); f 162 test/correctness/vector_cast.cpp for (auto &f : futures) { f 163 test/correctness/vector_cast.cpp ok &= f.get(); f 9 test/correctness/vector_extern.cpp Func f, g; f 13 test/correctness/vector_extern.cpp f(x) = sqrt(cast<float>(x)); f 15 test/correctness/vector_extern.cpp f.vectorize(x, 4); f 16 test/correctness/vector_extern.cpp Buffer<float> im = f.realize(32); f 639 test/correctness/vector_math.cpp for (auto &f : futures) { f 640 test/correctness/vector_math.cpp ok &= f.get(); f 7 test/correctness/vector_print_bug.cpp Func f; f 9 test/correctness/vector_print_bug.cpp f(x) = print(x); f 10 test/correctness/vector_print_bug.cpp f.vectorize(x, 4); f 11 test/correctness/vector_print_bug.cpp f.realize(8); f 19 test/correctness/vectorize_guard_with_if.cpp Func f; f 22 test/correctness/vectorize_guard_with_if.cpp f(x) = x; f 25 test/correctness/vectorize_guard_with_if.cpp f.vectorize(x, v, TailStrategy::GuardWithIf); f 29 test/correctness/vectorize_guard_with_if.cpp f.set_custom_trace(&my_trace); f 30 test/correctness/vectorize_guard_with_if.cpp f.trace_stores(); f 32 test/correctness/vectorize_guard_with_if.cpp Buffer<int> result = f.realize(w); f 9 test/correctness/vectorize_mixed_widths.cpp Func f("f"), g("g"); f 11 test/correctness/vectorize_mixed_widths.cpp f(x) = 2*x; f 12 test/correctness/vectorize_mixed_widths.cpp g(x) = f(x)/2; f 15 test/correctness/vectorize_mixed_widths.cpp f.compute_at(g, x).split(x, xo, xi, 16).vectorize(xi, 8).unroll(xi); f 6 test/correctness/vectorize_varying_allocation_size.cpp Func f, g; f 9 test/correctness/vectorize_varying_allocation_size.cpp f(x) = x; f 10 test/correctness/vectorize_varying_allocation_size.cpp g(x) = f(x) + f(x*x-20); f 13 test/correctness/vectorize_varying_allocation_size.cpp f.compute_at(g, xi); f 15 test/correctness/vectorized_initialization.cpp Func f, g; f 19 test/correctness/vectorized_initialization.cpp f(x) = x; f 20 test/correctness/vectorized_initialization.cpp f(r) = f(r-1) + f(r+1); f 21 test/correctness/vectorized_initialization.cpp f.compute_root().vectorize(x, 4); f 22 test/correctness/vectorized_initialization.cpp f.update(); f 24 test/correctness/vectorized_initialization.cpp g(x) = f(x); f 10 test/correctness/vectorized_load_from_vectorized_allocation.cpp Func f("f"), g("g"); f 15 test/correctness/vectorized_load_from_vectorized_allocation.cpp f(x, y, z) = 100; f 17 test/correctness/vectorized_load_from_vectorized_allocation.cpp f(r.x, r.y, r.z) += 2*g(r.x*r.z, r.y, r.z); f 19 test/correctness/vectorized_load_from_vectorized_allocation.cpp f.update(0).vectorize(r.z, 8); f 21 test/correctness/vectorized_load_from_vectorized_allocation.cpp g.compute_at(f, r.y); f 24 test/correctness/vectorized_load_from_vectorized_allocation.cpp Buffer<int> im = f.realize(size, size, size); f 36 test/correctness/vectorized_reduction_bug.cpp Func f("f"), g("g"), h("h"); f 46 test/correctness/vectorized_reduction_bug.cpp f(y, x) = g(x, y); f 49 test/correctness/vectorized_reduction_bug.cpp f.split(x, x_outer, x, 8 * 2); f 51 test/correctness/vectorized_reduction_bug.cpp g.compute_at(f, x_outer); f 54 test/correctness/vectorized_reduction_bug.cpp f.compute_root(); f 55 test/correctness/vectorized_reduction_bug.cpp Buffer<int32_t> im = f.realize(100, 100); f 36 test/correctness/widening_reduction.cpp Func f; f 37 test/correctness/widening_reduction.cpp f(x, y) = u8_sat(sum(i16(input(x + r.x, y + r.y)) * kernel(r.x, r.y)) / 16); f 42 test/correctness/widening_reduction.cpp f.gpu_tile(x, y, xi, yi, 16, 16); f 44 test/correctness/widening_reduction.cpp f.hexagon().vectorize(x, 128); f 46 test/correctness/widening_reduction.cpp f.vectorize(x, target.natural_vector_size<uint8_t>()); f 50 test/correctness/widening_reduction.cpp Buffer<uint8_t> out = f.realize(W, H, target); f 71 test/correctness/widening_reduction.cpp Func f; f 72 test/correctness/widening_reduction.cpp f(x, y) = { i16(0), i8(0) }; f 73 test/correctness/widening_reduction.cpp f(x, y) = { f 74 test/correctness/widening_reduction.cpp f(x, y)[0] + i16(input(x + r.x, y + r.y)) * kernel(r.x, r.y), f 75 test/correctness/widening_reduction.cpp f(x, y)[1] + kernel(r.x, r.y), f 79 test/correctness/widening_reduction.cpp g(x, y) = u8_sat((f(x, y)[0] + f(x, y)[1]) / 16); f 17 test/correctness/wrap.cpp Func f("f"), g("g"); f 18 test/correctness/wrap.cpp f(x, y) = x + y; f 19 test/correctness/wrap.cpp g(x, y) = f(x, y); f 23 test/correctness/wrap.cpp Func wrapper = f.in(g); f 25 test/correctness/wrap.cpp Func temp = f.in(g); f 34 test/correctness/wrap.cpp Func f("f"), g("g"); f 35 test/correctness/wrap.cpp f(x, y) = x + y; f 36 test/correctness/wrap.cpp g(x, y) = f(x, y); f 39 test/correctness/wrap.cpp Func wrapper1 = f.in(); f 40 test/correctness/wrap.cpp Func wrapper2 = f.in(); f 48 test/correctness/wrap.cpp Func d("d"), e("e"), f("f"), g("g"), h("h"); f 51 test/correctness/wrap.cpp f(x, y) = d(x, y); f 55 test/correctness/wrap.cpp Func wrapper1 = d.in({e, f, g}); f 56 test/correctness/wrap.cpp Func wrapper2 = d.in({g, f, e}); f 67 test/correctness/wrap.cpp Func f("f"), g("g"); f 70 test/correctness/wrap.cpp f(x) = x; f 71 test/correctness/wrap.cpp g(x, y) = f(x); f 73 test/correctness/wrap.cpp Func wrapper = f.in(g).compute_root(); f 74 test/correctness/wrap.cpp f.compute_root(); f 84 test/correctness/wrap.cpp {wrapper.name(), {f.name()}}, f 85 test/correctness/wrap.cpp {f.name(), {}}, f 100 test/correctness/wrap.cpp Func f("f"), g1("g1"), g2("g2"), g3("g3"); f 103 test/correctness/wrap.cpp f(x) = x; f 104 test/correctness/wrap.cpp g1(x, y) = f(x); f 105 test/correctness/wrap.cpp g2(x, y) = f(x); f 106 test/correctness/wrap.cpp g3(x, y) = f(x); f 108 test/correctness/wrap.cpp f.compute_root(); f 109 test/correctness/wrap.cpp Func f_wrapper = f.in({g1, g2, g3}).compute_root(); f 120 test/correctness/wrap.cpp {f_wrapper.name(), {f.name()}}, f 121 test/correctness/wrap.cpp {f.name(), {}}, f 143 test/correctness/wrap.cpp {f_wrapper.name(), {f.name()}}, f 144 test/correctness/wrap.cpp {f.name(), {}}, f 166 test/correctness/wrap.cpp {f_wrapper.name(), {f.name()}}, f 167 test/correctness/wrap.cpp {f.name(), {}}, f 183 test/correctness/wrap.cpp Func f("f"), g("g"), h("h"), i("i"); f 186 test/correctness/wrap.cpp f(x, y) = x + y; f 187 test/correctness/wrap.cpp g(x, y) = f(x, y); f 188 test/correctness/wrap.cpp h(x, y) = g(x, y) + f(x, y); f 191 test/correctness/wrap.cpp Func wrapper = f.in(); f 192 test/correctness/wrap.cpp f.compute_root(); f 207 test/correctness/wrap.cpp {wrapper.name(), {f.name()}}, f 208 test/correctness/wrap.cpp {f.name(), {}}, f 223 test/correctness/wrap.cpp Func f("f"), g("g"); f 226 test/correctness/wrap.cpp f(x, y) = x + y; f 227 test/correctness/wrap.cpp g(x, y) = f(x, y); f 229 test/correctness/wrap.cpp Func wrapper = f.in(g); f 235 test/correctness/wrap.cpp g(r.x, r.y) += 2*f(r.x, r.y); f 243 test/correctness/wrap.cpp f.compute_root(); f 258 test/correctness/wrap.cpp {wrapper.name(), {f.name()}}, f 259 test/correctness/wrap.cpp {f.name(), {}}, f 286 test/correctness/wrap.cpp {wrapper.name(), {f.name()}}, f 287 test/correctness/wrap.cpp {f.name(), {}}, f 306 test/correctness/wrap.cpp Func f("f"), g("g"), result("result"); f 309 test/correctness/wrap.cpp f(x, y) = x + y; f 311 test/correctness/wrap.cpp g(x, y) += 2 * f(x, x); f 312 test/correctness/wrap.cpp g(x, y) += 3 * f(y, y); f 318 test/correctness/wrap.cpp f.compute_root(); f 328 test/correctness/wrap.cpp {g.name(), {f.name(), g.name()}}, f 330 test/correctness/wrap.cpp {f.name(), {}}, f 345 test/correctness/wrap.cpp Func f("f"), g("g"), result("result"); f 348 test/correctness/wrap.cpp f(x) = x; f 349 test/correctness/wrap.cpp g(x, y) = f(x); f 350 test/correctness/wrap.cpp result(x, y) = f(x) + g(x, y); f 352 test/correctness/wrap.cpp Func f_in_g = f.in(g).compute_at(g, x); f 353 test/correctness/wrap.cpp Func f_wrapper = f.in().compute_at(result, y); f 354 test/correctness/wrap.cpp f.compute_root(); f 367 test/correctness/wrap.cpp {f_wrapper.name(), {f.name()}}, f 368 test/correctness/wrap.cpp {f_in_g.name(), {f.name()}}, f 369 test/correctness/wrap.cpp {f.name(), {}}, f 385 test/correctness/wrap.cpp Func e("e"), f("f"), g("g"), h("h"); f 389 test/correctness/wrap.cpp f(x, y) = e(x, y); f 390 test/correctness/wrap.cpp g(x, y) = f(x, y); f 395 test/correctness/wrap.cpp f.compute_at(g, y).vectorize(x, 8); f 397 test/correctness/wrap.cpp Func e_in_f = e.in(f); f 400 test/correctness/wrap.cpp e_in_f.compute_at(f, y).split(x, xo, xi, 8); f 412 test/correctness/wrap.cpp {g.name(), {f.name()}}, f 413 test/correctness/wrap.cpp {f.name(), {e_in_f.name()}}, f 430 test/correctness/wrap.cpp Func e("e"), f("f"), g("g"), h("h"); f 434 test/correctness/wrap.cpp f(x, y) = e(x, y); f 435 test/correctness/wrap.cpp g(x, y) = f(x, y) + e(x, y); f 436 test/correctness/wrap.cpp Func f_in_g = f.in(g).compute_root(); f 437 test/correctness/wrap.cpp Func f_in_f_in_g = f.in(f_in_g).compute_root(); f 438 test/correctness/wrap.cpp h(x, y) = g(x, y) + f(x, y) + f_in_f_in_g(x, y); f 441 test/correctness/wrap.cpp f.compute_root(); f 443 test/correctness/wrap.cpp Func f_in_h = f.in(h).compute_root(); f 453 test/correctness/wrap.cpp {f_in_h.name(), {f.name()}}, f 457 test/correctness/wrap.cpp {f_in_f_in_g.name(), {f.name()}}, f 458 test/correctness/wrap.cpp {f.name(), {e.name()}}, f 474 test/correctness/wrap.cpp Func f("f"), g("g"), h("h"); f 477 test/correctness/wrap.cpp f(x, y) = x + y; f 482 test/correctness/wrap.cpp r.where(f(r.x, r.y) + h(r.x, r.y) < 50); f 486 test/correctness/wrap.cpp Func f_in_g = f.in(g).compute_at(g, r.x); f 487 test/correctness/wrap.cpp f.compute_root(); f 499 test/correctness/wrap.cpp {f_in_g.name(), {f.name()}}, f 500 test/correctness/wrap.cpp {f.name(), {}}, f 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"); f 560 test/correctness/wrap.cpp f(x, y) = 2*x + 3*y; f 561 test/correctness/wrap.cpp f.compute_root(); f 563 test/correctness/wrap.cpp g(x, y) = f(y, x); f 568 test/correctness/wrap.cpp f_in_g = f.in(g).compute_root().tile(x, y, xi, yi, 8, 8).vectorize(xi).unroll(yi); f 585 test/correctness/wrap.cpp {f_in_g.name(), {f.name()}}, f 586 test/correctness/wrap.cpp {f.name(), {}}, f 610 test/correctness/wrap.cpp {f_in_g.name(), {f.name()}}, f 611 test/correctness/wrap.cpp {f.name(), {}}, f 7 test/error/ambiguous_inline_reductions.cpp Func f("f"); f 11 test/error/ambiguous_inline_reductions.cpp f(x, y) = product(sum(r1, r1 + r3) + sum(r2, r2 * 2 + r3)); f 17 test/error/ambiguous_inline_reductions.cpp f(r1, y) += product(sum(r2, r1 + r2 + r3)); f 19 test/error/ambiguous_inline_reductions.cpp Buffer<int> result = f.realize(10, 10); f 7 test/error/bad_bound.cpp Func f("f"); f 10 test/error/bad_bound.cpp f(x) = 0; f 11 test/error/bad_bound.cpp f.bound(y, 0, 10); f 7 test/error/bad_compute_at.cpp Func f("f"), g("g"), h("h"), junk1, junk2, junk3; f 10 test/error/bad_compute_at.cpp f(x) = x; f 11 test/error/bad_compute_at.cpp g(x) = f(x); f 15 test/error/bad_compute_at.cpp h(x, y) = g(x) + f(x) + junk1(x) + junk2(x) + junk3(x, y); f 25 test/error/bad_compute_at.cpp f.compute_at(h, x); f 7 test/error/bad_const_cast.cpp Func f; f 12 test/error/bad_const_cast.cpp f(x) = cast<uint8_t>(x) % 256; f 9 test/error/bad_fold.cpp Func f, g; f 11 test/error/bad_fold.cpp f(x, y) = x; f 12 test/error/bad_fold.cpp g(x, y) = f(x-1, y+1) + f(x, y-1); f 13 test/error/bad_fold.cpp f.store_root().compute_at(g, y).fold_storage(y, 2); f 9 test/error/bad_host_alignment.cpp Func f; f 17 test/error/bad_host_alignment.cpp f(x, y) = in(x, y); f 18 test/error/bad_host_alignment.cpp f.compute_root(); f 21 test/error/bad_host_alignment.cpp Buffer<uint8_t> result = f.realize(10, 10); f 9 test/error/bad_rvar_order.cpp Func f("f"); f 11 test/error/bad_rvar_order.cpp f(x, y) = x + y; f 12 test/error/bad_rvar_order.cpp f(r1.x, r1.y) += f(r1.y, r1.x); f 16 test/error/bad_rvar_order.cpp f.update().reorder(r1.y, r1.x); f 18 test/error/bad_rvar_order.cpp f.realize(10, 10); f 7 test/error/bad_schedule.cpp Func f, g; f 10 test/error/bad_schedule.cpp f(x) = x; f 11 test/error/bad_schedule.cpp g(x) = f(x); f 14 test/error/bad_schedule.cpp f.vectorize(x, 4); f 7 test/error/bad_store_at.cpp Func f("f"), g("g"), h("h"); f 10 test/error/bad_store_at.cpp f(x) = x; f 11 test/error/bad_store_at.cpp g(x) = f(x); f 17 test/error/bad_store_at.cpp f.store_at(h, y).compute_root(); f 8 test/error/clamp_out_of_range.cpp Func f; f 10 test/error/clamp_out_of_range.cpp f(x) = clamp(cast<int8_t>(x), 0, 255); f 11 test/error/clamp_out_of_range.cpp Buffer<> result = f.realize(42); f 7 test/error/constrain_wrong_output_buffer.cpp Func f; f 9 test/error/constrain_wrong_output_buffer.cpp f(x) = Tuple(x, sin(x)); f 12 test/error/constrain_wrong_output_buffer.cpp f.output_buffers()[1].dim(0).set_min(4); f 14 test/error/constrain_wrong_output_buffer.cpp f.compile_jit(); f 7 test/error/define_after_realize.cpp Func f, g; f 10 test/error/define_after_realize.cpp f(x) = x; f 12 test/error/define_after_realize.cpp Buffer<int> im = f.realize(10); f 15 test/error/define_after_realize.cpp f(x) += 1; f 7 test/error/define_after_use.cpp Func f, g; f 10 test/error/define_after_use.cpp f(x) = x; f 11 test/error/define_after_use.cpp g(x) = f(x) + 1; f 14 test/error/define_after_use.cpp f(x) += 1; f 7 test/error/expanding_reduction.cpp Func f, g; f 19 test/error/expanding_reduction.cpp f(x, y) = input(x, y); f 20 test/error/expanding_reduction.cpp f(r, y) = f(r, y-1) + f(r, y+1); f 22 test/error/expanding_reduction.cpp f.compute_root(); f 24 test/error/expanding_reduction.cpp g(x, y) = f(x, y); f 18 test/error/five_d_gpu_buffer.cpp Func f; f 21 test/error/five_d_gpu_buffer.cpp f(v0, v1, v2, v3, v4) = v0 + 2*v1 + 4*v2 + 8*v3 + 16*v4; f 23 test/error/five_d_gpu_buffer.cpp f.compute_root().gpu_blocks(v3, v4).gpu_threads(v1, v2); f 27 test/error/five_d_gpu_buffer.cpp g(v0) = f(v0 % 2, (v0 / 2) % 2, (v0 / 4) % 2, (v0 / 8) % 2, (v0 / 16) % 2); f 16 test/error/float16_t_implicit_downcast.cpp Halide::Func f; f 21 test/error/float16_t_implicit_downcast.cpp f(x, y) = 0.1f; f 24 test/error/float16_t_implicit_downcast.cpp Buffer<float16_t> simple = f.realize(10, 3); f 8 test/error/float_arg.cpp Func f; f 10 test/error/float_arg.cpp f(x, y) = 3*x + y; f 14 test/error/float_arg.cpp g(x) = f(f(x, 3) * 17.0f, 3); f 9 test/error/implicit_args.cpp Func f("f"), g("g"), h("h"); f 20 test/error/implicit_args.cpp f(x, _) = g(_) + 2; f 21 test/error/implicit_args.cpp f(x, _) += h(_) + 3; f 9 test/error/init_def_should_be_all_vars.cpp Func f("f"); f 11 test/error/init_def_should_be_all_vars.cpp f(r.x, r.y) = in(r.x, r.y) + 2; f 12 test/error/init_def_should_be_all_vars.cpp f.realize(in.width(), in.height()); f 9 test/error/lerp_float_weight_out_of_range.cpp Func f; f 10 test/error/lerp_float_weight_out_of_range.cpp f() = lerp(0, 42, 1.5f); f 9 test/error/lerp_mismatch.cpp Func f; f 10 test/error/lerp_mismatch.cpp f() = lerp(cast<uint16_t>(0), cast<uint8_t>(42), 0.5f); f 9 test/error/lerp_signed_weight.cpp Func f; f 10 test/error/lerp_signed_weight.cpp f() = lerp(cast<uint8_t>(0), cast<uint8_t>(42), cast<int8_t>(16)); f 9 test/error/memoize_different_compute_store.cpp Func f, g; f 12 test/error/memoize_different_compute_store.cpp f(x, y) = val + cast<uint8_t>(x); f 13 test/error/memoize_different_compute_store.cpp g(x, y) = f(x, y) + f(x - 1, y) + f(x + 1, y); f 16 test/error/memoize_different_compute_store.cpp f.store_root(); f 17 test/error/memoize_different_compute_store.cpp f.compute_at(g, y).memoize(); f 7 test/error/missing_args.cpp Func f; f 12 test/error/missing_args.cpp f(x) = im(x, x) + arg; f 17 test/error/missing_args.cpp f.compile_to_object("f.o", args, "f"); f 8 test/error/modulo_constant_zero.cpp Func f; f 10 test/error/modulo_constant_zero.cpp f(x) = x % 0; f 12 test/error/modulo_constant_zero.cpp f.realize(10); f 7 test/error/nonexistent_update_stage.cpp Func f; f 9 test/error/nonexistent_update_stage.cpp f(x) = x; f 10 test/error/nonexistent_update_stage.cpp f.update().vectorize(x, 4); f 6 test/error/overflow_during_constant_folding.cpp Func f; f 8 test/error/overflow_during_constant_folding.cpp f(x) = Expr(0x12345678) * Expr(0x76543210); f 10 test/error/overflow_during_constant_folding.cpp f.realize(10); f 10 test/error/pointer_arithmetic.cpp Func f; f 13 test/error/pointer_arithmetic.cpp f(x) = p + 2; f 8 test/error/race_condition.cpp Func f, g; f 11 test/error/race_condition.cpp f(x, y) = 0; f 14 test/error/race_condition.cpp f(r.x, r.y) += f(r.y, r.x); f 17 test/error/race_condition.cpp f.update().parallel(r.y); f 7 test/error/reduction_bounds.cpp Func f("f"), g("g"); f 11 test/error/reduction_bounds.cpp f(x) = x; f 14 test/error/reduction_bounds.cpp g(x) = f(g(x-1)) + r; f 16 test/error/reduction_bounds.cpp f.compute_at(g, r.x); f 8 test/error/reduction_type_mismatch.cpp Func f; f 11 test/error/reduction_type_mismatch.cpp f(x) = cast<uint8_t>(0); // The type here... f 12 test/error/reduction_type_mismatch.cpp f(dom) += 1.0f; // does not match the type here. f 15 test/error/reduction_type_mismatch.cpp Buffer<float> result = f.realize(50); f 6 test/error/reuse_var_in_schedule.cpp Func f; f 9 test/error/reuse_var_in_schedule.cpp f(x) = x; f 12 test/error/reuse_var_in_schedule.cpp f.split(x, xo, xi, 4).split(xo, xo, xi, 4); f 6 test/error/reused_args.cpp Func f; f 10 test/error/reused_args.cpp f(x, x) = x; f 7 test/error/rfactor_inner_dim_non_commutative.cpp Func f("f"), g("g"); f 10 test/error/rfactor_inner_dim_non_commutative.cpp f(x, y) = x + y; f 11 test/error/rfactor_inner_dim_non_commutative.cpp f.compute_root(); f 19 test/error/rfactor_inner_dim_non_commutative.cpp g(x, y) -= f(r.x, r.y); f 10 test/error/specialize_fail.cpp Func f; f 11 test/error/specialize_fail.cpp f(x) = x; f 12 test/error/specialize_fail.cpp f.specialize(p == 0).vectorize(x, 8); f 13 test/error/specialize_fail.cpp f.specialize_fail("Expected failure"); f 16 test/error/specialize_fail.cpp f.realize(100); f 10 test/error/thread_id_outside_block_id.cpp Func f; f 12 test/error/thread_id_outside_block_id.cpp f(x) = x; f 14 test/error/thread_id_outside_block_id.cpp f.gpu_tile(x, xo, xi, 16).reorder(xo, xi); f 16 test/error/thread_id_outside_block_id.cpp f.compile_jit(t); f 17 test/error/thread_id_outside_block_id.cpp Buffer<int> result = f.realize(16); f 9 test/error/tuple_arg_select_undef.cpp Func f("f"), g("g"); f 11 test/error/tuple_arg_select_undef.cpp f(x, y) = {0, 0}; f 17 test/error/tuple_arg_select_undef.cpp f(arg_0, arg_1) = {f(arg_0, arg_1)[0] + 10, f(arg_0, arg_1)[1] + 5}; f 19 test/error/tuple_arg_select_undef.cpp f.realize(100, 100); f 9 test/error/tuple_val_select_undef.cpp Func f("f"); f 12 test/error/tuple_val_select_undef.cpp f(x) = {x, select(x < 20, 20*x, undef<int>())}; f 13 test/error/tuple_val_select_undef.cpp f.realize(10); f 7 test/error/unbounded_input.cpp Func f; f 14 test/error/unbounded_input.cpp f(x, y) = in(x_coord(x, y), y_coord(x, y)); f 16 test/error/unbounded_input.cpp f.compile_jit(); f 7 test/error/unbounded_output.cpp Func f; f 14 test/error/unbounded_output.cpp f(x, y) = 0.0f; f 16 test/error/unbounded_output.cpp f(x_coord(r.x, r.y), y_coord(r.x, r.y)) += in(r.x, r.y); f 18 test/error/unbounded_output.cpp f.compile_jit(); f 14 test/error/undefined_rdom_dimension.cpp Func f("f"), g("g"), h("h"); f 20 test/error/undefined_rdom_dimension.cpp f(x, y, c) = g(x, y, c); f 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); f 23 test/error/undefined_rdom_dimension.cpp f.set_error_handler(&halide_error); f 24 test/error/undefined_rdom_dimension.cpp Buffer<int32_t> result = f.realize(100, 5, 3); f 10 test/error/vectorize_dynamic.cpp Func f; f 11 test/error/vectorize_dynamic.cpp f(x, y) = input(x, y) * 2; f 17 test/error/vectorize_dynamic.cpp f.split(x, xo, xi, vector_size).vectorize(xi); f 21 test/error/vectorize_dynamic.cpp Buffer<int> out = f.realize(5, 5); f 10 test/error/vectorize_too_little.cpp Func f; f 11 test/error/vectorize_too_little.cpp f(x, y) = input(x, y) * 2; f 12 test/error/vectorize_too_little.cpp f.vectorize(x, 0); f 15 test/error/vectorize_too_little.cpp Buffer<int> out = f.realize(5, 5); f 10 test/error/vectorize_too_much.cpp Func f; f 11 test/error/vectorize_too_much.cpp f(x, y) = input(x, y) * 2; f 12 test/error/vectorize_too_much.cpp f.vectorize(x, 8).vectorize(y, 8); f 15 test/error/vectorize_too_much.cpp Buffer<int> out = f.realize(5, 5); f 7 test/error/wrap_custom_after_shared.cpp Func f("f"), g1("g1"), g2("g2"), g3("g3"), g4("g4"); f 10 test/error/wrap_custom_after_shared.cpp f(x) = x; f 11 test/error/wrap_custom_after_shared.cpp g1(x, y) = f(x); f 12 test/error/wrap_custom_after_shared.cpp g2(x, y) = f(x); f 13 test/error/wrap_custom_after_shared.cpp g3(x, y) = f(x); f 17 test/error/wrap_custom_after_shared.cpp Func wrapper1 = f.in({g1, g4, g3}); f 18 test/error/wrap_custom_after_shared.cpp Func wrapper2 = f.in(g3); f 7 test/error/wrap_frozen.cpp Func f("f"), g("g"); f 10 test/error/wrap_frozen.cpp f(x) = x; f 11 test/error/wrap_frozen.cpp g(x) = f(x); f 12 test/error/wrap_frozen.cpp Func wrapper = f.in(g); f 7 test/error/wrong_type.cpp Func f; f 9 test/error/wrong_type.cpp f(x) = x; f 10 test/error/wrong_type.cpp Buffer<float> im = f.realize(100); f 11 test/generator/acquire_release_generator.cpp Func f("f"); f 13 test/generator/acquire_release_generator.cpp f(x, y) = input(x, y) * 2.0f + 1.0f; f 19 test/generator/acquire_release_generator.cpp f.gpu_tile(x, y, bx, by, tx, ty, 16, 16).compute_root(); f 21 test/generator/acquire_release_generator.cpp return f; f 12 test/generator/argvcall_generator.cpp Func f("f"), g("g"); f 14 test/generator/argvcall_generator.cpp f(x, y) = max(x, y); f 15 test/generator/argvcall_generator.cpp g(x, y, c) = cast<int32_t>(f(x, y) * c * f1 / f2); f 11 test/generator/can_use_target_generator.cpp Func f("f"); f 12 test/generator/can_use_target_generator.cpp f(x, y) = cast<uint32_t>((int32_t)0xdeadbeef); f 13 test/generator/can_use_target_generator.cpp return f; f 12 test/generator/cleanup_on_error_generator.cpp Func f; f 13 test/generator/cleanup_on_error_generator.cpp f(x) = x; f 14 test/generator/cleanup_on_error_generator.cpp f.compute_root(); f 19 test/generator/cleanup_on_error_generator.cpp f.gpu_tile(x, xo, xi, 16); f 26 test/generator/cleanup_on_error_generator.cpp g(x) = f(2*x) + f(2*x+1); f 61 test/generator/cxx_mangling_aottest.cpp int (*f)(halide_buffer_t *, f 76 test/generator/cxx_mangling_aottest.cpp printf("HalideTest::cxx_mangling is at: %p\n", (void*) f); f 66 test/generator/cxx_mangling_generator.cpp Func f("f"); f 73 test/generator/cxx_mangling_generator.cpp f(x) = select(scale_direction, (input(x) * scale_f + offset) / scale_d, f 76 test/generator/cxx_mangling_generator.cpp return f; f 20 test/generator/embed_image_generator.cpp Func f; f 23 test/generator/embed_image_generator.cpp f(x, y, c) = sum(matrix(j, c) * input(x, y, j)); f 24 test/generator/embed_image_generator.cpp return f; f 13 test/generator/error_codes_generator.cpp Func f; f 16 test/generator/error_codes_generator.cpp f(x, y) = input(x, y); f 17 test/generator/error_codes_generator.cpp f.bound(x, 0, f_explicit_bound); f 19 test/generator/error_codes_generator.cpp return f; f 74 test/generator/example_generator.cpp Func f; f 75 test/generator/example_generator.cpp f(x, y) = max(x, y); f 76 test/generator/example_generator.cpp output(x, y, c) = cast(output.type(), f(x, y) * c * compiletime_factor * runtime_factor); f 18 test/generator/external_code_generator.cpp Func f("f"); f 9 test/generator/float16_t_generator.cpp Func f; f 10 test/generator/float16_t_generator.cpp f(x) = x; f 11 test/generator/float16_t_generator.cpp return f; f 10 test/generator/gpu_object_lifetime_generator.cpp Func f; f 11 test/generator/gpu_object_lifetime_generator.cpp f(x) = x; f 16 test/generator/gpu_object_lifetime_generator.cpp f.gpu_tile(x, xo, xi, 16); f 20 test/generator/gpu_object_lifetime_generator.cpp return f; f 13 test/generator/gpu_only_generator.cpp Func f("f"); f 14 test/generator/gpu_only_generator.cpp f(x, y) = input(x, y) * 2; f 19 test/generator/gpu_only_generator.cpp f.gpu_tile(x, y, xo, yo, xi, yi, 16, 16); f 21 test/generator/gpu_only_generator.cpp return f; f 10 test/generator/image_from_array_generator.cpp Func f; f 11 test/generator/image_from_array_generator.cpp f(x) = x; f 12 test/generator/image_from_array_generator.cpp return f; f 13 test/generator/mandelbrot_generator.cpp Complex(FuncRef f) : t(Tuple(f)) {} f 15 test/generator/matlab_generator.cpp Func f("f"); f 16 test/generator/matlab_generator.cpp f(x, y) = input(x, y) * scale * select(negate, -1.0f, 1.0f); f 17 test/generator/matlab_generator.cpp return f; f 13 test/generator/memory_profiler_mandelbrot_generator.cpp Complex(FuncRef f) : t(Tuple(f)) {} f 9 test/generator/multitarget_generator.cpp Func f("f"); f 11 test/generator/multitarget_generator.cpp f(x, y) = cast<uint32_t>((int32_t)0xdeadbeef); f 13 test/generator/multitarget_generator.cpp f(x, y) = cast<uint32_t>((int32_t)0xf00dcafe); f 15 test/generator/multitarget_generator.cpp return f; f 47 test/generator/nested_externs_generator.cpp for (Func f : { extern_stage_1, extern_stage_2, extern_stage_combine }) { f 48 test/generator/nested_externs_generator.cpp auto args = f.args(); f 49 test/generator/nested_externs_generator.cpp f.compute_root().reorder_storage(args[2], args[0], args[1]); f 90 test/generator/nested_externs_generator.cpp for (Func f : { extern_stage_1, extern_stage_2, extern_stage_combine }) { f 91 test/generator/nested_externs_generator.cpp auto args = f.args(); f 92 test/generator/nested_externs_generator.cpp f.compute_at(root, y).reorder_storage(args[2], args[0], args[1]); f 17 test/generator/old_buffer_t_aottest.cpp extern "C" int extern_stage(buffer_t *in2, buffer_t *f, buffer_t *out) { f 26 test/generator/old_buffer_t_aottest.cpp if (f->host == nullptr && f->dev == 0) { f 27 test/generator/old_buffer_t_aottest.cpp f->extent[0] = out->extent[0]; f 28 test/generator/old_buffer_t_aottest.cpp f->min[0] = out->min[0]; f 29 test/generator/old_buffer_t_aottest.cpp f->extent[1] = out->extent[1]; f 30 test/generator/old_buffer_t_aottest.cpp f->min[1] = out->min[1]; f 36 test/generator/old_buffer_t_aottest.cpp halide_copy_to_host_legacy(nullptr, f); f 39 test/generator/old_buffer_t_aottest.cpp get_pixel(out, x, y) = get_pixel(in2, x, y + 7) + get_pixel(f, x, y); f 13 test/generator/old_buffer_t_generator.cpp Func f, g; f 15 test/generator/old_buffer_t_generator.cpp f(x, y) = in1(x-1, y-1) + in1(x+1, y+3) + in2(x, y) + scalar_param; f 16 test/generator/old_buffer_t_generator.cpp f.compute_root(); f 20 test/generator/old_buffer_t_generator.cpp f.gpu_tile(x, y, xi, yi, 16, 16); f 23 test/generator/old_buffer_t_generator.cpp g.define_extern("extern_stage", {in2, f}, Int(32), 2, f 9 test/generator/output_assign_generator.cpp Func f; f 10 test/generator/output_assign_generator.cpp f(x, y) = cast<int32_t>(x + y + extra); f 11 test/generator/output_assign_generator.cpp return f; f 16 test/generator/user_context_generator.cpp Func f; f 17 test/generator/user_context_generator.cpp f(x, y) = g(x, y); f 19 test/generator/user_context_generator.cpp f.parallel(y); f 20 test/generator/user_context_generator.cpp f.trace_stores(); f 26 test/generator/user_context_generator.cpp return f; f 16 test/generator/user_context_insanity_generator.cpp Func f; f 17 test/generator/user_context_insanity_generator.cpp f(x, y) = g(x, y); f 19 test/generator/user_context_insanity_generator.cpp f.parallel(y); f 20 test/generator/user_context_insanity_generator.cpp f.trace_stores(); f 21 test/generator/user_context_insanity_generator.cpp return f; f 9 test/generator/variable_num_threads_generator.cpp Func f; f 12 test/generator/variable_num_threads_generator.cpp f(x, y) = sqrt(sqrt(x*y)); f 13 test/generator/variable_num_threads_generator.cpp f.parallel(x).parallel(y); f 15 test/generator/variable_num_threads_generator.cpp return f; f 24 test/opengl/conv_select.cpp Func f, g; f 27 test/opengl/conv_select.cpp f(x, y, c) = cast<float>(sum(input(coordx, y, c))); f 29 test/opengl/conv_select.cpp Expr R = select(f(x, y, c) > 9.0f, 1.0f, 0.0f); f 30 test/opengl/conv_select.cpp Expr G = select(f(x, y, c) > 9.0f, 0.f, 1.0f); f 12 test/opengl/inline_reduction.cpp Func f; f 15 test/opengl/inline_reduction.cpp f(x, y, c) = sum(cast<float>(r)); f 16 test/opengl/inline_reduction.cpp f.bound(c, 0, 3).glsl(x, y, c); f 18 test/opengl/inline_reduction.cpp Buffer<float> result = f.realize(100, 100, 3, target); f 13 test/opengl/multiple_stages.cpp Func f, g, h; f 17 test/opengl/multiple_stages.cpp f(x, y, c) = h(x, y, c) + cast<uint8_t>(y); f 18 test/opengl/multiple_stages.cpp f.bound(c, 0, 3).glsl(x, y, c); f 22 test/opengl/multiple_stages.cpp Buffer<uint8_t> result = f.realize(10, 10, 3, target); f 137 test/opengl/select.cpp Func f("f"); f 139 test/opengl/select.cpp f(x, y, c) = select(y == 0, temp, 255 - temp); f 143 test/opengl/select.cpp f.bound(c, 0, channels).glsl(x, y, c); f 147 test/opengl/select.cpp Buffer<uint8_t> out = f.realize(width, height, channels, target); f 173 test/opengl/select.cpp Func f("f"); f 175 test/opengl/select.cpp f(x, y, c) = select(y == 0, temp, 255 - temp); f 179 test/opengl/select.cpp f.bound(c, 0, channels).glsl(x, y, c); f 183 test/opengl/select.cpp Buffer<uint8_t> out = f.realize(width, height, channels, target); f 12 test/opengl/set_pixels.cpp Func f; f 15 test/opengl/set_pixels.cpp f(x, y, c) = cast<uint8_t>(42); f 18 test/opengl/set_pixels.cpp f.bound(c, 0, 3).glsl(x, y, c); f 19 test/opengl/set_pixels.cpp f.realize(out, target); f 19 test/opengl/testing.h bool check_result(const Halide::Buffer<T> &buf, T tol, std::function<T(int x, int y, int c)> f) { f 36 test/opengl/testing.h expected.push_back(f(x, y, c)); f 58 test/opengl/testing.h bool check_result(const Halide::Buffer<T> &buf, T tol, std::function<T(int x, int y)> f) { f 62 test/opengl/testing.h const T expected = f(x, y); f 81 test/opengl/testing.h bool check_result(const Halide::Buffer<T> &buf, Func f) { f 82 test/opengl/testing.h return check_result<T>(buf, 0, f); f 54 test/opengl/varying.cpp bool perform_test(const char *label, const Target target, Func f, int expected_nvarying, float tol, std::function<float(int x, int y, int c)> expected_val) { f 60 test/opengl/varying.cpp f.add_custom_lowering_pass(new CountVarying); f 61 test/opengl/varying.cpp f.realize(out, target); f 16 test/performance/boundary_conditions.cpp Func f; f 23 test/performance/boundary_conditions.cpp g(x, y) = f(x - 1, y - 1) + f(x, y) + f(x + 1, y + 1); f 49 test/performance/boundary_conditions.cpp g(x, y) = sum(f(x + r.x, y + r.y)); f 15 test/performance/clamped_vector_load.cpp double test(Func f, bool test_correctness = true) { f 16 test/performance/clamped_vector_load.cpp f.compile_to_assembly(f.name() + ".s", {input}, f.name()); f 17 test/performance/clamped_vector_load.cpp f.compile_jit(); f 18 test/performance/clamped_vector_load.cpp f.realize(output); f 35 test/performance/clamped_vector_load.cpp return benchmark(1, 10, [&]() { f.realize(output); }); f 58 test/performance/clamped_vector_load.cpp Func f; f 59 test/performance/clamped_vector_load.cpp f(x, y) = input(x, y) * 3 + input(x+1, y); f 61 test/performance/clamped_vector_load.cpp f.vectorize(x, 8); f 63 test/performance/clamped_vector_load.cpp t_ref = test(f, false); f 71 test/performance/clamped_vector_load.cpp Func f; f 72 test/performance/clamped_vector_load.cpp f(x, y) = g(x, y) * 3 + g(x+1, y); f 74 test/performance/clamped_vector_load.cpp f.vectorize(x, 8); f 75 test/performance/clamped_vector_load.cpp f.compile_to_lowered_stmt("debug_clamped_vector_load.stmt", f.infer_arguments()); f 77 test/performance/clamped_vector_load.cpp t_clamped = test(f); f 85 test/performance/clamped_vector_load.cpp Func f; f 86 test/performance/clamped_vector_load.cpp f(x, y) = g(x, y) * 3 + g(x+1, y); f 88 test/performance/clamped_vector_load.cpp f.vectorize(x, 8); f 89 test/performance/clamped_vector_load.cpp g.compute_at(f, x); f 91 test/performance/clamped_vector_load.cpp t_scalar = test(f); f 99 test/performance/clamped_vector_load.cpp Func f; f 100 test/performance/clamped_vector_load.cpp f(x, y) = g(x, y) * 3 + g(x+1, y); f 102 test/performance/clamped_vector_load.cpp f.vectorize(x, 8); f 103 test/performance/clamped_vector_load.cpp g.compute_at(f, y); f 105 test/performance/clamped_vector_load.cpp t_pad = test(f); f 11 test/performance/const_division.cpp Func f, g, h; f 43 test/performance/const_division.cpp f(x, y) = input(x, y) / cast<T>(y + min_val); f 52 test/performance/const_division.cpp f(x, y) = input(x, y) % cast<T>(y + min_val); f 62 test/performance/const_division.cpp f.bound(y, 0, num_vals).bound(x, 0, input.width()).unroll(y); f 65 test/performance/const_division.cpp f.vectorize(x); f 69 test/performance/const_division.cpp f.compile_jit(); f 76 test/performance/const_division.cpp Buffer<T> fast = f.realize(input.width(), num_vals); f 77 test/performance/const_division.cpp double t_fast = benchmark(5, 200, [&]() { f.realize(fast); }); f 23 test/performance/fast_pow.cpp Func f, g, h; f 29 test/performance/fast_pow.cpp f(x, y) = sum(pow_ref((x+1)/512.0f, (y+1+s)/512.0f)); f 32 test/performance/fast_pow.cpp f.vectorize(x, 8); f 42 test/performance/fast_pow.cpp f.realize(correct_result); f 53 test/performance/fast_pow.cpp double t1 = 1e3 * benchmark(3, 3, [&]() { f.realize(timing_scratch); }); f 10 test/performance/inner_loop_parallel.cpp Func f; f 12 test/performance/inner_loop_parallel.cpp f(x, y) = x + y; f 13 test/performance/inner_loop_parallel.cpp f.parallel(x); f 26 test/performance/inner_loop_parallel.cpp f.compile_jit(); f 29 test/performance/inner_loop_parallel.cpp f.realize(t, 1); f 30 test/performance/inner_loop_parallel.cpp double min_time = benchmark(3, 1, [&]() { return f.realize(2, 1000000); }); f 20 test/performance/jit_stress.cpp Func f; f 21 test/performance/jit_stress.cpp f(x) = a(x) + b(x); f 22 test/performance/jit_stress.cpp f.realize(c); f 12 test/performance/packed_planar_fusion.cpp Func f; f 13 test/performance/packed_planar_fusion.cpp f(x, y, c) = src(x, y, c); f 16 test/performance/packed_planar_fusion.cpp f.output_buffer() f 25 test/performance/packed_planar_fusion.cpp f.vectorize(x, 16); f 29 test/performance/packed_planar_fusion.cpp f.reorder(c, x, y).fuse(c, x, fused).vectorize(fused, 16); f 32 test/performance/packed_planar_fusion.cpp f.reorder(c, x, y).unroll(c).vectorize(x, 16); f 35 test/performance/packed_planar_fusion.cpp f.reorder(c, x, y).unroll(c).vectorize(x, 16); f 38 test/performance/packed_planar_fusion.cpp f.realize(dst); f 40 test/performance/packed_planar_fusion.cpp return benchmark(5, 10, [&]() { return f.realize(dst); }); f 13 test/performance/parallel_performance.cpp Func f, g; f 17 test/performance/parallel_performance.cpp f(x, y) = math; f 20 test/performance/parallel_performance.cpp f.parallel(y); f 22 test/performance/parallel_performance.cpp Buffer<float> imf = f.realize(W, H); f 24 test/performance/parallel_performance.cpp double parallelTime = benchmark(1, 1, [&]() { f.realize(imf); }); f 20 test/performance/profiler.cpp Func f[30]; f 23 test/performance/profiler.cpp f[i] = Func("fn" + std::to_string(i)); f 25 test/performance/profiler.cpp f[i](c, x) = cast<float>(x + c); f 27 test/performance/profiler.cpp Expr e = f[i-1](c, x); f 31 test/performance/profiler.cpp f[i](c, x) = e; f 33 test/performance/profiler.cpp f[i](c, x) = f[i-1](c, x)*2.0f; f 41 test/performance/profiler.cpp out(c, x) += r*f[29](c, x); f 47 test/performance/profiler.cpp f[i].compute_at(out, x); f 154 test/performance/sort.cpp Func f = bitonic_sort(input, N); f 155 test/performance/sort.cpp f.bound(x, 0, N); f 156 test/performance/sort.cpp f.compile_jit(); f 159 test/performance/sort.cpp f.realize(bitonic_sorted); f 161 test/performance/sort.cpp f.realize(bitonic_sorted); f 165 test/performance/sort.cpp f = merge_sort(input, N); f 166 test/performance/sort.cpp f.bound(x, 0, N); f 167 test/performance/sort.cpp f.compile_jit(); f 170 test/performance/sort.cpp f.realize(merge_sorted); f 172 test/performance/sort.cpp f.realize(merge_sorted); f 38 test/performance/vectorize.cpp Func f, g; f 49 test/performance/vectorize.cpp f(x, y) = e; f 51 test/performance/vectorize.cpp f.bound(x, 0, vec_width).vectorize(x); f 59 test/performance/vectorize.cpp Buffer<A> outputf = f.realize(W, H); f 65 test/performance/vectorize.cpp f.realize(outputf); f 31 test/performance/vectorize_pred.cpp Func f, g; f 45 test/performance/vectorize_pred.cpp f(x, y) = undef<A>(); f 46 test/performance/vectorize_pred.cpp f(r.x, r.y) = e; f 49 test/performance/vectorize_pred.cpp f.update(0).vectorize(r.x); f 52 test/performance/vectorize_pred.cpp Buffer<A> outputf = f.realize(W, H); f 58 test/performance/vectorize_pred.cpp f.realize(outputf); f 37 test/performance/wrap.cpp Func f[stages]; f 39 test/performance/wrap.cpp Expr prev = (i == 0) ? Expr(0) : Expr(f[i-1](x, y)); f 48 test/performance/wrap.cpp f[i](x, y) = stencil; f 50 test/performance/wrap.cpp f[i](x, y) = f[i-1](x, y) + stencil; f 54 test/performance/wrap.cpp Func final = f[stages-1]; f 59 test/performance/wrap.cpp f[i].compute_at(final, xo).gpu_threads(x, y); f 81 test/performance/wrap.cpp Func f[stages]; f 83 test/performance/wrap.cpp Expr prev = (i == 0) ? Expr(0) : Expr(f[i-1](x, y)); f 92 test/performance/wrap.cpp f[i](x, y) = stencil; f 94 test/performance/wrap.cpp f[i](x, y) = f[i-1](x, y) + stencil; f 98 test/performance/wrap.cpp Func final = f[stages-1]; f 103 test/performance/wrap.cpp f[i].compute_at(final, xo).gpu_threads(x, y); f 7 test/warning/double_vectorize.cpp Func f, g; f 9 test/warning/double_vectorize.cpp f(x, y) = x + y; f 10 test/warning/double_vectorize.cpp g(x, y) = f(x, y) + f(x + 1, y); f 15 test/warning/double_vectorize.cpp f.compute_at(g, xi).vectorize(x); f 7 test/warning/hidden_pure_definition.cpp Func f; f 10 test/warning/hidden_pure_definition.cpp f(x) = x; f 13 test/warning/hidden_pure_definition.cpp f(x) = 2; f 7 test/warning/parallel_size_one.cpp Func f; f 10 test/warning/parallel_size_one.cpp f(x, y) = x + y; f 11 test/warning/parallel_size_one.cpp f.bound(y, 0, 1); f 12 test/warning/parallel_size_one.cpp f.parallel(y); f 14 test/warning/parallel_size_one.cpp f.realize(10, 1); f 7 test/warning/vectorize_size_one.cpp Func f, g; f 9 test/warning/vectorize_size_one.cpp f(x, y) = x + y; f 10 test/warning/vectorize_size_one.cpp g(x, y) = f(x, y); f 15 test/warning/vectorize_size_one.cpp f.compute_at(g, x).vectorize(x); f 19 tools/build_halide_h.cpp FILE *f = fopen(header.c_str(), "r"); f 21 tools/build_halide_h.cpp if (f == NULL) { f 28 tools/build_halide_h.cpp while (fgets(line, 1024, f)) { f 44 tools/build_halide_h.cpp fclose(f); f 103 tools/halide_image_io.h FileOpener(const char* filename, const char* mode) : f(fopen(filename, mode)) { f 107 tools/halide_image_io.h if (f != nullptr) { f 108 tools/halide_image_io.h fclose(f); f 115 tools/halide_image_io.h status = fgets(buf, maxlen, f); f 119 tools/halide_image_io.h FILE * const f; f 158 tools/halide_image_io.h Internal::FileOpener f(filename.c_str(), "rb"); f 159 tools/halide_image_io.h if (!check(f.f != nullptr, "File %s could not be opened for reading\n", filename.c_str())) return false; f 160 tools/halide_image_io.h if (!check(fread(header, 1, 8, f.f) == 8, "File ended before end of header\n")) return false; f 173 tools/halide_image_io.h png_init_io(png_ptr, f.f); f 262 tools/halide_image_io.h Internal::FileOpener f(filename.c_str(), "wb"); f 263 tools/halide_image_io.h if (!check(f.f != nullptr, "[write_png_file] File %s could not be opened for writing\n", filename.c_str())) return false; f 274 tools/halide_image_io.h png_init_io(png_ptr, f.f); f 347 tools/halide_image_io.h Internal::FileOpener f(filename.c_str(), "rb"); f 348 tools/halide_image_io.h if (!check(f.f != nullptr, "File %s could not be opened for reading\n", filename.c_str())) return false; f 355 tools/halide_image_io.h f.readLine(buf, 1024); f 361 tools/halide_image_io.h f.readLine(buf, 1024); f 363 tools/halide_image_io.h f.readLine(buf, 1024); f 377 tools/halide_image_io.h if (!check(fread((void *) &data[0], sizeof(uint8_t), width*height, f.f) == (size_t) (width*height), "Could not read PGM 8-bit data\n")) return false; f 388 tools/halide_image_io.h if (!check(fread((void *) &data[0], sizeof(uint16_t), width*height, f.f) == (size_t) (width*height), "Could not read PGM 16-bit data\n")) return false; f 415 tools/halide_image_io.h Internal::FileOpener f(filename.c_str(), "wb"); f 416 tools/halide_image_io.h if (!check(f.f != nullptr, "File %s could not be opened for writing\n", filename.c_str())) return false; f 417 tools/halide_image_io.h fprintf(f.f, "P5\n%d %d\n%d\n", im.width(), im.height(), (1<<bit_depth)-1); f 428 tools/halide_image_io.h if (!check(fwrite((void *) &data[0], sizeof(uint8_t), width*height, f.f) == (size_t) (width*height), "Could not write PGM 8-bit data\n")) return false; f 441 tools/halide_image_io.h if (!check(fwrite((void *) &data[0], sizeof(uint16_t), width*height, f.f) == (size_t) (width*height), "Could not write PGM 16-bit data\n")) return false; f 452 tools/halide_image_io.h Internal::FileOpener f(filename.c_str(), "rb"); f 453 tools/halide_image_io.h if (!check(f.f != nullptr, "File %s could not be opened for reading\n", filename.c_str())) return false; f 460 tools/halide_image_io.h f.readLine(buf, 1024); f 466 tools/halide_image_io.h f.readLine(buf, 1024); f 468 tools/halide_image_io.h f.readLine(buf, 1024); f 482 tools/halide_image_io.h if (!check(fread((void *) &data[0], sizeof(uint8_t), width*height*3, f.f) == (size_t) (width*height*3), "Could not read PPM 8-bit data\n")) return false; f 495 tools/halide_image_io.h if (!check(fread((void *) &data[0], sizeof(uint16_t), width*height*3, f.f) == (size_t) (width*height*3), "Could not read PPM 16-bit data\n")) return false; f 527 tools/halide_image_io.h Internal::FileOpener f(filename.c_str(), "wb"); f 528 tools/halide_image_io.h if (!check(f.f != nullptr, "File %s could not be opened for writing\n", filename.c_str())) return false; f 529 tools/halide_image_io.h fprintf(f.f, "P6\n%d %d\n%d\n", im.width(), im.height(), (1<<bit_depth)-1); f 553 tools/halide_image_io.h if (!check(fwrite((void *) &data[0], sizeof(uint8_t), width*height*3, f.f) == (size_t) (width*height*3), "Could not write PPM 8-bit data\n")) return false; f 586 tools/halide_image_io.h if (!check(fwrite((void *) &data[0], sizeof(uint16_t), width*height*3, f.f) == (size_t) (width*height*3), "Could not write PPM 16-bit data\n")) return false; f 620 tools/halide_image_io.h Internal::FileOpener f(filename.c_str(), "wb"); f 621 tools/halide_image_io.h if (!check(f.f != nullptr, f 628 tools/halide_image_io.h jpeg_stdio_dest(&cinfo, f.f); f 679 tools/halide_image_io.h Internal::FileOpener f(filename.c_str(), "rb"); f 680 tools/halide_image_io.h if (!check(f.f != nullptr, f 687 tools/halide_image_io.h jpeg_stdio_src(&cinfo, f.f); f 765 tools/halide_image_io.h load_image(const std::string &f) : filename(f) {} f 82 tutorial/lesson_04_debugging_2.cpp Func f; f 83 tutorial/lesson_04_debugging_2.cpp f(x, y) = sin(x) + cos(y); f 100 tutorial/lesson_04_debugging_2.cpp Func f; f 101 tutorial/lesson_04_debugging_2.cpp f(x, y) = sin(x) + print(cos(y), "<- this is cos(", y, ") when x =", x); f 104 tutorial/lesson_04_debugging_2.cpp f.realize(4, 4); f 129 tutorial/lesson_04_debugging_2.cpp Func f; f 132 tutorial/lesson_04_debugging_2.cpp f(x, y) = sin(x) + e; f 134 tutorial/lesson_04_debugging_2.cpp f.realize(640, 480); f 46 tutorial/lesson_09_update_definitions.cpp Func f; f 47 tutorial/lesson_09_update_definitions.cpp f(x, y) = x + y; f 52 tutorial/lesson_09_update_definitions.cpp f(3, 7) = 42; f 58 tutorial/lesson_09_update_definitions.cpp f(x, y) = f(x, y) + 17; f 62 tutorial/lesson_09_update_definitions.cpp f(x, 3) = f(x, 0) * f(x, 10); f 66 tutorial/lesson_09_update_definitions.cpp f(0, y) = f(0, y) / f(3, y); f 73 tutorial/lesson_09_update_definitions.cpp f(x, 17) = x + 8; f 74 tutorial/lesson_09_update_definitions.cpp f(0, y) = y * 8; f 75 tutorial/lesson_09_update_definitions.cpp f(x, x + 1) = x + 8; f 76 tutorial/lesson_09_update_definitions.cpp f(y/2, y) = f(0, y) * 17; f 95 tutorial/lesson_09_update_definitions.cpp f.realize(100, 101); f 132 tutorial/lesson_09_update_definitions.cpp Func f; f 133 tutorial/lesson_09_update_definitions.cpp f(x, y) = (x + y)/100.0f; f 153 tutorial/lesson_09_update_definitions.cpp f(x, r) = f(x, r) * f(x, r); f 154 tutorial/lesson_09_update_definitions.cpp Buffer<float> halide_result = f.realize(100, 100); f 241 tutorial/lesson_09_update_definitions.cpp Func f; f 242 tutorial/lesson_09_update_definitions.cpp f(x, y) = x*y; f 244 tutorial/lesson_09_update_definitions.cpp f(x, 0) = f(x, 8); f 246 tutorial/lesson_09_update_definitions.cpp f(0, y) = f(8, y) + 2; f 252 tutorial/lesson_09_update_definitions.cpp f.vectorize(x, 4).parallel(y); f 259 tutorial/lesson_09_update_definitions.cpp f.update(0).vectorize(x, 4); f 264 tutorial/lesson_09_update_definitions.cpp f.update(1).split(y, yo, yi, 4).parallel(yo); f 266 tutorial/lesson_09_update_definitions.cpp Buffer<int> halide_result = f.realize(16, 16); f 98 tutorial/lesson_11_cross_compilation.cpp FILE *f = fopen("lesson_11_arm_32_android.o", "rb"); f 100 tutorial/lesson_11_cross_compilation.cpp if (!f || fread(header, 32, 1, f) != 1) { f 104 tutorial/lesson_11_cross_compilation.cpp fclose(f); f 115 tutorial/lesson_11_cross_compilation.cpp f = fopen("lesson_11_x86_64_windows.obj", "rb"); f 116 tutorial/lesson_11_cross_compilation.cpp if (!f || fread(header, 32, 1, f) != 1) { f 120 tutorial/lesson_11_cross_compilation.cpp fclose(f); f 132 tutorial/lesson_11_cross_compilation.cpp f = fopen("lesson_11_arm_32_ios.o", "rb"); f 133 tutorial/lesson_11_cross_compilation.cpp if (!f || fread(header, 32, 1, f) != 1) { f 137 tutorial/lesson_11_cross_compilation.cpp fclose(f); f 157 tutorial/lesson_17_predicated_rdom.cpp Func f("f"), g("g"); f 159 tutorial/lesson_17_predicated_rdom.cpp f(x, y) = 2 * x + y; f 164 tutorial/lesson_17_predicated_rdom.cpp r1.where(f(r1.x, r1.y) >= 4); f 165 tutorial/lesson_17_predicated_rdom.cpp r1.where(f(r1.x, r1.y) <= 7); f 166 tutorial/lesson_17_predicated_rdom.cpp f(r1.x, r1.y) /= 10; f 168 tutorial/lesson_17_predicated_rdom.cpp f.compute_root(); f 172 tutorial/lesson_17_predicated_rdom.cpp r2.where(f(r2.x, r2.y) < 1);