Esempio n. 1
0
int Instance::Load(FileBuffer &buffer)
{
	if (buffer.Eof())
		return -1;

	mFeatures.clear();
	mLabels.clear();

	int numFeature;
	buffer.GetNextData(numFeature);
	if (buffer.Eof())
		return -1;

	for (int i = 0; i < numFeature; ++i)
	{
		if (buffer.Eof())
		{
			cerr << "Error: Load Instance error,FileBuffer empty unexpected!" << endl;
			return -1;
		}
		int key;
		double value;
		buffer.GetNextData(key);
		buffer.GetNextData(value);
		mFeatures[key] = value;
	}

	int numLabel;
	buffer.GetNextData(numLabel);
	for (int i = 0; i < numLabel; ++i)
	{
		if (buffer.Eof())
		{
			cerr << "Error: Load Instance error,FileBuffer empty unexpected!" << endl;
			return -1;
		}
		int labelId;
		buffer.GetNextData(labelId);
		mLabels.insert(labelId);
	}
	return 0;
}
Esempio n. 2
0
int QueryTable::Load(FileBuffer& buffer, int printLog)
{
	int rtn = 0;
	int cnt = 0;
	size_t len = 0;
	buffer.GetNextData(len);
	for (size_t i = 0; i < len; ++i)
	{
		if (buffer.Eof())
			return -1;
		double key, value;
		rtn = buffer.GetNextData(key);
		CHECK_RTN(rtn);
		rtn = buffer.GetNextData(value);
		CHECK_RTN(rtn);
		mQueryTable.push_back(make_pair(key, value));
		++cnt;
	}
	sort(mQueryTable.begin(), mQueryTable.end());
	if (printLog != SILENT)
		clog << "Total Load " << cnt << " querytable instances" << endl;
	return 0;
}
Esempio n. 3
0
int MeshInfoSet::Load(FileBuffer& buffer, int printLog)
{
	if (buffer.Eof())
		return -1;
	int rtn = 0;
	rtn = buffer.GetNextData(mTotalCitationNum);
	CHECK_RTN(rtn);
	rtn = buffer.GetNextData(mUniqueMeshNum);
	CHECK_RTN(rtn);
	rtn = buffer.GetNextData(mUniqueMeshPairNum);
	CHECK_RTN(rtn);
	rtn = buffer.GetNextData(mSumMeshOcurNum);
	CHECK_RTN(rtn);

	rtn = buffer.GetNextData(mMeshOcurNum);
	CHECK_RTN(rtn);
	rtn = buffer.GetNextData(mMeshPairOcurNum);
	CHECK_RTN(rtn);

	rtn = buffer.GetNextData(mTitleMeshEntryOcurNum);
	CHECK_RTN(rtn);
	rtn = buffer.GetNextData(mTitleMeshEntryPairOcurNum);
	CHECK_RTN(rtn);

	rtn = buffer.GetNextData(mAbstractMeshEntryOcurNum);
	CHECK_RTN(rtn);
	rtn = buffer.GetNextData(mAbstractMeshEntryPairOcurNum);
	CHECK_RTN(rtn);

	rtn = InitializeMeshNeiboNum(mMeshPairOcurNum, mMeshNeiboNum);
	CHECK_RTN(rtn);

	if (printLog != SILENT)
		clog << "MeshInfoSet load completed, loaded " << mTotalCitationNum << " citations" << endl;
	return 0;
}