void CRLModule::LoadQMatrix(char *pFilenameFormat)
{
	FILE *pFile;
	char filename[256];
	bool bLoaded= false;
	int robotId;

	if (m_bGenericModule) robotId= 0;
	else robotId= m_id;

	sprintf_s(filename,pFilenameFormat
		,g_pParameterManager->GetIntParameter("EXPERIMENT_ID")
		,robotId
		,GetModuleId());
	if (0==fopen_s(&pFile,filename,"rb"))
	{
		int entryCount;
		int actionCount;
		fread(&entryCount,sizeof(int),1,pFile);
		fread(&actionCount,sizeof(int),1,pFile);
		if (entryCount!= m_pQMatrix->GetEntryCount() || actionCount!=m_actionCount)
			printf("ERROR IMPORTING QMATRIX. DIFFERENT MATRIX SIZE");
		else
		{
			fread(m_pQMatrix->GetQEntry(0),sizeof(Q_VALUE_TYPE),entryCount*m_actionCount,pFile);
			bLoaded= true;
		}
		fclose(pFile);
	}
//	if (!bLoaded) m_pQMatrix->RandomlyPopulate();
}
void CRLModule::SaveQMatrix(char *pFilenameFormat)
{
	FILE *pFile;
	char filename[256];
	int robotId;

	if (m_bGenericModule) robotId= 0;
	else robotId= m_id;

	sprintf_s(filename,pFilenameFormat
		,g_pParameterManager->GetIntParameter("EXPERIMENT_ID")
		,robotId
		,GetModuleId());
	if (0==fopen_s(&pFile,filename,"wb"))
	{
		int entryCount= m_pQMatrix->GetEntryCount();
		fwrite(&entryCount,sizeof(int),1,pFile);
		fwrite(&m_actionCount,sizeof(int),1,pFile);
		int harl= fwrite(m_pQMatrix->GetQEntry(0),sizeof(Q_VALUE_TYPE),entryCount*m_actionCount,pFile);
		fclose(pFile);
	}
	
}
Beispiel #3
0
BOOL CMainFrmModules::IsModuleCmd(DWORD module_cmd)
{
    return GetModuleId(module_cmd) != 0;
}