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); } }
BOOL CMainFrmModules::IsModuleCmd(DWORD module_cmd) { return GetModuleId(module_cmd) != 0; }