Ejemplo n.º 1
0
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

);
    }
}
Ejemplo n.º 2
0
/************************
 * 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;
}
Ejemplo n.º 3
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);
}
Ejemplo n.º 4
0
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);
}
Ejemplo n.º 5
0
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();
}
Ejemplo n.º 6
0
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();
}
Ejemplo n.º 7
0
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 );
	    
	}
Ejemplo n.º 8
0
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;
}
Ejemplo n.º 9
0
void EditorConfigDialog::restoreDefaults()
{
	ini::AttributeMap data;
	syncData(data, false);
}