resize method

void resize(
  1. int row,
  2. int col
)

Implementation

void resize( int row, int col ){
	// サイズが同じ場合、何もしない
	if( (row == _row) && (col == _col) ){
		return;
	}

	if( (_len = row * col) > 0 ){
		int i, j;

		List<MathValue> mat = MathValue.newArray( _len + 1/*番人*/ );

		// 既存データをコピーする
		int m = (row < _row) ? row : _row;
		int n = (col < _col) ? col : _col;
		for( i = 0; i < m; i++ ){
			for( j = 0; j < n; j++ ){
//					copyValue( mat[i * col + j], _val( i, j ) );
				mat[i * col + j] = _val( i, j );
			}
		}

		_mat = mat;
		_row = row;
		_col = col;
	} else {
		// 元に戻す
		_len = _row * _col;
	}
}