Ejemplo n.º 1
0
int lua_Distance(lua_State * L)
{
    size_t sz1, sz2;
    const char * str1 = luaL_checklstring(L, 1, &sz1);
    const char * str2 = luaL_checklstring(L, 2, &sz2);
    if (sz1 > sz2) {
        std::swap(sz1, sz2);
        std::swap(str1, str2);
    }
    std::vector<size_t> EditBuffer[2];
    EditBuffer[0].resize(sz1 + 1,0);
    EditBuffer[1].resize(sz1 + 1,0);
    for (size_t i = 0; i <= sz1; i++) {
        EditBuffer[0][i] = i;
    }
    for (size_t j = 0; j < sz2;j++) {
        for (auto it = EditBuffer[_J(j)].begin(); it != EditBuffer[_J(j)].end();  it++) {
            *it = 0;
        }
        EditBuffer[_J(j)][0] = j +1;
        for (size_t i = 0; i < sz1;i++) {
            if (str2[j] == str1[i]) {
                EditBuffer[_J(j)][_I(i)] = EditBuffer[_J(j - 1)][_I(i - 1)];
            }
            else {
                EditBuffer[_J(j)][_I(i)] = std::min(EditBuffer[_J(j)][_I(i - 1)] + 1,
                                           std::min(EditBuffer[_J(j - 1)][_I(i)] + 1,
                                                    EditBuffer[_J(j - 1)][_I(i - 1)] + 1));
            }
        }
    }
    lua_pushinteger(L, EditBuffer[_J(sz2 - 1)][_I(sz1 - 1)]);
    return 1;
}
Ejemplo n.º 2
0
    void ServerApi::CreateRequest(RequestName request, Json::Value parametres)
    {
        Json::Value object;
        object[_J(_playerId)] = Config::PlayerId;
        object[_J(_ask)] = request;
        object[_J(_parameters)] = parametres;
        Json::FastWriter writer;
 
        ServerConnectAPI::SendToServer(writer.write(object));
    }
Ejemplo n.º 3
0
double AmpWigner2::dynamicalFunction(ComPWA::Spin J, ComPWA::Spin mu, ComPWA::Spin muPrime, double cosTheta)
{
	/* We assume that we have spin 0 particles only and the Wigner_d functions simplifies to
	 * ordinary Legendre polynomials. We normalize the square of these to one by the pre factor
	 * sqrt(2J+1). The factor was obtained by trial and error. No idea for why thats the
	 * normalization.  */
//	double norm = 1/sqrt(2*J+1);
	double norm = 1;
	if(J==0) return norm; //assure that angular term is properly normalized
	if(cosTheta>1 ||cosTheta<-1)
		throw std::runtime_error( "AmpWigner2::dynamicalFunction() | "
				"scattering angle out of range! Datapoint beyond phsp?");

	double result = 1.0;
	::Spin _J(J.GetNumerator(), J.GetDenominator());
	::Spin _mu(mu.GetNumerator(), mu.GetDenominator());
	::Spin _muPrime(muPrime.GetNumerator(), muPrime.GetDenominator());

	//TODO: this is the only point in which we use qft++, we should be rid of it
	result = Wigner_d( _J, _mu, _muPrime, acos(cosTheta) );

#ifdef DEBUG
	if( ( result!=result ) )
		throw
		std::runtime_error("AmpWigner2::dynamicalFunction() | Result is NaN!");
#endif

	return (norm*(2*J.GetSpin()+1)*result);
}
Ejemplo n.º 4
0
 void InteractiveObject::SynchronizationObject(Json::Value jsonObject)
 {
     if(jsonObject.isMember(_J(_mapPositionX))){
         this->mapPosition.x = jsonObject[_J(_mapPositionX)].asFloat();
     }
     if(jsonObject.isMember(_J(_mapPositionY))){
         this->mapPosition.y = jsonObject[_J(_mapPositionY)].asFloat();
     }
     if(jsonObject.isMember(_J(_activity))){
         this->activity = jsonObject[_J(_activity)].asBool();
     }
     if(jsonObject.isMember(_J(_hp))){
         this->hp = jsonObject[_J(_hp)].asUInt();
     }
     if(jsonObject.isMember(_J(_maxHP))){
         this->maxHP = jsonObject[_J(_maxHP)].asUInt();
     }
 }
Ejemplo n.º 5
0
 Json::Value Bullet::serialize()
 {
     Json::Value object;
     object[_J(_objectName)] = _Bullet;
     object[_J(_mapPositionX)] =  this->getMapPosition().x;
     object[_J(_mapPositionY)] =  this->getMapPosition().y;
     object[_J(_activity)] = this->activity;
     object[_J(_angle)] = this->getAngle().getDegrees();
     object[_J(_targetAngle)] = this->targetAngle.getDegrees();
     object[_J(_name)] = this->name;
     object[_J(_weaponType)] = this->getType();
     object[_J(_syncId)] = this->syncId;
     if(this->syncEventActive)
          this->syncNow = false;
     return object;
 } 
Ejemplo n.º 6
0
Real CylindricalBesselGenerator::J(UnsignedInteger n, Real z) const
{
    if(n > getMaxNJ())
    {
        return _J(n, z);
    }
    
    const cb_table::Table* table(getCJTable(n));
    assert(table != 0);

    const Real minz(table->x_start + table->delta_x * 3);
    const Real maxz(table->x_start + table->delta_x * (table->N-3));
    
    if(z >= minz && z < maxz)
    {
        return _J_table(n, z);
    }
    else
    {
        return _J(n, z);
    }
}
Ejemplo n.º 7
0
	void ObjectManager::CreateBullet(Json::Value object, int indeks){
        Bullet* Temp ;
        switch(static_cast<JsonOption>(object[_J(_weaponType)].asInt())){
        case Uzi:
           Temp = BulletFactory::CreateUziBullet();
           break;
        case Ak47:
            Temp = BulletFactory::CreateAk47Bullet();
            break;
        case Bazooka:
            Temp = BulletFactory::CreateBazookaBullet();
            break;
        case Glock:
            Temp = BulletFactory::CreateGlockBullet();
            break;
        case SniperRifle:
            Temp = BulletFactory::CreateSniperRifleBullet();
            break;
        case M16:
            Temp = BulletFactory::CreateM16Bullet();
            break;
        case Knife:
            Temp = BulletFactory::CreateKnifeBullet();
            break;
        case Shotgun:
            Temp = BulletFactory::CreateShotgunBullet();
            break;
        case Grenade:
            Temp = BulletFactory::CreateGrenadeBullet();
            break;
        }
		Temp->SynchronizationObject(object);
		if(indeks == -1)
			DataContainer::ObjectLists.push_back(Temp);
		else
			DataContainer::ObjectLists[indeks] = Temp;
        LayerContainer::GetGameLayer("trzecia")->addObject(Temp);
	}
Ejemplo n.º 8
0
int _cdecl main()
{

	HENV	hEnv		= NULL;   
	HUSER	hUser		= NULL;    

	FILE *	ini;
	FILE *	mnu; 
	FILE *	dlg;   
 
	JCHAR szLinea[80],szLin1[64],szLin2[64],szUsrEntry[128],
		 szUsrEnv[16],szUsrID[16],szUsrPass[16],szUsrLeng[2],szMenuFile[16],  
		 szTempBuf[32],
		 
		 cStandAloneFlg;

	int	 iErrorCode,iDbgFlg,iOpcionSalir,i,
		 iPrimeraVez, iCamposOffset, iCamposCantidad, iStatusOffset, iInicioEtiquetas, iInicioCampos, iUltimaLinea, iCReqTAB, 
		 iCamposPosiciones[64], iCamposErrores[64], iOpcionEscogida;
	char * szCamposEtiquetas[64], szCamposContenido[64][128], szPantallaTitulo[64], szPantallaStatusLine[64], szDummy[128]; 
	 

#define INIwidth 80 


	//*************************************************************************
	//***Procesamiento Archivo INI                                          ***
	//*************************************************************************


	//Contruye nombre de archivo como nombre_Daammdd_Thhmmss.log
	char timebuf[9],datebuf[9];
	JCHAR Ltimebuf[9],Ldatebuf[9],szFileNameBuf[64];

	_strtime(timebuf);
	_strdate(datebuf);
	jdeToUnicode(Ltimebuf,timebuf,DIM(Ltimebuf),UTF8);
	jdeToUnicode(Ldatebuf,datebuf,DIM(Ldatebuf),UTF8);

	jdeStrcpy(szFileNameBuf,_J("../logs/OWDCmenu_D"));
	Ldatebuf[2] = _J('\0');
	Ldatebuf[5] = _J('\0');

	jdeStrcpy(szTempBuf,Ldatebuf + 6);
	jdeStrcat(szFileNameBuf,szTempBuf);
	jdeStrcpy(szTempBuf,Ldatebuf);
	jdeStrcat(szFileNameBuf,szTempBuf);
	jdeStrcpy(szTempBuf,Ldatebuf + 3);
	jdeStrcat(szFileNameBuf,szTempBuf);

	Ltimebuf[2] = _J('\0');
	Ltimebuf[5] = _J('\0');
	jdeStrcat(szFileNameBuf,_J("_T"));
	jdeStrcpy(szTempBuf,Ltimebuf);
	jdeStrcat(szFileNameBuf,szTempBuf);
	jdeStrcpy(szTempBuf,Ltimebuf + 3);
	jdeStrcat(szFileNameBuf,szTempBuf);
	jdeStrcpy(szTempBuf,Ltimebuf + 6);
	jdeStrcat(szFileNameBuf,szTempBuf);
	jdeStrcat(szFileNameBuf,_J(".log"));

	dlg = jdeFopen(szFileNameBuf,_J("w"));

	ini = jdeFopen(_J("OWDCmenu.ini"),_J("r"));
	if (!ini){
		iErrorCode =  101;
		jdeFprintf(dlg,_J("***Error(%d) abriendo INI (OWDCmenu.ini)...\n"),iErrorCode);
        goto lbFIN1;
	} 

	while (jdeFgets(szLinea,INIwidth,ini) != NULL){ //***Mientras haya registros en ini file
		for(i=0; (szLinea[i] != _J('=') && i < INIwidth); i++);
		if (szLinea[i] == _J('=')){//Localiza el signo "="
			jdeStrncpy(szLin1, szLinea, i);
			szLin1[i] = _J('\0');//Divide el string en una porción antes "=" y otra porción despues "="
			i++;
			jdeStrncpy(szLin2,szLinea + i,jdeStrlen(szLinea) - i + 1 );
			szLin2[jdeStrlen(szLin2) - 1] = _J('\0');
		} 

		if(jdeStrcmp(szLin1,_J("Debug")) == 0){
			iDbgFlg = jdeAtoi(szLin2);
			if (iDbgFlg == 1){

			}
			else dlg = stderr;
			if (iDbgFlg > 0) jdeFprintf(dlg,_J("***INI: Debug (%d)...\n"), iDbgFlg);
			continue;
		}
		if(jdeStrcmp(szLin1,_J("UserID")) == 0){
			jdeStrcpy(szUsrID, szLin2);
			if (iDbgFlg > 0) jdeFprintf(dlg,_J("***INI: szUsrID (%ls)...\n"),szUsrID);
			continue;
		}
		if(jdeStrcmp(szLin1,_J("UserPWD")) == 0){
			jdeStrcpy(szUsrPass, szLin2);
			if (iDbgFlg > 0) jdeFprintf(dlg,_J("***INI: szUsrPass (%ls)...\n"),szUsrPass);
			continue;
		}
		if(jdeStrcmp(szLin1,_J("UserENV")) == 0){
			jdeStrcpy(szUsrEnv, szLin2);
			if (iDbgFlg > 0) jdeFprintf(dlg,_J("***INI: szUsrEnv (%ls)...\n"),szUsrEnv);
			continue;
		}
		if(jdeStrcmp(szLin1,_J("Leng")) == 0){
			jdeStrcpy(szUsrLeng, szLin2);
			if (iDbgFlg > 0) jdeFprintf(dlg,_J("***INI: Leng (%ls)...\n"),szUsrLeng);
			continue;
		}		
		if(jdeStrcmp(szLin1,_J("StandAlone")) == 0){
			cStandAloneFlg = szLin2[0];
			if (iDbgFlg > 0) jdeFprintf(dlg,_J("***INI: StandAlone (%lc)...\n"),cStandAloneFlg); 
			continue;
		}
		if(jdeStrcmp(szLin1,_J("camposOffset")) == 0){
			iCamposOffset = jdeAtoi(szLin2);
			if (iDbgFlg > 0) jdeFprintf(dlg,_J("***INI: camposOffset (%d)...\n"),iCamposOffset); 
			continue;
		}
		if(jdeStrcmp(szLin1,_J("statusOffset")) == 0){
			iStatusOffset = jdeAtoi(szLin2);
			if (iDbgFlg > 0) jdeFprintf(dlg,_J("***INI: statusOffset (%d)...\n"),iStatusOffset); 
			continue;
		}
		if(jdeStrcmp(szLin1,_J("inicioEtiquetas")) == 0){
			iInicioEtiquetas = jdeAtoi(szLin2);
			if (iDbgFlg > 0) jdeFprintf(dlg,_J("***INI: inicioEtiquetas (%d)...\n"),iInicioEtiquetas); 
			continue;
		}
		if(jdeStrcmp(szLin1,_J("inicioCampos")) == 0){
			iInicioCampos = jdeAtoi(szLin2);
			if (iDbgFlg > 0) jdeFprintf(dlg,_J("***INI: inicioCampos (%d)...\n"),iInicioCampos); 
			continue;
		}
		if(jdeStrcmp(szLin1,_J("ultimaLinea")) == 0){
			iUltimaLinea = jdeAtoi(szLin2);
			if (iDbgFlg > 0) jdeFprintf(dlg,_J("***INI: ultimaLinea (%d)...\n"),iUltimaLinea); 
			continue;
		}
		if(jdeStrcmp(szLin1,_J("CReqTAB")) == 0){
			iCReqTAB = jdeAtoi(szLin2);
			if (iDbgFlg > 0) jdeFprintf(dlg,_J("***INI: CReqTAB (%d)...\n"),iCReqTAB); 
			continue;
		}
	}
	jdeFclose(ini);
	jdeFflush(dlg);            

	//*************************************************************************
	//***Fin Procesamiento INI                                              ***
	//*************************************************************************

	iErrorCode = 0; //No hay Errores!!!

	if (cStandAloneFlg == _J('1')) {//Login caracter a OW, no compartido...

		memset(szCamposEtiquetas,'\0',sizeof(szCamposEtiquetas));
		memset(szCamposContenido,'\0',sizeof(szCamposContenido));
		memset(iCamposPosiciones,'\0',sizeof(iCamposPosiciones));
		memset(iCamposErrores,'\0',sizeof(iCamposErrores));

		iPrimeraVez = 0;

		strcpy (szPantallaTitulo, "Menu Captura Datos Inventario");
		strcpy (szPantallaStatusLine, "");

		szCamposEtiquetas[0] = "Ambiente...";
		szCamposEtiquetas[1] = "Usuario....";
		szCamposEtiquetas[2] = "Password...";

		jdeFromUnicode(szCamposContenido[0],szUsrEnv,127,UTF8);	
		iCamposPosiciones[0] = strlen(szCamposContenido[0]);
		jdeFromUnicode(szCamposContenido[1],szUsrID,127,UTF8);
		iCamposPosiciones[1] = strlen(szCamposContenido[1]);
		jdeFromUnicode(szCamposContenido[2],szUsrPass,127,UTF8);
		iCamposPosiciones[2] = strlen(szCamposContenido[2]);

		iCamposCantidad = 3;//tres campos a desplegar...

		OWDCmp02 (&iPrimeraVez, szPantallaTitulo, iCamposOffset, iCamposCantidad, iStatusOffset,iInicioEtiquetas, 
					iInicioCampos, iUltimaLinea, iCReqTAB,
					iCamposPosiciones, szCamposEtiquetas, szCamposContenido, iCamposErrores, szPantallaStatusLine,
					iDbgFlg, dlg);

		jdeToUnicode(szUsrEnv,szCamposContenido[0],127,UTF8);
		if (iDbgFlg > 0) jdeFprintf(dlg,_J("***szUsrEnv(%ls)...\n"), szUsrEnv);

		jdeToUnicode(szUsrID,szCamposContenido[1],127,UTF8);
		if (iDbgFlg > 0) jdeFprintf(dlg,_J("***szUsrID(%ls)...\n"), szUsrID);
		
		jdeToUnicode(szUsrPass,szCamposContenido[1],127,UTF8);
		if (iDbgFlg > 0) jdeFprintf(dlg,_J("***szUsrPass(%ls)...\n"), szUsrPass);

		//Initialize Environment Handle
		if(JDB_InitEnvOvrExtended(&hEnv,szUsrEnv,szUsrID,szUsrPass, _J("*ALL"))!=JDEDB_PASSED){
			iErrorCode =  102;
			jdeFprintf(dlg,_J("***Error(%d): JDB_InitEnvOvrExtended failed...\n"),iErrorCode);
			goto lbFIN2;
		}
		//Initialize User Handle
		if(JDB_InitUser(hEnv, &hUser, NULL,JDEDB_COMMIT_AUTO)!=JDEDB_PASSED){
			iErrorCode =  103;		
			jdeFprintf(dlg,_J("***Error(%d): JDB_InitUser failed...\n"),iErrorCode);
			goto lbFIN3;
		}
	}
	else{//Login grafico a OW, compartido...
		if(JDB_InitEnv(&hEnv)!=JDEDB_PASSED){
			iErrorCode =  102;
			jdeFprintf(dlg,_J("***Error(%d): JDB_InitEnv failed...\n"),iErrorCode);
			goto lbFIN2;
		}
		//Initialize User Handle
		if(JDB_InitUser(hEnv, &hUser, NULL,JDEDB_COMMIT_AUTO)!=JDEDB_PASSED){
			iErrorCode =  103;		
			jdeFprintf(dlg,_J("***Error(%d): JDB_InitUser failed...\n"),iErrorCode);
			goto lbFIN3;
		}
	}

	jdeFflush(dlg);

	//Salir de curses...

	OWDCmp90 (iDbgFlg, dlg);

	jdeFflush(dlg);

	//*************************************************************************
	//***Procesamiento Archivo MNU                                          ***
	//*************************************************************************
	do{ //while (iOpcionSalir == 2); Loop para reprocesar el menú 

		if (iDbgFlg > 0){
			jdeFprintf(dlg,_J("***Dibujando Ménu\n"));
			jdeFflush(dlg);
		}

		memset(szCamposEtiquetas,'\0',sizeof(szCamposEtiquetas));

		iPrimeraVez = 0;
		iOpcionEscogida = 0;

		strcpy (szPantallaTitulo, "Menu Captura Datos Inventario");
		strcpy (szPantallaStatusLine, "");

		iCamposCantidad = 0;   

		szCamposEtiquetas[iCamposCantidad++] = "1 - Captura Recepcion Orden de Compra";
		szCamposEtiquetas[iCamposCantidad++] = "2 - Captura Despachos Almacen";
		szCamposEtiquetas[iCamposCantidad++] = "0 - Salir";

		OWDCmp01 (&iPrimeraVez, &iOpcionEscogida, szPantallaTitulo, iCamposCantidad, iInicioEtiquetas, szCamposEtiquetas, 
					szPantallaStatusLine,iDbgFlg,dlg);
		
		iOpcionSalir = 0;  
		do {//while (iOpcionSalir == 0 );Loop para validar Opción Menú... 
			switch (iOpcionEscogida){
				case 1:
					iPrimeraVez = 9;//Salir de curses
					OWDCmp90 (iDbgFlg,dlg);
					iOpcionSalir = 2;
					jdeFflush(dlg);
					iErrorCode = OWDCrc01(hEnv,hUser);
					if (iDbgFlg > 0) jdeFprintf(dlg,_J("***Menu OWDCrc01 (%d)...\n"),iErrorCode);
					jdeFflush(dlg);
					iErrorCode = 0; 
					break;
				case 2:
					iPrimeraVez = 9;//Salir de curses
					OWDCmp90 (iDbgFlg,dlg);
					iOpcionSalir = 2;
					jdeFflush(dlg);
					iErrorCode = OWDCce01(hEnv,hUser);
					if (iDbgFlg > 0) jdeFprintf(dlg,_J("***Menu OWDCce01 (%d)...\n"),iErrorCode);
					jdeFflush(dlg);
					iErrorCode = 0; 
					break;

				case 0:
					iOpcionSalir = 1;
					goto lbFIN;
					break;
				default :
					iOpcionSalir = 0;
			}
		} while (iOpcionSalir == 0);
	}while (iOpcionSalir == 2);  
	//*************************************************************************
	//***Fin Procesamiento MNU                                              ***
	//*************************************************************************

lbFIN:
	iPrimeraVez = 9;//Salir de curses
	OWDCmp90 (iDbgFlg,dlg);
	if(hUser)JDB_FreeUser(hUser);
lbFIN3:
	if(hEnv)JDB_FreeEnv(hEnv);
lbFIN2:
	if (iDbgFlg > 0) jdeFprintf(dlg,_J("***exit main (%d)...\n"), iErrorCode);
	jdeFflush(dlg); 

	if (iDbgFlg == 1) jdeFclose(dlg); 
lbFIN1:
	return iErrorCode;
}