Added a test to compute 2D DFTs.
Computes test using both real and complex FFTs, cleaned up comments.
Added vectorizing schedule for part of the algorithm.
Improved zip/transpose algorithms, added a decently vectorizing schedule.
Removed old helper functions.
Fixed boneheaded error.
Optimized real FFT by zipping columns from each half of the input (instead of zipping pairs of adjacent columns), optimized complex FFT by performing transpose before each FFT.
Computed twiddle factors statically.
Zipped columns from half of the FFT in inverse real transforms.
Better substitution of specializations of the form expr = const

Fixes #364
Update CMakeLists with BoundaryConditions
Enable basic AArch64 code generation.

A few points that bear consideration:

— WITH_ARM now implies 32-bit ARM (only); WITH_AARCH64 implies 64-bit
ARM (only). This is a little ugly, but since older LLVM versions don’t
support aarch64 it seems imprudent to have WITH_ARM require 64-bit as
well. (Alternately, we could have WITH_ARM mean “at least ARM32” and
WITH_ARM+WITH_AARCH64 mean 32+64, but none of the other WITH flags are
additive in this way AFAIK.)

— However, CodeGen_ARM.cpp generates code for both 32-bit and 64-bit
ARM; essentially all of the NEON specialization is omitted from the
64-bit paths, as the ARMv8A AdvSIMD instruction set has nontrivially
different assembly syntax from existing NEON code. (It’s not yet clear
to me if the naming patterns are similar enough to existing NEON that
some macro-ization might allow us to recycle existing code; if not, it
may prove simpler in the future to simply add a CodeGen_AARCH64.cpp,
but some experimention is likely prudent first.)

— Similarly, a stub aarch64.ll file was added to hold future
specializations for ARMv8A AdvSIMD; we’ll definitely need it as we
flesh out support.

Note that in order to generate AArch64 code, you’ll need to ensure that
your LLVM has aarch64 enabled as a target (we should probably update
the README to reflect this).
Added test for pipelines that only use GPU allocations.
Skipped test when not running a GPU target.
Merge branch 'master' of https://github.com/halide/Halide
Merge pull request #363 from halide/fft_test

FFT test
Minor changes to the HelloAndroid build rules

Existing build rules were a bit specific to Andrew’s setup; this mimics
the HelloAndroidGL ruleset and build properly on my machine.
Improve accuracy of float 1.0/x and 1.0/sqrt(x) from 10 to 21 bits.
Merge branch 'master' of github.com:halide/Halide
Make CameraPreview.java more robust

The code wasn’t smart enough about starting and stopping the preview at
all the right times; this is OK on some devices but makes others very
unhappy.