Tuple 14 apps/fft/complex.h explicit ComplexExpr(Halide::Tuple z) : x(z[0]), y(z[1]) {} Tuple 27 apps/fft/complex.h operator Halide::Tuple() const { return Halide::Tuple(x, y); } Tuple 774 apps/fft/fft.cpp dft = ComplexFunc(constant_exterior((Func)dft, Tuple(undef_z()), Expr(), Expr(), Expr(0), Expr(N1 / 2))); Tuple 15 apps/fft/funct.h typedef Halide::Tuple Tuple; Tuple 18 apps/fft/funct.h : T(untyped.function().has_pure_definition() ? T(Tuple(untyped)) : T()), Tuple 22 apps/fft/funct.h Stage operator+=(T x) { return untyped = T(Tuple(untyped)) + x; } Tuple 23 apps/fft/funct.h Stage operator-=(T x) { return untyped = T(Tuple(untyped)) - x;} Tuple 24 apps/fft/funct.h Stage operator*=(T x) { return untyped = T(Tuple(untyped)) * x; } Tuple 25 apps/fft/funct.h Stage operator/=(T x) { return untyped = T(Tuple(untyped)) / x; } Tuple 171 python_bindings/python/Func.cpp h::Tuple(python_tuple_to_expr_vector(rhs))); Tuple 40 src/BoundaryConditions.cpp Func constant_exterior(const Func &source, Tuple value, Tuple 71 src/BoundaryConditions.cpp bounded(args) = Tuple(def); Tuple 81 src/BoundaryConditions.cpp return constant_exterior(source, Tuple(value), bounds); Tuple 84 src/BoundaryConditions.h EXPORT Func constant_exterior(const Func &source, Tuple value, Tuple 90 src/BoundaryConditions.h inline NO_INLINE Func constant_exterior(const T &func_like, Tuple value) { Tuple 100 src/BoundaryConditions.h return constant_exterior(func_like, Tuple(value)); Tuple 105 src/BoundaryConditions.h inline NO_INLINE Func constant_exterior(const T &func_like, Tuple value, Tuple 115 src/BoundaryConditions.h return constant_exterior(func_like, Tuple(value), std::forward<Bounds>(bounds)...); Tuple 83 src/Func.cpp Tuple Func::values() const { Tuple 86 src/Func.cpp return Tuple(func.values()); Tuple 115 src/Func.cpp Tuple Func::update_values(int idx) const { Tuple 121 src/Func.cpp return Tuple(func.update(idx).values()); Tuple 753 src/Func.cpp intm(init_args) = Tuple(init_vals); Tuple 801 src/Func.cpp intm(update_args) = Tuple(update_vals); Tuple 2479 src/Func.cpp return (*this) = Tuple(e); Tuple 2482 src/Func.cpp Stage FuncRef::operator=(const Tuple &e) { Tuple 2517 src/Func.cpp return (*this) = Tuple(e); Tuple 2523 src/Func.cpp Func define_base_case(Internal::Function func, const vector<Expr> &a, const Tuple &e) { Tuple 2545 src/Func.cpp return define_base_case(func, a, Tuple(e)); Tuple 2549 src/Func.cpp Stage FuncRef::func_ref_update(const Tuple &e, int init_val) { Tuple 2557 src/Func.cpp FuncRef self_ref = define_base_case(func, expanded_args, Tuple(init_values))(expanded_args); Tuple 2563 src/Func.cpp return self_ref = Tuple(values); Tuple 2577 src/Func.cpp Stage FuncRef::operator+=(const Tuple &e) { Tuple 2589 src/Func.cpp return (*this) += Tuple(e); Tuple 2597 src/Func.cpp Stage FuncRef::operator*=(const Tuple &e) { Tuple 2609 src/Func.cpp return (*this) *= Tuple(e); Tuple 2617 src/Func.cpp Stage FuncRef::operator-=(const Tuple &e) { Tuple 2629 src/Func.cpp return (*this) -= Tuple(e); Tuple 2637 src/Func.cpp Stage FuncRef::operator/=(const Tuple &e) { Tuple 2649 src/Func.cpp return (*this) /= Tuple(e); Tuple 2690 src/Func.cpp Tuple FuncTupleElementRef::values_with_undefs(Expr e) const { Tuple 2700 src/Func.cpp return Tuple(values); Tuple 322 src/Func.h Stage func_ref_update(const Tuple &e, int init_val); Tuple 343 src/Func.h EXPORT Stage operator=(const Tuple &); Tuple 352 src/Func.h EXPORT Stage operator+=(const Tuple &); Tuple 363 src/Func.h EXPORT Stage operator-=(const Tuple &); Tuple 374 src/Func.h EXPORT Stage operator*=(const Tuple &); Tuple 385 src/Func.h EXPORT Stage operator/=(const Tuple &); Tuple 423 src/Func.h Tuple values_with_undefs(Expr e) const; Tuple 892 src/Func.h EXPORT Tuple values() const; Tuple 913 src/Func.h EXPORT Tuple update_values(int idx = 0) const; Tuple 1975 src/Func.h inline void check_types(const Tuple &t, int idx) { Tuple 1984 src/Func.h inline void check_types(const Tuple &t, int idx) { Tuple 2020 src/Func.h NO_INLINE void evaluate(Tuple t, First first, Rest&&... rest) { Tuple 2066 src/Func.h NO_INLINE void evaluate_may_gpu(Tuple t, First first, Rest&&... rest) { Tuple 2028 src/Generator.cpp Tuple t(gp, gp, gp); Tuple 2192 src/Generator.h using Tuple = Halide::Tuple; Tuple 166 src/InlineReductions.cpp Tuple argmax(Expr e, const std::string &name) { Tuple 170 src/InlineReductions.cpp Tuple argmax(RDom r, Expr e, const std::string &name) { Tuple 178 src/InlineReductions.cpp Tuple initial_tup(vector<Expr>(v.rdom.dimensions()+1)); Tuple 179 src/InlineReductions.cpp Tuple update_tup(vector<Expr>(v.rdom.dimensions()+1)); Tuple 190 src/InlineReductions.cpp Tuple update = tuple_select(better, update_tup, f(v.free_vars)); Tuple 195 src/InlineReductions.cpp Tuple argmin(Expr e, const std::string &name) { Tuple 199 src/InlineReductions.cpp Tuple argmin(RDom r, Expr e, const std::string &name) { Tuple 207 src/InlineReductions.cpp Tuple initial_tup(vector<Expr>(v.rdom.dimensions()+1)); Tuple 208 src/InlineReductions.cpp Tuple update_tup(vector<Expr>(v.rdom.dimensions()+1)); Tuple 64 src/InlineReductions.h EXPORT Tuple argmax(Expr, const std::string &s = "argmax"); Tuple 65 src/InlineReductions.h EXPORT Tuple argmin(Expr, const std::string &s = "argmin"); Tuple 66 src/InlineReductions.h EXPORT Tuple argmax(RDom, Expr, const std::string &s = "argmax"); Tuple 67 src/InlineReductions.h EXPORT Tuple argmin(RDom, Expr, const std::string &s = "argmin"); Tuple 7 src/Tuple.cpp Tuple::Tuple(const FuncRef &f) : exprs(f.size()) { Tuple 19 src/Tuple.h class Tuple { Tuple 39 src/Tuple.h explicit Tuple(Expr e) { Tuple 46 src/Tuple.h Tuple(Expr a, Expr b, Args&&... args) { Tuple 52 src/Tuple.h explicit NO_INLINE Tuple(const std::vector<Expr> &e) : exprs(e) { Tuple 57 src/Tuple.h EXPORT Tuple(const FuncRef &); Tuple 114 src/Tuple.h inline Tuple tuple_select(Tuple condition, const Tuple &true_value, const Tuple &false_value) { Tuple 115 src/Tuple.h Tuple result(std::vector<Expr>(condition.size())); Tuple 122 src/Tuple.h inline Tuple tuple_select(Expr condition, const Tuple &true_value, const Tuple &false_value) { Tuple 123 src/Tuple.h Tuple result(std::vector<Expr>(true_value.size())); Tuple 36 test/correctness/argmax.cpp arg_max_g() = Tuple(0, 0, g(0,0)); Tuple 38 test/correctness/argmax.cpp Tuple(r.x, r.y, g(r.x, r.y)), Tuple 89 test/correctness/argmax.cpp h(x) = Tuple(x * (100 - x), x); Tuple 90 test/correctness/argmax.cpp h(init) = tuple_select(h(init)[0] >= h(r)[0], Tuple(h(init)), Tuple(h(r))); Tuple 76 test/correctness/bounds_of_func.cpp f(x) = Tuple(clamp(x, 0, 2), clamp(x, 1, 3)); Tuple 82 test/correctness/bounds_of_func.cpp f(x) = Tuple(fs[i-1](x)[0] + fs[i-1](x)[1], Tuple 146 test/correctness/implicit_args_tests.cpp f(x, _) = Tuple(h(_) + 2, x + 2); Tuple 172 test/correctness/implicit_args_tests.cpp g(x, _) = Tuple(h(_) + 1); Tuple 174 test/correctness/implicit_args_tests.cpp g(clamp(f(r.x, _), 0, 50), _) += Tuple(2); Tuple 195 test/correctness/implicit_args_tests.cpp f(x, _) *= Tuple(h(_) + 2, h(_) * 3); Tuple 213 test/correctness/implicit_args_tests.cpp h(x, y) = Tuple(x + y, x - y); Tuple 216 test/correctness/implicit_args_tests.cpp g(x) = Tuple(x + 2, x - 2); Tuple 220 test/correctness/implicit_args_tests.cpp f(x, _) = Tuple(h(_)[0] + 3, h(_)[1] + 4); Tuple 222 test/correctness/implicit_args_tests.cpp f(x, _) += Tuple(h(_)[0]*g(_)[0], h(_)[1]*g(_)[1]); Tuple 240 test/correctness/implicit_args_tests.cpp h(x, y) = Tuple(x + y, x - y); Tuple 243 test/correctness/implicit_args_tests.cpp g(x) = Tuple(x + 2, x- 2); Tuple 249 test/correctness/implicit_args_tests.cpp f(_) += Tuple(h(_)[0]*g(_)[0] + 3, h(_)[1]*g(_)[1] + 4); Tuple 118 test/correctness/infer_arguments.cpp f_tuple(x, y, c) = Tuple(f_a(x, y, c), f_b(x, y, c)); Tuple 49 test/correctness/interleave.cpp f = Tuple(values); Tuple 332 test/correctness/memoize.cpp f(x, y) = Tuple(count_calls(x, y) + cast<uint8_t>(x), x); Tuple 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]); Tuple 559 test/correctness/memoize.cpp f(x, y) = Tuple(count_calls(x, y) + cast<uint8_t>(x), x); Tuple 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]); Tuple 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. Tuple 15 test/correctness/multi_output_pipeline_with_bad_sizes.cpp f(x) = Tuple(x, sin(x)); Tuple 17 test/correctness/multiple_outputs.cpp Tuple t = f(x); Tuple 37 test/correctness/multiple_outputs.cpp g() = Tuple(0, 0, f(0, 0)); Tuple 101 test/correctness/multiple_outputs.cpp g(x) = Tuple(cast<uint8_t>(x), cast<int16_t>(x+1)); Tuple 38 test/correctness/newtons_method.cpp g() = Tuple(cast<T>(3), sin(cast<T>(3)), Tuple 54 test/correctness/newtons_method.cpp g() = Tuple(x0, y0, x1, y1); Tuple 573 test/correctness/reduction_non_rectangular.cpp f(x, y) = Tuple(e1, x + y); Tuple 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); Tuple 520 test/correctness/rfactor.cpp f(x, y) = Tuple(x + y, x - y); Tuple 526 test/correctness/rfactor.cpp ref(x, y) = Tuple(1, 3); Tuple 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])); Tuple 530 test/correctness/rfactor.cpp g(x, y) = Tuple(1, 3); Tuple 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])); Tuple 597 test/correctness/rfactor.cpp f(x, y, z) = Tuple(x + y + z, x - y + z); Tuple 605 test/correctness/rfactor.cpp ref(x, y) = Tuple(1, 3); Tuple 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]); Tuple 609 test/correctness/rfactor.cpp g(x, y) = Tuple(1, 3); Tuple 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]); Tuple 754 test/correctness/rfactor.cpp f(x, y) = Tuple(x + y, x - y); Tuple 762 test/correctness/rfactor.cpp ref(x, y) = Tuple(10, 20); Tuple 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], Tuple 766 test/correctness/rfactor.cpp g(x, y) = Tuple(10, 20); Tuple 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], Tuple 814 test/correctness/rfactor.cpp ref() = Tuple(10, 20, 30); Tuple 815 test/correctness/rfactor.cpp ref() = Tuple(min(ref()[0], f(r.x, r.y)), Tuple 819 test/correctness/rfactor.cpp g() = Tuple(10, 20, 30); Tuple 820 test/correctness/rfactor.cpp g() = Tuple(min(g()[0], f(r.x, r.y)), Tuple 45 test/correctness/side_effects.cpp Tuple t; Tuple 48 test/correctness/side_effects.cpp Complex(Tuple tup) : t(tup) {} Tuple 49 test/correctness/side_effects.cpp Complex(FuncRef f) : t(Tuple(f)) {} Tuple 53 test/correctness/side_effects.cpp operator Tuple() const {return t;} Tuple 96 test/correctness/side_effects.cpp Tuple escape = argmin(magnitude(mandelbrot(x, y, t)) < 4); Tuple 116 test/correctness/skip_stages.cpp f1(x) = Tuple(call_counter(x, 0), call_counter(x+1, 1)); Tuple 137 test/correctness/skip_stages.cpp f1(x) = Tuple(call_counter(x, 0), call_counter(x+1, 1)); Tuple 170 test/correctness/skip_stages_external_array_functions.cpp f1(x) = Tuple(extern1(x), extern2(x+1)); Tuple 208 test/correctness/skip_stages_external_array_functions.cpp f1(x) = Tuple(extern1(x), extern2(x+1)); Tuple 113 test/correctness/skip_stages_memoize.cpp f1(x) = Tuple(2*x, 2*x); Tuple 114 test/correctness/skip_stages_memoize.cpp f2(x) = Tuple(select(toggle, f1(x)[0], 1), Tuple 44 test/correctness/stmt_to_html.cpp tuple_func(x, y) = Tuple(x, y); Tuple 109 test/correctness/tracing.cpp g(x) = Tuple(sin(x*0.1f), cos(x*0.1f)); Tuple 12 test/correctness/tuple_partial_update.cpp f(x, y) = Tuple(x + y, undef<int32_t>()); Tuple 38 test/correctness/tuple_partial_update.cpp f(x, y) = Tuple(x, y); Tuple 14 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(x + y, x - y); Tuple 17 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(f(x, y)[1]*2, f(x, y)[0]*2); Tuple 50 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(x + y, x - y); Tuple 54 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(f(x, y)[1] + 1, f(x, y)[0] + 1); Tuple 98 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(x + y, x - y); Tuple 102 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(f(x, y)[1] + 1, f(x, y)[0] + 1); Tuple 143 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(x + y - 1000, x - y + 1000); Tuple 146 test/correctness/tuple_reduction.cpp f(x, y) = Tuple(f(x, y)[1] - 1, f(x, y)[1] + 1); Tuple 50 test/correctness/tuple_undef.cpp f(x, y) = Tuple(x + y, undef<int32_t>()); Tuple 51 test/correctness/tuple_undef.cpp f(x, y) = Tuple(f(x, y)[0] + undef<int32_t>(), f(x, y)[1] + 2); Tuple 78 test/correctness/tuple_undef.cpp f(x, y) = Tuple(x, y); Tuple 79 test/correctness/tuple_undef.cpp f(x, y) = Tuple(undef<int>(), select(x < 20, 20*f(x, y)[0], undef<int>())); Tuple 135 test/correctness/tuple_undef.cpp f(x, y) = Tuple(undef<int32_t>(), undef<int32_t>()); Tuple 12 test/correctness/tuple_update_ops.cpp f(x, y) += Tuple(x + y); Tuple 32 test/correctness/tuple_update_ops.cpp f(x, y) += Tuple(4, 8); Tuple 33 test/correctness/tuple_update_ops.cpp f(x, y) *= Tuple(x + y, x + 13); Tuple 34 test/correctness/tuple_update_ops.cpp f(x, y) /= Tuple(2, 2); Tuple 35 test/correctness/tuple_update_ops.cpp f(x, y) -= Tuple(x, y); Tuple 58 test/correctness/tuple_update_ops.cpp f(x, _) = Tuple(cast<int16_t>(x), cast<int32_t>(g(_))); Tuple 59 test/correctness/tuple_update_ops.cpp f(x, _) += Tuple(cast<int16_t>(2*x), cast<int32_t>(x)); Tuple 83 test/correctness/tuple_update_ops.cpp f(x, y) = Tuple(x + 13, x + y); Tuple 105 test/correctness/tuple_update_ops.cpp f(x, y) = Tuple(x + y); Tuple 106 test/correctness/tuple_update_ops.cpp f(x, y) += Tuple(x); Tuple 54 test/correctness/undef.cpp f3(x) = Tuple(undef<float>(), sin(x)); Tuple 59 test/correctness/undef.cpp f3(rx) = Tuple(f3(rx)[0] + f3(rx)[1] + f3(left)[1] + f3(right)[1], undef<float>()); Tuple 60 test/correctness/undef.cpp f3(rx) = Tuple(undef<float>(), f3(rx)[1] + f3(rx)[0] + f3(left)[0] + f3(right)[0]); Tuple 9 test/error/constrain_wrong_output_buffer.cpp f(x) = Tuple(x, sin(x)); Tuple 8 test/generator/mandelbrot_generator.cpp Tuple t; Tuple 12 test/generator/mandelbrot_generator.cpp Complex(Tuple tup) : t(tup) {} Tuple 13 test/generator/mandelbrot_generator.cpp Complex(FuncRef f) : t(Tuple(f)) {} Tuple 17 test/generator/mandelbrot_generator.cpp operator Tuple() const { return t; } Tuple 60 test/generator/mandelbrot_generator.cpp Tuple escape = argmin(magnitude(mandelbrot(x, y, t)) < 4); Tuple 8 test/generator/memory_profiler_mandelbrot_generator.cpp Tuple t; Tuple 12 test/generator/memory_profiler_mandelbrot_generator.cpp Complex(Tuple tup) : t(tup) {} Tuple 13 test/generator/memory_profiler_mandelbrot_generator.cpp Complex(FuncRef f) : t(Tuple(f)) {} Tuple 17 test/generator/memory_profiler_mandelbrot_generator.cpp operator Tuple() const { return t; } Tuple 63 test/generator/memory_profiler_mandelbrot_generator.cpp Tuple escape = argmin(magnitude(mandelbrot(x, y, t)) < 4); Tuple 66 test/generator/metadata_tester_generator.cpp output(x, y, c) = Tuple(f1(x, y, c), f2(x, y, c)); Tuple 60 test/generator/stubtest_generator.cpp tuple_output(x, y, c) = Tuple( Tuple 138 test/performance/rfactor.cpp ref() = Tuple(255, 0, 0, 0, 0); Tuple 139 test/performance/rfactor.cpp ref() = Tuple(min(ref()[0], input(r.x, r.y, r.y, r.z)), Tuple 145 test/performance/rfactor.cpp amin() = Tuple(255, 0, 0, 0, 0); Tuple 146 test/performance/rfactor.cpp amin() = Tuple(min(amin()[0], input(r.x, r.y, r.z, r.w)), Tuple 212 test/performance/rfactor.cpp ref() = Tuple(1, 0); Tuple 213 test/performance/rfactor.cpp ref() = Tuple(ref()[0]*input0(r.x) - ref()[1]*input1(r.x), Tuple 216 test/performance/rfactor.cpp mult() = Tuple(1, 0); Tuple 217 test/performance/rfactor.cpp mult() = Tuple(mult()[0]*input0(r.x) - mult()[1]*input1(r.x), Tuple 111 test/performance/sort.cpp merge_rows(x, y) = Tuple(0, 0, cast(input.value().type(), 0)); Tuple 120 test/performance/sort.cpp Tuple(candidate_a + 1, candidate_b, value_a), Tuple 121 test/performance/sort.cpp Tuple(candidate_a, candidate_b + 1, value_b)); Tuple 83 tutorial/lesson_13_tuples.cpp multi_valued(x, y) = Tuple(x + y, sin(x * y)); Tuple 206 tutorial/lesson_13_tuples.cpp Complex(Tuple t) : real(t[0]), imag(t[1]) {} Tuple 212 tutorial/lesson_13_tuples.cpp Complex(FuncRef t) : Complex(Tuple(t)) {} Tuple 215 tutorial/lesson_13_tuples.cpp operator Tuple() const { Tuple 267 tutorial/lesson_13_tuples.cpp Tuple first_escape = argmin(escape_condition);