 #include <thrust/iterator/permutation_iterator.h>
 #include <thrust/transform.h>
 
+#include <list>
 
 
 template <typename IndexType>

}
DECLARE_HOST_DEVICE_UNITTEST(TestDirectInterpolation);


void TestRugeStubenSolver(void)
{

    cusp::coo_matrix<int,float,cusp::device_memory> A;
    cusp::gallery::poisson5pt(A, 51, 51);
    
    // setup linear system
    cusp::array1d<float,cusp::device_memory> b(A.num_rows,0);
    cusp::array1d<float,cusp::device_memory> x(A.num_rows,1);
    unittest::random_samples(x.begin(), x.end());

    ruge_stuben_solver<int,float,cusp::device_memory> rs(A);
    rs.solve(b,x);
}
DECLARE_UNITTEST(TestRugeStubenSolver);

