 
 namespace {
 
-void ConvCheckDevice(const Array& x, const Array& w, const nonstd::optional<Array>& b) {
-    if (b) {
-        CheckDevicesCompatible(x, w, *b);
-    } else {
-        CheckDevicesCompatible(x, w);
-    }
-}
-
 void ConvCheckDtype(const Array& x, const Array& w, const nonstd::optional<Array>& b) {
     // TODO(sonots): Support float16
     if (x.dtype() != Dtype::kFloat32 && x.dtype() != Dtype::kFloat64) {

    if (out_size) {
        throw XchainerError{"CUDA convolution transpose does not support out_size"};
    }
    ConvCheckDevice(x, w, b);
    ConvCheckDtype(x, w, b);
    ConvCheckNdim(w, stride, pad);


    if (cover_all) {
        throw XchainerError{"CUDA convolution does not support cover_all"};
    }
    if (b) {
        CheckDevicesCompatible(x, w, *b);
    } else {
        CheckDevicesCompatible(x, w);
    }
    ConvCheckDtype(x, w, b);
    ConvCheckNdim(w, stride, pad);

