TEST(SyncDataTest, host_to_device){ SyncArray<int> syncData(10); SyncArray<int> syncData1(10); syncData1.set_host_data(syncData.host_data()); syncData1.set_device_data(syncData.device_data()); int *data = syncData.host_data(); for (int i = 0; i < 10; ++i) { data[i] = i; } syncData.to_device(); EXPECT_EQ(syncData.head(), SyncMem::HEAD::DEVICE); for (int i = 0; i < 10; ++i) { data[i] = -1; } syncData.to_host(); EXPECT_EQ(syncData.head(), SyncMem::HEAD::HOST); data = syncData.host_data(); for (int i = 0; i < 10; ++i) { EXPECT_EQ(data[i] , i); } for (int i = 0; i < 10; ++i) { EXPECT_EQ(syncData . host_data()[i], i ); EXPECT_EQ(syncData1 . host_data()[i], i ); } }
/************************ * FUNCTION DEFINITIONS * ************************/ int main(int argc, char **argv) { int numRects = 10; double area = 0.0; int myRank = 0; int numProcs = 1; int myNumRects = 0; int myDispl = 0; setupMPI(&argc, &argv, &myRank, &numProcs); getUserOptions(argc, argv, &numRects); distributeWork(numRects, myRank, numProcs, &myNumRects, &myDispl); calculateArea(numRects, myNumRects, (1.0 / numRects), myDispl, &area); syncData(myRank, numProcs, &area); if (myRank == 0) { calculateAndPrintPi(area); } MPI_Finalize(); return 0; }
TEST(SyncDataTest, host_allocate){ SyncArray<int> syncData(100); EXPECT_NE(syncData.host_data(), nullptr); EXPECT_EQ(syncData.head(), SyncMem::HEAD::HOST); EXPECT_EQ(syncData.mem_size(), sizeof(int) * 100); EXPECT_EQ(syncData.size(), 100); syncData.resize(20); EXPECT_EQ(syncData.head(), SyncMem::UNINITIALIZED); EXPECT_EQ(syncData.size(), 20); }
void EditorConfigDialog::loadEditorConfig() { ini::AttributeMap data; try { ini::editor::readData(data); preserveComments->setEnabled(true); } catch (Exception& e) { QMessageBox::warning(this, "Warning", e.what()); preserveComments->setEnabled(false); } syncData(data, false); }
void EditorConfigDialog::accept() { try { ini::AttributeMap data; syncData(data, true); ini::writeMode mode; if (preserveComments->isChecked()) mode = ini::preserve; else if (resetComments->isChecked()) mode = ini::full; else mode = ini::sparse; ini::editor::writeData(data, mode); } catch (Exception& e) { QMessageBox::critical(this, "Error", e.what()); } QDialog::accept(); }
void stdc::ControllerImpl::isolValue(CORBA::Double _d) { if ( isnan( _d ) or isinf( _d ) ) { circleIsolNext(); return; } if (_in_debug)printf("Analog:: Значение изоляции %f МОм по объекту %s\n", _d, circleIsolIter->second->label.c_str() ); /*сохранием значение изоляции*/ circleIsolIter->second->value[1] = _d; /*проверим на выполнение порога 1кОм на 1В рабочего напряжения Технология обслуживания стр.330*/ circleIsolIter->second->isolFault = circleIsolIter->second->value[0] < (_d/1000); /*Проверим пороги, и обновим их в ТЗК*/ if (limits) limits->checkLimit(circleIsolIter->second->unit, _d, false ); /*Включим следующий объект измерения*/ circleIsolNext(); saveData(); syncData(); }
void stdc::ControllerImpl::circleViewData(){ if ( ( viewItem == _in_items.begin() ) && ( circleItem == _in_items.begin() ) ) return; char ak[10]; snprintf(ak, sizeof(ak),"ak%s", viewItem->second->ak ); int isch = 2 * uart->getChan4Ak( ak ) + atol(viewItem->second->side); const char* uns = uart->getUns4Ak( ak ); char buff[10]; snprintf(buff, sizeof(buff),"%s_%d", viewItem->second->source, isch ); if( crtc::ItemImpl *ii = find__(uns) ){ CORBA::Any _a; ii->getAttr__(std::string(buff), _a); CORBA::Double _d; _a>>=_d; /*сохранили значение напряжения*/ viewItem->second->value[0] = _d; saveData(); syncData(); /*Проверим пороги, и обновим их в ТЗК*/ if (limits) limits->checkLimit( viewItem->second->unit, _d, true ); }
bool FGame::execute() { syncData(); qDebug() << "Game type: " << gameType; if(gameType == FGameType::Steam) { #ifdef _WIN32 QString cmd("start steam://rungameid/" + gameExe); system(cmd.toStdString().c_str()); #else QStringList args; args << "-applaunch" << gameExe; QProcess::startDetached("steam", args); #endif } else if (gameType == FGameType::Origin) { QString cmd("start origin://launchgame/" + gameExe); system(cmd.toStdString().c_str()); } else if (gameType == FGameType::Executable || gameType == FGameType::Galaxy || gameType == FGameType::ROM ) { if(gameExe.isEmpty() || gamePath.isEmpty() || !QFile(gamePath+'/'+gameExe).exists()) { qDebug() << "gameExe.isEmpty() || gamePath.isEmpty() || !QFile(gamePath+'/'+gameExe).exists()"; return false; } if(launcherEnabled) { qDebug() << "Launcher:" << launcher.getName() << ", path:" << launcher.getPath() << ", args:" << launcher.getArgs() << ", id:" << launcher.getDbId(); QProcess *process = new QProcess(); process->setWorkingDirectory(gamePath); if(!launcher.getArgs().isEmpty()) { qDebug() << "Found some arguments!"; QStringList argList = createStringListFromArguments(launcher.getArgs()); qDebug() << "Launcher ArgList: " << argList; QStringList::iterator i; for(i = argList.begin(); i != argList.end(); i++) { i->replace("$GAMENAME", gameName); i->replace("$GAMECOMMAND", gameCommand); i->replace("$GAMEPATH", gamePath); i->replace("$GAMEEXE", gameExe); } process->start(launcher.getPath(), argList); } else { qDebug() << "Didn't find arguments."; process->start(launcher.getPath(), QStringList(gameExe)); } } else { QProcess *process = new QProcess(); process->setWorkingDirectory(gamePath); qDebug() << "Command: " << gameCommand; if(!gameCommand.isEmpty()) { QStringList newGameArgs = createStringListFromArguments(gameArgs.at(0)); qDebug() << "Found a command!"; QStringList::iterator i; for(i = newGameArgs.begin(); i != newGameArgs.end(); i++) { i->replace("$GAMENAME", gameName); i->replace("$GAMECOMMAND", gameCommand); i->replace("$GAMEPATH", gamePath); i->replace("$GAMEEXE", gameExe); } process->start(gameCommand, newGameArgs); } else { qDebug() << "Didn't find command, running executable"; process->start(gamePath+'/'+gameExe, gameArgs); } } } return true; }
void EditorConfigDialog::restoreDefaults() { ini::AttributeMap data; syncData(data, false); }