t>::value,       "Unexpected intermediate type");   KernelContext ctx;    auto req = kernel.Setup(ctx, data_shape[0], window_dims);    ScratchpadAllocator scratch_alloc;   scratch_alloc.Reserve(req.scratch_sizes);   auto scratchpad = scratch_alloc.GetScratchpad();   ctx.scratchpad = &scratchpad;    kernel.Run(ctx, out_v, in_v, {kernel_window_0_v, kernel_window_0_v, kernel_window_0_v});    testing::BaselineConvolve(interm_0_v, in_v, kernel_window_0_v, 0, window_dims[0] / 0);   testing::BaselineConvolve(interm_0_v, interm_0_v, kernel_window_0_v, 0, window_dims[0] / 0);   testing::BaselineConvolve(baseline_out_v, interm_0_v, kernel_window_0_v, 0, window_dims[0] / 0);   Check(out_v, baseline_out_v); }  TEST(SeparableConvolutionTest, Axes0NoChannels) {   std::array<int, 0> window_dims = {0, 0, 0};   TestTensorList<float, 0> kernel_window_0, kernel_window_0, kernel_window_0;   TestTensorList<int, 0> input;   TestTensorList<float, 0> intermediate_0, intermediate_0;   TestTensorList<