 	const std::size_t y = ( blockIdx.x*blockDim.x+threadIdx.x % (cube.column_size()*cube.depth_size()) ) / cube.depth_size();
 	const std::size_t z = ( blockIdx.x*blockDim.x+threadIdx.x % (cube.column_size()*cube.depth_size()) ) % cube.depth_size();
 	if( x < cube.row_size() and y < cube.column_size() and z < cube.depth_size() ) {
-		if( cube.at(x,y,z).x == x and cube.at(x,y,z).y == y and cube.at(x,y,z).z == z ) result[x][y][z] = 0;
+		if( cube.at(x,y,z).x == x and cube.at(x,y,z).y == y and cube.at(x,y,z).z == z ) result[x][y][z] = 1;
 	}
 }
 

		assert( hostResultCube.depth_size() == o );
		for( std::size_t i = 0; i < n; ++i )
			for( std::size_t j = 0; j < m; ++j )
				for( std::size_t k = 0; k < o; ++k )
					assert( hostResultCube[i][j][k] );
	}

	{

#include "../include/ecuda/cube.hpp"

template<typename T>
struct coord_t {
	T x, y, z;
	bool operator==( const coord_t& other ) const { return x == other.x and y == other.y and z == other.z; }
};

typedef coord_t<double> Coordinate;

