Raw File
gen-grid.cpp
#include <iostream>
#include <fstream>

#include "defs.hpp"

int main(int argc, char* argv[]) {
	if (argc < 4) {
		std::cout << "Not enough args; please specify n, m, and output file" << std::endl;
		return 0;
	}
	size_t n = std::stol(argv[1]);
	size_t m = std::stol(argv[2]);
	std::ofstream out(argv[3], std::ios::binary);
	node_t edge[2];

	for (node_t row=0; row<m-1; ++row) {
		for (node_t col=0; col<n-1; ++col) {
			edge[0] = row*n + col + 1;
			edge[1] = edge[0]+1;
			out.write((char*)(&edge[0]), bytes_per_edge);
			edge[1] = edge[0]+n;
			out.write((char*)(&edge[0]), bytes_per_edge);
		}
		// down from last in row to last in next row
		edge[0] = (row+1)*n;
		edge[1] = (row+2)*n;
		out.write((char*)(&edge[0]), bytes_per_edge);
	}
	for (node_t col=0; col<n-1; ++col) {
		edge[0] = (m-1)*n + col + 1;
		edge[1] = edge[0]+1;
		out.write((char*)(&edge[0]), bytes_per_edge);
	}
}
back to top