ComplexExpr 14 apps/fft/complex.h explicit ComplexExpr(Halide::Tuple z) : x(z[0]), y(z[1]) {} ComplexExpr 17 apps/fft/complex.h ComplexExpr() : x(0.0f), y(0.0f) {} ComplexExpr 18 apps/fft/complex.h ComplexExpr(float x, float y) : x(x), y(y) {} ComplexExpr 22 apps/fft/complex.h ComplexExpr(Halide::Expr x, Halide::Expr y = 0.0f) : x(x), y(y) {} ComplexExpr 29 apps/fft/complex.h ComplexExpr &operator+=(ComplexExpr r) { ComplexExpr 37 apps/fft/complex.h typedef FuncT<ComplexExpr> ComplexFunc; ComplexExpr 41 apps/fft/complex.h inline Halide::Expr re(ComplexExpr z) { return z.re(); } ComplexExpr 42 apps/fft/complex.h inline Halide::Expr im(ComplexExpr z) { return z.im(); } ComplexExpr 46 apps/fft/complex.h inline ComplexExpr conj(ComplexExpr z) { ComplexExpr 47 apps/fft/complex.h return ComplexExpr(re(z), -im(z)); ComplexExpr 51 apps/fft/complex.h inline ComplexExpr operator-(ComplexExpr z) { ComplexExpr 52 apps/fft/complex.h return ComplexExpr(-re(z), -im(z)); ComplexExpr 55 apps/fft/complex.h inline ComplexExpr operator+(ComplexExpr a, ComplexExpr b) { ComplexExpr 56 apps/fft/complex.h return ComplexExpr(re(a) + re(b), im(a) + im(b)); ComplexExpr 58 apps/fft/complex.h inline ComplexExpr operator+(ComplexExpr a, Halide::Expr b) { ComplexExpr 59 apps/fft/complex.h return ComplexExpr(re(a) + b, im(a)); ComplexExpr 61 apps/fft/complex.h inline ComplexExpr operator+(Halide::Expr a, ComplexExpr b) { ComplexExpr 62 apps/fft/complex.h return ComplexExpr(a + re(b), im(b)); ComplexExpr 64 apps/fft/complex.h inline ComplexExpr operator-(ComplexExpr a, ComplexExpr b) { ComplexExpr 65 apps/fft/complex.h return ComplexExpr(re(a) - re(b), im(a) - im(b)); ComplexExpr 67 apps/fft/complex.h inline ComplexExpr operator-(ComplexExpr a, Halide::Expr b) { ComplexExpr 68 apps/fft/complex.h return ComplexExpr(re(a) - b, im(a)); ComplexExpr 70 apps/fft/complex.h inline ComplexExpr operator-(Halide::Expr a, ComplexExpr b) { ComplexExpr 71 apps/fft/complex.h return ComplexExpr(a - re(b), -im(b)); ComplexExpr 73 apps/fft/complex.h inline ComplexExpr operator*(ComplexExpr a, ComplexExpr b) { ComplexExpr 74 apps/fft/complex.h return ComplexExpr(re(a) * re(b) - im(a) * im(b), ComplexExpr 77 apps/fft/complex.h inline ComplexExpr operator*(ComplexExpr a, Halide::Expr b) { ComplexExpr 78 apps/fft/complex.h return ComplexExpr(re(a) * b, im(a) * b); ComplexExpr 80 apps/fft/complex.h inline ComplexExpr operator*(Halide::Expr a, ComplexExpr b) { ComplexExpr 81 apps/fft/complex.h return ComplexExpr(a * re(b), a * im(b)); ComplexExpr 83 apps/fft/complex.h inline ComplexExpr operator/(ComplexExpr a, Halide::Expr b) { ComplexExpr 84 apps/fft/complex.h return ComplexExpr(re(a) / b, im(a) / b); ComplexExpr 88 apps/fft/complex.h inline ComplexExpr expj(Halide::Expr x) { ComplexExpr 89 apps/fft/complex.h return ComplexExpr(Halide::cos(x), Halide::sin(x)); ComplexExpr 93 apps/fft/complex.h inline ComplexExpr sum(ComplexExpr z, const std::string &s = "sum") { ComplexExpr 94 apps/fft/complex.h return ComplexExpr(Halide::sum(re(z), s + "_re"), ComplexExpr 97 apps/fft/complex.h inline ComplexExpr select(Halide::Expr c, ComplexExpr t, ComplexExpr f) { ComplexExpr 98 apps/fft/complex.h return ComplexExpr(Halide::select(c, re(t), re(f)), ComplexExpr 101 apps/fft/complex.h inline ComplexExpr select(Halide::Expr c1, ComplexExpr t1, ComplexExpr 102 apps/fft/complex.h Halide::Expr c2, ComplexExpr t2, ComplexExpr 103 apps/fft/complex.h ComplexExpr f) { ComplexExpr 104 apps/fft/complex.h return ComplexExpr(Halide::select(c1, re(t1), c2, re(t2), re(f)), ComplexExpr 108 apps/fft/complex.h inline ComplexExpr cast(ComplexExpr z) { ComplexExpr 109 apps/fft/complex.h return ComplexExpr(Halide::cast<T>(re(z)), Halide::cast<T>(im(z))); ComplexExpr 111 apps/fft/complex.h inline ComplexExpr cast(Halide::Type type, ComplexExpr z) { ComplexExpr 112 apps/fft/complex.h return ComplexExpr(Halide::cast(type, re(z)), Halide::cast(type, im(z))); ComplexExpr 114 apps/fft/complex.h inline ComplexExpr likely(ComplexExpr z) { ComplexExpr 115 apps/fft/complex.h return ComplexExpr(Halide::likely(re(z)), Halide::likely(im(z))); ComplexExpr 36 apps/fft/fft.cpp const ComplexExpr j(Expr(0), Expr(1)); ComplexExpr 39 apps/fft/fft.cpp ComplexExpr undef_z(Type t = Float(32)) { ComplexExpr 40 apps/fft/fft.cpp return ComplexExpr(undef(t), undef(t)); ComplexExpr 86 apps/fft/fft.cpp typedef FuncRefT<ComplexExpr> ComplexFuncRef; ComplexExpr 103 apps/fft/fft.cpp ComplexExpr mul(ComplexExpr a, float re_b, float im_b) { ComplexExpr 104 apps/fft/fft.cpp return a * ComplexExpr(re_b, im_b); ComplexExpr 155 apps/fft/fft.cpp ComplexExpr W1_3(re_W1_3, im_W1_3); ComplexExpr 156 apps/fft/fft.cpp ComplexExpr W2_3(re_W1_3, -im_W1_3); ComplexExpr 157 apps/fft/fft.cpp ComplexExpr W4_3 = W1_3; ComplexExpr 240 apps/fft/fft.cpp ComplexExpr dft = x(A({Expr(0)}, args)); ComplexExpr 330 apps/fft/fft.cpp ComplexExpr x_rs = x(A({n0, s + r * (N / R)}, args)); ComplexExpr 358 apps/fft/fft.cpp ComplexExpr V_rs = V(A({r_, s_, n0}, args)); ComplexExpr 710 apps/fft/fft.cpp ComplexExpr(r(A({zip_n0, n1}, args)), ComplexExpr 729 apps/fft/fft.cpp ComplexExpr Z = dft1(A({unzip_n0, n1}, args)); ComplexExpr 730 apps/fft/fft.cpp ComplexExpr conjsymZ = conj(dft1(A({unzip_n0, (N1 - n1) % N1}, args))); ComplexExpr 732 apps/fft/fft.cpp ComplexExpr X = Z + conjsymZ; ComplexExpr 733 apps/fft/fft.cpp ComplexExpr Y = -j * (Z - conjsymZ); ComplexExpr 746 apps/fft/fft.cpp ComplexExpr(re(unzipped(A({n0, 0}, args))), ComplexExpr 885 apps/fft/fft.cpp ComplexExpr X = c(A({n0, 0}, args)); ComplexExpr 886 apps/fft/fft.cpp ComplexExpr Y = c(A({n0, N1 / 2}, args)); ComplexExpr 941 apps/fft/fft.cpp ComplexExpr X = select(n1 < N1 / 2, ComplexExpr 946 apps/fft/fft.cpp ComplexExpr Y = select(n1 < N1 / 2, ComplexExpr 112 apps/fft/fft_generator.cpp in(x, y) = ComplexExpr(input(x, y, 0), 0); ComplexExpr 118 apps/fft/fft_generator.cpp in(x, y) = ComplexExpr(input(x, y, 0), input(x, y, 1));