Esempio n. 1
0
void structMatrix :: v_readText (MelderReadText text, int formatVersion) {
	if (formatVersion < 0) {
		our xmin = texgetr8 (text);
		our xmax = texgetr8 (text);
		our ymin = texgetr8 (text);
		our ymax = texgetr8 (text);
		our nx = texgeti4 (text);
		our ny = texgeti4 (text);
		our dx = texgetr8 (text);
		our dy = texgetr8 (text);
		our x1 = texgetr8 (text);
		our y1 = texgetr8 (text);
	} else {
		Matrix_Parent :: v_readText (text, formatVersion);
	}
	if (our xmin > our xmax)
		Melder_throw (U"xmin should be less than or equal to xmax.");
	if (our ymin > our ymax)
		Melder_throw (U"ymin should be less than or equal to ymax.");
	if (our nx < 1)
		Melder_throw (U"nx should be at least 1.");
	if (our ny < 1)
		Melder_throw (U"ny should be at least 1.");
	if (our dx <= 0.0)
		Melder_throw (U"dx should be greater than 0.0.");
	if (our dy <= 0.0)
		Melder_throw (U"dy should be greater than 0.0.");
	our z = NUMmatrix_readText_r8 (1, our ny, 1, our nx, text, "z");
}
Esempio n. 2
0
void structSampled2 :: v_readText (MelderReadText text, int /*formatVersion*/) {
	xmin = texgetr8 (text);
	xmax = texgetr8 (text);
	nx = texgeti4 (text);
	dx = texgetr8 (text);
	x1 = texgetr8 (text);
	ymin = texgetr8 (text);
	ymax = texgetr8 (text);
	ny = texgeti4 (text);
	dy = texgetr8 (text);
	y1 = texgetr8 (text);
	if (xmin > xmax || ymin > ymax) {
		Melder_throw (U"xmax should be greater than xmax and ymax should be greater than ymin.");
	}
	if (nx < 1 || ny < 1) {
		Melder_throw (U"nx and ny should be at least 1.");
	}
	if (dx <= 0 || dy <= 0) {
		Melder_throw (U"dx and dy should be positive.");
	}
}
void structTableOfReal :: v_readText (MelderReadText a_text) {
	numberOfColumns = texgeti4 (a_text);
	if (numberOfColumns >= 1) {
		columnLabels = NUMvector <wchar_t*> (1, numberOfColumns);
		for (long i = 1; i <= numberOfColumns; i ++)
			columnLabels [i] = texgetw2 (a_text);
	}
	numberOfRows = texgeti4 (a_text);
	if (numberOfRows >= 1) {
		rowLabels = NUMvector <wchar_t*> (1, numberOfRows);
	}
	if (numberOfRows >= 1 && numberOfColumns >= 1) {
		data = NUMmatrix <double> (1, numberOfRows, 1, numberOfColumns);
		for (long i = 1; i <= numberOfRows; i ++) {
			rowLabels [i] = texgetw2 (a_text);
			for (long j = 1; j <= numberOfColumns; j ++)
				data [i] [j] = texgetr8 (a_text);
		}
	}
}