theano gpu code actually requires 'float32' not floatX. If floatX is 'float64' this check will actually result in gpu-compatible arrays becoming non-gpu-compatible.