TEST(ComplexMatrixIOTest,ThousandByThousandMatirx) {
	ComplexMatrix cm(1000,1000);
	RandomNumberGenerator random;
	for (int i=0; i<cm.GetRows(); ++i) {
		for (int j=0; j<cm.GetCols(); ++j) {
			cm(i,j) = random.randomComplex();
		}
	}
	complexMatrixToBytes(cm,"cm.bin");
	ComplexMatrix cm2;
	bytesToComplexMatrix(cm2, "cm.bin");
	EXPECT_EQ(cm.GetRows(), cm2.GetRows());
	EXPECT_EQ(cm.GetCols(), cm2.GetCols());
	for (int i=0; i<cm.GetRows(); ++i) {
		for (int j=0; j<cm.GetCols(); ++j) {
			EXPECT_DOUBLE_EQ(cm(i,j).real, cm2(i,j).real);
			EXPECT_DOUBLE_EQ(cm(i,j).imag, cm2(i,j).imag);
		}
	}
}