     ASSERT_EQUAL(x[4],   0.0);
     ASSERT_EQUAL(x[5],  16.0);
     
-    cusp::blas::scal(view_x, 2.0f);
+    cusp::blas::scal(View(x), 2.0f);
 
     ASSERT_EQUAL(x[0],  56.0);
     ASSERT_EQUAL(x[1],  40.0);

template <class MemorySpace>
void TestCopy(void)
{
    cusp::array1d<float, MemorySpace> x(4);
    cusp::array1d<float, MemorySpace> y(4);

    x[0] =  7.0f;   y[0] =  0.0f; 
    x[1] =  5.0f;   y[1] = -2.0f;
    x[2] =  4.0f;   y[2] =  0.0f;
    x[3] = -3.0f;   y[3] =  5.0f;

    cusp::blas::copy(x.begin(), x.end(), y.begin());

    ASSERT_EQUAL(x, y);

    x[0] =  7.0f;   y[0] =  0.0f; 
    x[1] =  5.0f;   y[1] = -2.0f;
    x[2] =  4.0f;   y[2] =  0.0f;
    x[3] = -3.0f;   y[3] =  5.0f;

    cusp::blas::copy(x, y);

    ASSERT_EQUAL(x, y);
    
    // test size checking
    cusp::array1d<float, MemorySpace> w(3);

    
    Array x(4);
    Array y(4);

    x[0] =  7.0f;   y[0] =  0.0f; 
    x[1] =  5.0f;   y[1] = -2.0f;
