 		watcher.start();
 
 		allocate_and_copy(GLOBAL_MEMORY);
+		//might be improved dim3 type.
 		int threads = 512;
 		int blocks = facet_nb_ / threads + ((facet_nb_ % threads) ? 1 : 0);
 		kernel << < threads, blocks >> > (

	{
	}

	CudaRestrictedVoronoiDiagram::~CudaRestrictedVoronoiDiagram()
	{
	}

	__global__
		void kernel(
		double*			vertex,		index_t			vertex_nb,
		double*			points,		index_t			points_nb,
		index_t*		facets,		index_t			facets_nb,
		index_t*		points_nn,	index_t			k_p,
		index_t*		facets_nn,	index_t			k_f,
		double*			retdata
		){

	}

	__host__

			host_ret = nil;
		}
	}

	__host__
	void CudaRestrictedVoronoiDiagram::copy_back(){
		cudaMemcpy(host_ret, dev_ret, sizeof(double) * points_nb_ * 4, cudaMemcpyDeviceToHost);
		CheckCUDAError("copy back");
	}

	__host__
		void CudaRestrictedVoronoiDiagram::print_return_data(std::string filename) const{
		index_t line_num = 4;
		std::ofstream f;
		f.open(filename);
		for (index_t t = 0; t < points_nb_; ++t){
			f << std::setprecision(18);
			f << "point " << t << " ";
			f << host_ret[t] << " "
				<< host_ret[t + 1] << " "
				<< host_ret[t + 2] << " "
				<< host_ret[t + 3] << " " << std::endl;
		}
		f.close();
	}
}