double* Signal::ReadFile(const wchar_t* name) { wcscpy(EcgFileName, name); if (!IsFileValid(name)) return 0; if (IsBinFile) { if (!ReadDatFile()) return 0; } else { if (!ReadTxtFile()) { //read text file if (!ReadMitbihFile()) //read mit-bih file return 0; } } return GetData(); }
void LoadPlayData( void ) { int i; char str[200]; appendToLogfile("LoadPlayData: Started.", INFO); if ( !ReadDatFile() ) // If we can't find/read the data file, create an empty one. { appendToLogfile("LoadPlayData: Call to ReadDatFile returned FALSE.", ERR); numberOfPlayedFiles = 1; playedFiles[0] = TAP_MemAlloc( sizeof (*playedFiles[0])); playedFiles[0]->startCluster = 0; // Store the disk start cluster. playedFiles[0]->currentBlock = 0; // Store the current block position. playedFiles[0]->totalBlock = 1; // Store the total block size. Set to 1 to ensure no division by 0 errors. strcpy(playedFiles[0]->name,"Placeholder for last played file.rec"); // Store the file name. playedFiles[1] = TAP_MemAlloc( sizeof (*playedFiles[1])); playedFiles[1]->startCluster = 12345678; // Store the disk start cluster. playedFiles[1]->currentBlock = 9876543; // Store the current block position. playedFiles[1]->totalBlock = 9999999; // Store the total block size. strcpy(playedFiles[1]->name,"This is a dummy filename.rec"); // Store the file name. appendToLogfile("LoadPlayData: Calling SaveDataToFile for new file.", ERR); SaveDatToFile(); } playbackInfoTick = TAP_GetTick(); // Set timer to indicate when we retrieved the playback information. playinfoChanged = FALSE; // We've just loaded the data, so it hasn't changed yet. /* TAP_Print("\r\n from loading numberOfPlayedFiles=%d \r\n",numberOfPlayedFiles); for (i = 1; i<=numberOfPlayedFiles; i ++) { TAP_Print("%d<< %d<< %d<<\r\n", playedFiles[i]->startCluster, playedFiles[i]->currentBlock, playedFiles[i]->totalBlock); TAP_Print("%s<<\r\n", playedFiles[i]->name); } */ appendToLogfile("LoadPlayData: Finished.", INFO); }
//------------------------------------------------------------------------------ // bool ReadFile(const wxString &filename, Integer& degree, Integer& order, // Real &mu, Real &radius, bool readCoeff, Real cbar[][361], // Real sbar[][DEG_DIM], Real dcbar[][DRF_DIM], Real dsbar[][DRF_DIM], // Integer maxDegree, Integer maxOrder, Integer maxDriftDegree = 0) //------------------------------------------------------------------------------ bool GravityFile::ReadFile(const wxString &filename, Integer& degree, Integer& order, Real &mu, Real &radius, bool readCoeff, Real cbar[][361], Real sbar[][DEG_DIM], Real dcbar[][DRF_DIM], Real dsbar[][DRF_DIM], Integer maxDegree, Integer maxOrder, Integer maxDriftDegree) { GmatFM::GravityFileType gft = GetFileType(filename); switch (gft) { case GmatFM::GFT_COF: return ReadCofFile(filename, degree, order, mu, radius, readCoeff, cbar, sbar, maxDegree, maxOrder, maxDriftDegree); case GmatFM::GFT_DAT: return ReadDatFile(filename, degree, order, mu, radius, readCoeff, cbar, sbar, dcbar, dsbar, maxDegree, maxOrder, maxDriftDegree); case GmatFM::GFT_GRV: return ReadGrvFile(filename, degree, order, mu, radius, readCoeff, cbar, sbar, maxDegree, maxOrder, maxDriftDegree); default: return false; } }
int Look_txt() { TCHAR filter[] = TEXT("Ghemical MD results File (*.txt)\0*.txt\0") TEXT("All Files (*.*)\0*.*\0"); TCHAR fpath[1024]; TCHAR filename[1024]; sprintf(filename, "\0"); { DWORD nFilterIndex; vector<string> names; vector<string> *pnames = &names; vector<vector<double> > vectors; vectors.reserve(2000000); while (OpenFileDlg(0, filter, fpath, nFilterIndex) == S_OK) { ReadDatFile(NULL, fpath, filename, &vectors, pnames); pnames = NULL; printf("\nfilename %s\n\n", filename); int cols = names.size(); int rows = vectors.size(); #if WRITE_LOCKED_FORCES int cMom = 4 - 1; int cVx = 5 - 1; int cFxup = 14 - 1; int cFxdw = 17 - 1; int cVxup = 8 - 1; int cVxdw = 11 - 1; #endif #if WRITE_WORKED_FORCES int cMom = 4 - 1; int cVx = 5 - 1; int cVxup = 14 - 1; int cVxdw = 17 - 1; int cVx_wk_up = 8 - 1; int cVx_wk_dw = 11 - 1; int cFx_wk_up = 20 - 1; int cFx_wk_dw = 23 - 1; #endif vector<double> means(cols, 0.0); printf("vectors.size() = %d\n",rows); printf("names.size() = %d\n", cols); for (vector<vector<double> >::iterator it = vectors.begin(); it != vectors.end(); it++) { for (int c = 0; c < cols; c++) { means[c] += (*it).operator [](c); } } for (int c = 0; c < cols; c++) { means[c] /= rows; printf("mean(%s) = %f\n", names[c].c_str(), means[c]); } #if WRITE_LOCKED_FORCES || WRITE_WORKED_FORCES int r0 = 0; cout << "enter r0\n"; cin >> r0; #endif #if WRITE_LOCKED_FORCES vector<double> dF(rows-r0); for (int r = r0; r < rows; r++) { dF[r-r0] = vectors[r][cFxup] - vectors[r][cFxdw]; } Statistika (dF, "dF"); vector<double> Mom(rows-r0); for (r = r0; r < rows; r++) { Mom[r-r0] = vectors[r][cMom]; } Statistika (Mom, "Mom"); vector<double> dV(rows-r0); for (r = r0; r < rows; r++) { dV[r-r0] = vectors[r][cVxup] - vectors[r][cVxdw]; } Statistika (dV, "dV"); vector<double> Vx(rows-r0); for (r = r0; r < rows; r++) { Vx[r-r0] = vectors[r][cVx]; } Statistika (Vx, "Vx"); #endif #if WRITE_WORKED_FORCES vector<double> dF_wk(rows-r0); for (int r = r0; r < rows; r++) { dF_wk[r-r0] = vectors[r][cFx_wk_up] - vectors[r][cFx_wk_dw]; } Statistika (dF_wk, "dF_wk"); vector<double> dV_wk(rows-r0); for (r = r0; r < rows; r++) { dV_wk[r-r0] = vectors[r][cVx_wk_up] - vectors[r][cVx_wk_dw]; } Statistika (dV_wk, "dV_wk"); //if (!worked[n1]) vector<double> Mom(rows-r0); for (r = r0; r < rows; r++) { Mom[r-r0] = vectors[r][cMom]; } Statistika (Mom, "Mom"); vector<double> dV(rows-r0); for (r = r0; r < rows; r++) { dV[r-r0] = vectors[r][cVxup] - vectors[r][cVxdw]; } Statistika (dV, "dV"); vector<double> Vx(rows-r0); for (r = r0; r < rows; r++) { Vx[r-r0] = vectors[r][cVx]; } Statistika (Vx, "Vx"); #endif } } /*else { DWORD nFilterIndex; if (SaveFileDlg(0, filename, filter, nFilterIndex) == S_OK) { SetDlgItemText(ref->hDlg,IDC_EDIT_TRAJFILE2, filename); } }*/ printf("Hello World!\n"); return 0; }