Esempio n. 1
0
inline void do_rjsmc (
        vsmc::Sampler<T> &sampler, const std::string &,
        std::ostream &zconst_file, const std::string &,
        typename MoveType::alpha_type::value_type alpha_config,
        typename MoveType::proposal_type::value_type proposal_config,
        std::size_t repeat)
{
    sampler.move(MoveType(alpha_config, proposal_config), false);
    std::vector<double> cn(MaxCompNum);
    std::vector<double> w(sampler.size());
    for (std::size_t i = 0; i != cn.size(); ++i)
        cn[i] = 0;

    for (std::size_t i = 0; i != repeat; ++i) {
        if (repeat > 1)
            std::cout << "Run: " << i + 1 << std::endl;
        sampler.initialize();
        while (sampler.particle().value().state(0, 0).alpha() < 1)
            sampler.iterate();
        sampler.particle().weight_set().read_weight(&w[0]);
        for (typename vsmc::Sampler<T>::size_type j = 0;
                j != sampler.size(); ++j)
            cn[sampler.particle().value().state(j, 0).comp_num() - 1] += w[j];
        for (std::size_t j = 0; j != cn.size(); ++j)
            zconst_file << cn[j] << ' ';
        zconst_file << std::endl;
    }
}
Esempio n. 2
0
QVariant Certificate::detailResult(Certificate::Details detail) const
{
   switch(detail) {
      case Details::EXPIRATION_DATE                : return expirationDate                ();
      case Details::ACTIVATION_DATE                : return activationDate                ();
      case Details::REQUIRE_PRIVATE_KEY_PASSWORD   : return requirePrivateKeyPassword     ();
      case Details::PUBLIC_SIGNATURE               : return publicSignature               ();
      case Details::VERSION_NUMBER                 : return versionNumber                 ();
      case Details::SERIAL_NUMBER                  : return serialNumber                  ();
      case Details::ISSUER                         : return issuer                        ();
      case Details::SUBJECT_KEY_ALGORITHM          : return subjectKeyAlgorithm           ();
      case Details::CN                             : return cn                            ();
      case Details::N                              : return n                             ();
      case Details::O                              : return o                             ();
      case Details::SIGNATURE_ALGORITHM            : return signatureAlgorithm            ();
      case Details::MD5_FINGERPRINT                : return md5Fingerprint                ();
      case Details::SHA1_FINGERPRINT               : return sha1Fingerprint               ();
      case Details::PUBLIC_KEY_ID                  : return publicKeyId                   ();
      case Details::ISSUER_DN                      : return issuerDn                      ();
      case Details::NEXT_EXPECTED_UPDATE_DATE      : return nextExpectedUpdateDate        ();
      case Details::OUTGOING_SERVER                : return outgoingServer                ();

      case Details::COUNT__:
         Q_ASSERT(false);
   };
   return QVariant();
}
Esempio n. 3
0
// this should work if Internet Exploiter is installed
extern long wxCharsetToCodepage(const wxChar *name)
{
    if (!name)
        return GetACP();

    long CP = -1;

    wxString path(wxT("MIME\\Database\\Charset\\"));
    wxString cn(name);

    // follow the alias loop
    for ( ;; )
    {
        wxRegKey key(wxRegKey::HKCR, path + cn);

        if (!key.Exists())
            break;

        // two cases: either there's an AliasForCharset string,
        // or there are Codepage and InternetEncoding dwords.
        // The InternetEncoding gives us the actual encoding,
        // the Codepage just says which Windows character set to
        // use when displaying the data.
        if (key.HasValue(wxT("InternetEncoding")) &&
            key.QueryValue(wxT("InternetEncoding"), &CP))
            break;

        // no encoding, see if it's an alias
        if (!key.HasValue(wxT("AliasForCharset")) ||
            !key.QueryValue(wxT("AliasForCharset"), cn))
            break;
    }

    return CP;
}
Esempio n. 4
0
int main (int argc, char **argv)
{
    ros::init(argc, argv, "clothoid_main");
    ros::NodeHandle nh;
    ClothoidMainNode cn(nh);
    ros::spin();
}
Esempio n. 5
0
int main (int argc, char **argv)
{
#include "options_main.hpp"
#include "gmm_options.hpp"
    std::size_t BurninNum;
    std::size_t IterNum;
    Config
        .add("burnin_num", "Number of burin iterations",   &BurninNum, 10000)
        .add("iter_num",   "Number of recored iterations", &IterNum,   10000);
#include "options_process.hpp"

    //////////////////////////////////////////////////////////////////////

    vsmc::Sampler<gmm_state> sampler(Repeat);
    sampler.particle().value().ordered() = true;
    sampler
        .init(gmm_init_rjmcmc())
        .mcmc(gmm_move_mu(), true)
        .mcmc(gmm_move_lambda(), true)
        .mcmc(gmm_move_weight(), true)
        .mcmc(gmm_rj_sc<gmm_logodds_flat>(), true)
        .mcmc(gmm_rj_bd<gmm_logodds_flat>(), true);

    data_info info(DataNum, DataFile.c_str());
    sampler.initialize(&info);

    for (std::size_t d = 0; d != BurninNum; ++d) {
        if (!(d % 1000)) std::cout << "Burnin: " << d << std::endl;
        sampler.iterate();
    }

    std::vector<std::vector<std::size_t> > cn(Repeat);
    for (std::size_t i = 0; i != Repeat; ++i)
        cn[i].resize(MaxCompNum);
    for (std::size_t d = 0; d != IterNum; ++d) {
        if (!(d % 1000)) std::cout << "Iter: " << d << std::endl;
        sampler.iterate();
        for (std::size_t r = 0; r != Repeat; ++r)
            ++cn[r][sampler.particle().value().state(r,0).comp_num() - 1];
    }

    //////////////////////////////////////////////////////////////////////

    std::string zconst_file_name("rjmcmc." + Suffix);
    std::ofstream zconst_file;
    zconst_file.open(zconst_file_name.c_str());
    for (std::size_t r = 0; r != Repeat; ++r) {
        for (std::size_t d = 0; d != MaxCompNum; ++d)
            zconst_file << cn[r][d] / static_cast<double>(IterNum) << ' ';
        zconst_file << '\n';
    }
    zconst_file.close();
    zconst_file.clear();

    //////////////////////////////////////////////////////////////////////

    return 0;
}
// *****************************************************************************
// *                                                                           *
// * Function: dropOneTable                                                    *
// *                                                                           *
// *    Drops a table and all its dependent objects.                           *
// *                                                                           *
// *****************************************************************************
// *                                                                           *
// *  Parameters:                                                              *
// *                                                                           *
// *  <cliInterface>                  ExeCliInterface &               In       *
// *    is a reference to an Executor CLI interface handle.                    *
// *                                                                           *
// *  <catalogName>                   const char *                    In       *
// *    is the catalog of the table to drop.                                   *
// *                                                                           *
// *  <schemaName>                    const char *                    In       *
// *    is the schema of the table to drop.                                    *
// *                                                                           *
// *  <objectName>                    const char *                    In       *
// *    is the name of the table to drop.                                      *
// *                                                                           *
// *  <isVolatile>                    bool                            In       *
// *    is true if the object is volatile or part of a volatile schema.        *
// *                                                                           *
// *****************************************************************************
// *                                                                           *
// * Returns: bool                                                             *
// *                                                                           *
// * true: Could not drop table or one of its dependent objects.               *
// * false: Drop successful or could not set CQD for NATable cache reload.     *
// *                                                                           *
// *****************************************************************************
static bool dropOneTable(
   ExeCliInterface & cliInterface,
   const char * catalogName, 
   const char * schemaName, 
   const char * objectName,
   bool isVolatile)
   
{

char buf [1000];

bool someObjectsCouldNotBeDropped = false;

char volatileString[20] = {0};
Lng32 cliRC = 0;

   if (isVolatile)
      strcpy(volatileString,"VOLATILE");

   if (ComIsTrafodionExternalSchemaName(schemaName))
     str_sprintf(buf,"DROP EXTERNAL TABLE \"%s\" FOR \"%s\".\"%s\".\"%s\" CASCADE",
                 objectName,catalogName,schemaName,objectName);
   else
     str_sprintf(buf,"DROP %s TABLE \"%s\".\"%s\".\"%s\" CASCADE",
                 volatileString,catalogName,schemaName,objectName);
 
ULng32 savedParserFlags = Get_SqlParser_Flags(0xFFFFFFFF);

   try
   {            
      Set_SqlParser_Flags(INTERNAL_QUERY_FROM_EXEUTIL);
               
      cliRC = cliInterface.executeImmediate(buf);
   }
   catch (...)
   {
      // Restore parser flags settings to what they originally were
      Assign_SqlParser_Flags(savedParserFlags);
      
      throw;
   }
   
// Restore parser flags settings to what they originally were
   Set_SqlParser_Flags(INTERNAL_QUERY_FROM_EXEUTIL);
   
   if (cliRC < 0 && cliRC != -CAT_OBJECT_DOES_NOT_EXIST_IN_TRAFODION)
      someObjectsCouldNotBeDropped = true;
   
// remove NATable entry for this table
   CorrName cn(objectName,STMTHEAP,schemaName,catalogName);

   ActiveSchemaDB()->getNATableDB()->removeNATable(cn,
     NATableDB::REMOVE_FROM_ALL_USERS, COM_BASE_TABLE_OBJECT);

   return someObjectsCouldNotBeDropped;
   
}
Esempio n. 7
0
File: Stage.cpp Progetto: jwend/PDAL
PointViewSet Stage::execute(PointTableRef table)
{



    //printf("called %s\n", this->classname());
    log()->setLevel(LogLevel::Enum::Debug);

    std::string cn(this->classname());
    log()->setLeader(cn + " Stage::execute");
    log()->get(LogLevel::Debug) << "Called by class " << std::endl;

    table.layout()->finalize();

    PointViewSet views;
    if (m_inputs.empty())
    {
        log()->get(LogLevel::Debug) << "if block, class" << std::endl;
        views.insert(PointViewPtr(new PointView(table)));
    }
    else
    {
        for (size_t i = 0; i < m_inputs.size(); ++i)
        {
            log()->get(LogLevel::Debug) << "block, class"
                    << "input number "<< i << std::endl;
            log()->get(LogLevel::Debug) << "if block, class" << std::endl;
            Stage *prev = m_inputs[i];
            PointViewSet temp = prev->execute(table);
            views.insert(temp.begin(), temp.end());
        }
    }

    PointViewSet outViews;
    std::vector<StageRunnerPtr> runners;

    ready(table);
    for (auto const& it : views)
    {
        log()->get(LogLevel::Debug) << "run, class" << std::endl;
        StageRunnerPtr runner(new StageRunner(this, it));
        runners.push_back(runner);
        runner->run();
    }
    for (auto const& it : runners)
    {
        log()->get(LogLevel::Debug) << "wait, class" << std::endl;
        StageRunnerPtr runner(it);
        PointViewSet temp = runner->wait();
        outViews.insert(temp.begin(), temp.end());
    }
    l_done(table);
    done(table);
    return outViews;
}
Esempio n. 8
0
RcppExport SEXP GetAllPoints(SEXP x,SEXP n,SEXP c) {

    try {
	Rcpp::XPtr< flann::Index<flann::L2<float> >  > index(x);
	Rcpp::NumericVector npoints(n);
	Rcpp::NumericVector cn(c);
	int colNum = cn[0];

	float *data = new float[colNum];
	
	for(int i=0;i<colNum;i++) {
	    data[i] = 0;
	    i++;
	}

	flann::Matrix<float> dataset = flann::Matrix<float>(data,1,colNum);

	delete [] data;

	std::vector< std::vector<int> > indices;
	std::vector< std::vector<float> > dists;

	index->knnSearch(dataset,indices,dists,npoints[0],flann::SearchParams(-1));

	std::sort (indices[0].begin(), indices[0].end()); 

	Rcpp::NumericMatrix results(indices[0].size(), colNum);
	Rcpp::IntegerVector rownames;

	int num = indices[0].size();

	//#pragma omp parallel for ordered schedule(dynamic)
	for(int i=0;i<num;i++) {
	    float* indexPoint = index->getPoint(indices[0][i]);
	    for(int j=0;j<colNum;j++) {
		results(i,j)=(*(indexPoint+j));
	    }

	    //#pragma omp ordered
	    rownames.push_back(indices[0][i]);
	}

	Rcpp::List dimnms = Rcpp::List::create(rownames, Rcpp::Range(1,colNum));
	results.attr("dimnames") = dimnms;

	return results;

    } catch( std::exception &ex ) {		// or use END_RCPP macro
	forward_exception_to_r( ex );
    } catch(...) {
	::Rf_error( "c++ exception (unknown reason)" );
    }
    return R_NilValue; // -Wall
}
Esempio n. 9
0
void CTableFrameSink::logCard( WORD wChairID )
{
	IServerUserItem *pIServerUserItem=m_pITableFrame->GetServerUserItem(wChairID);
	if(pIServerUserItem == NULL) return;

	m_oLog.Log(TEXT("玩家:%s 机器人[%s] 手牌:[%s%s][%s%s][%s%s][%s%s][%s%s] 牌型:%s") , pIServerUserItem->GetAccounts() , pIServerUserItem->IsAndroidUser()?"是":"否" , 
		cn(m_cbHandCardData[wChairID][0]),vn(m_cbHandCardData[wChairID][0]),cn(m_cbHandCardData[wChairID][1]),vn(m_cbHandCardData[wChairID][1]),cn(m_cbHandCardData[wChairID][2]),vn(m_cbHandCardData[wChairID][2]),
		cn(m_cbHandCardData[wChairID][3]),vn(m_cbHandCardData[wChairID][3]),cn(m_cbHandCardData[wChairID][4]),vn(m_cbHandCardData[wChairID][4]) , CardTypeName(m_GameLogic.GetBestCardType(m_cbHandCardData[wChairID],MAX_COUNT)));
	m_oLog.Log(TEXT("玩家:%s 机器人[%s] 奖励牌:[%s%s][%s%s][%s%s][%s%s][%s%s] 相同牌数:%d" ) , pIServerUserItem->GetAccounts() , pIServerUserItem->IsAndroidUser()?"是":"否" , 
		cn(m_cbRewardCardData[wChairID][0]),vn(m_cbRewardCardData[wChairID][0]),cn(m_cbRewardCardData[wChairID][1]),vn(m_cbRewardCardData[wChairID][1]),cn(m_cbRewardCardData[wChairID][2]),vn(m_cbRewardCardData[wChairID][2]),
		cn(m_cbRewardCardData[wChairID][3]),vn(m_cbRewardCardData[wChairID][3]),cn(m_cbRewardCardData[wChairID][4]),vn(m_cbRewardCardData[wChairID][4]),m_GameLogic.GetSameCount(m_cbHandCardData[wChairID], m_cbRewardCardData[wChairID]) );

}
Esempio n. 10
0
vector<colorNode> generateColors(int clr){
	vector<colorNode> colornodes;
	if(currentState->depth==0){
		colorNode cn(clr,1);
		colornodes.push_back(cn);
		return colornodes;
	}
	for(int k=0;k<board_Size;k++){
		if(colorCount[k]<board_Size){
			double y=(board_Size*board_Size-count);
			double x=(board_Size-colorCount[k]);
			double p=x/y;
			colorNode cn(color[k],p);
			colornodes.push_back(cn);
		}
		else{
			break;
		}
	}
	return colornodes;
}
Esempio n. 11
0
//static
void CSensProblem::copySensItemToParameterGroup(const CSensItem * si, CCopasiParameterGroup *pg)
{
  CCommonName cn("");

  if (!pg) return; if (!si) return;

  if (si->isSingleObject())
    cn = si->getSingleObjectCN();

  pg->setValue("SingleObject", cn);
  pg->setValue("ObjectListType", (unsigned C_INT32)si->getListType());
}
Esempio n. 12
0
CorbaNameExList getIt()
{
	CorbaNameExList t;
	int i = 0;
	while (i < 2000000)
	{
		CorbaNameEx cn(i, 2, 3, "namexxxxx");
		t.push_back(cn);
		i = i + 1;
	}

	return t;
};
Esempio n. 13
0
void
OCSPCache::LogWithCerts(const char* aMessage, const CERTCertificate* aCert,
                        const CERTCertificate* aIssuerCert)
{
#ifdef PR_LOGGING
  if (PR_LOG_TEST(gCertVerifierLog, PR_LOG_DEBUG)) {
    mozilla::pkix::ScopedPtr<char, mozilla::psm::PORT_Free_string>
      cn(CERT_GetCommonName(&aCert->subject));
    mozilla::pkix::ScopedPtr<char, mozilla::psm::PORT_Free_string>
      cnIssuer(CERT_GetCommonName(&aIssuerCert->subject));
    PR_LOG(gCertVerifierLog, PR_LOG_DEBUG, (aMessage, cn.get(), cnIssuer.get()));
  }
#endif
}
Esempio n. 14
0
int main(int argc, char **argv) {

	int tilt = 30;

	int skip = 30;

	pcl::console::parse_argument(argc, argv, "-skip", skip);
	pcl::console::parse_argument(argc, argv, "-tilt", tilt);

	ros::init(argc, argv, "convert_node");
	ConvertNode cn(tilt, skip);
	ros::spin();

	return 0;
}
Esempio n. 15
0
static String condition_file_name(LString * file_name)
    {
    int len_name = (int) strcspn(file_name->c_str(), ".");
    if ((len_name > 10) || ( len_name <= 0))
        len_name = 10;
    char *conditioned_name = new char[len_name + 1];
    strncpy(conditioned_name, file_name->c_str(), len_name);
    conditioned_name[len_name] = (char)NULL;

    int illegal_char_off;
    while ((illegal_char_off = strspn(conditioned_name,legal_var_name_chars)) < len_name)
        {
        conditioned_name[illegal_char_off] = '_';
        }
    String cn(conditioned_name);
    delete [] conditioned_name;
    return(cn);
    }
Esempio n. 16
0
void PersonItem::showMemoName()
{
    // load data
    ConfigureData *config = ConfigureData::getInstance();
    nameFlag = config->getIntIni("show_name");
    if (nameFlag == 1)
    {
        if (jsondata)
        {
            QString nick = jsondata->getNickname();
            if (nick.isEmpty())
                setName(jsondata->getGsoapip());
            else
                setName(nick);
        }
    }
    else
    {
        if (memoname.isEmpty())
        {
            if (jsondata)
            {
                QString nick = jsondata->getNickname();
                if (nick.isEmpty())
                    setName(jsondata->getGsoapip());
                else
                    setName(nick);
            }
            else
            {
                setName(cn("昵称获取中"));
            }
        }
        else
        {
            setName(memoname);
        }
    }

    if (chat)
    {
        chat->setChatTitle(cns("与") + name->text() + cns("聊天中"), emoji->ImagePath());
    }
}
Esempio n. 17
0
static int LUA_C_SerialCommGets(lua_State* ls)
  {
  HKEY hKey;
  DWORD rets = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
                            TEXT("Hardware\\DeviceMap\\SerialComm"),
                            NULL, KEY_READ, &hKey);
  if(ERROR_SUCCESS != rets)
    {
    lua_pushstring(ls,
                   (
                   xmsg() << "查询串口失败 : "
                   << (intptr_t)rets << " : " << (intptr_t)GetLastError()
                   ).c_str());
    return lua_error(ls);
    }

  lua_newtable(ls);

  TCHAR port_name[MAX_PATH];
  TCHAR com_name[MAX_PATH];
  for(size_t index = 0; true; ++index)
    {
    DWORD dwLong = _countof(port_name);
    DWORD dwSize = _countof(com_name);
    rets = RegEnumValue(hKey, index, port_name, &dwLong, nullptr, nullptr,
                        (LPBYTE)com_name, &dwSize);
    if(ERROR_NO_MORE_ITEMS == rets) break;
    if(ERROR_SUCCESS != rets)
      {
      CloseHandle(hKey);
      lua_pushstring(ls,
                     (
                     xmsg() << "枚举串口失败 : "
                     << (intptr_t)rets << " : " << (intptr_t)GetLastError()
                     ).c_str());
      return lua_error(ls);
      }
    string cn(ws2s(com_name));
    lua_pushlstring(ls, cn.c_str(), cn.size());
    lua_rawseti(ls, -2, index + 1);
    }
  CloseHandle(hKey);
  return 1;
  }
Esempio n. 18
0
/* Parses name part of format string. Returns pointer to next char to parse or
 * NULL on error. */
static const char *
parse_name(map_name_cb cn, const char *str, column_info_t *info)
{
	if(*str == '{')
	{
		const char *closing_brace = strchr(str + 1, '}');
		if(closing_brace != NULL)
		{
			char name[16];
			size_t len = MIN(sizeof(name), closing_brace - (str + 1) + 1);
			(void)snprintf(name, len, "%s", str + 1);
			if((info->column_id = cn(name)) >= 0)
			{
				return closing_brace + 1;
			}
		}
	}
	return NULL;
}
Esempio n. 19
0
    bool PureImageCache::PutImageToCache(const QByteArray &tile, const MapType::Types &type,const Point &pos,const int &zoom)
    {
        if(gtilecache.isEmpty()|gtilecache.isNull())
            return false;
        lock.lockForRead();
#ifdef DEBUG_PUREIMAGECACHE
        qDebug()<<"PutImageToCache Start:";//<<pos;
#endif //DEBUG_PUREIMAGECACHE
        Mcounter.lock();
        qlonglong id=++ConnCounter;
        Mcounter.unlock();
        {
            QSqlDatabase cn(QSqlDatabase::addDatabase("QSQLITE",QString::number(id)));
            QString db=gtilecache+"Data.qmdb";
            cn.setDatabaseName(db);
            cn.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE");
            if(cn.open())
            {
                {
                    QSqlQuery query(cn);
                    query.prepare("INSERT INTO Tiles(X, Y, Zoom, Type,Date) VALUES(?, ?, ?, ?,?)");
                    query.addBindValue(pos.X());
                    query.addBindValue(pos.Y());
                    query.addBindValue(zoom);

                    query.addBindValue((int)type);
                    query.addBindValue(QDateTime::currentDateTime().toString());
                    query.exec();
                }
                {
                    QSqlQuery query(cn);
                    query.prepare("INSERT INTO TilesData(id, Tile) VALUES((SELECT last_insert_rowid()), ?)");
                    query.addBindValue(tile);
                    query.exec();
                }
                cn.close();
            }
        }
        QSqlDatabase::removeDatabase(QString::number(id));
        lock.unlock();
        return true;
    }
void LinkPredictionGTest::SetUp() {
  G.addEdge(0, 1);
  G.addEdge(0, 3);
  G.addEdge(1, 2);
  G.addEdge(1, 4);
  G.addEdge(2, 3);
  G.addEdge(2, 4);
  G.addEdge(2, 5);
  G.addEdge(3, 4);
  G.addEdge(3, 5);
  G.addEdge(4, 5);
  trainingGraph = G;
  trainingGraph.removeEdge(0, 1);
  trainingGraph.removeEdge(2, 4);
  trainingGraph.removeEdge(3, 5);
  missingLinks = MissingLinksFinder(trainingGraph).findAtDistance(2);
  CommonNeighborsIndex cn(trainingGraph);
  predictions = cn.runOn(missingLinks);
  PredictionsSorter::sortByScore(predictions);
}
Esempio n. 21
0
/* Parses name part of format string. Returns pointer to next char to parse or
 * NULL on error. */
static const char *
parse_name(map_name_cb cn, const char str[], column_info_t *info, void *arg)
{
	if(*str == '{')
	{
		const char *closing_brace = strchr(str + 1, '}');
		if(closing_brace != NULL)
		{
			char name[16];
			const size_t len = MIN(sizeof(name),
					(size_t)(closing_brace - (str + 1) + 1));
			(void)copy_str(name, len, str + 1);
			if((info->column_id = cn(name, arg)) >= 0)
			{
				return closing_brace + 1;
			}
		}
	}
	return NULL;
}
Esempio n. 22
0
//static
void CSensProblem::copyParameterGroupToSensItem(const CCopasiParameterGroup *pg, CSensItem * si)
{

  if (!pg) return; if (!si) return;

  const CCommonName * pCN = &pg->getValue< CCommonName >("SingleObject");
  const CObjectLists::ListType* pLT = &pg->getValue< CObjectLists::ListType >("ObjectListType");

  CCommonName cn("");

  if (pCN) cn = *pCN;

  CObjectLists::ListType lt = (CObjectLists::ListType)0;

  if (pLT) lt = *pLT;

  //  if (cn != "")
  si->setSingleObjectCN(cn);
  //  else
  si->setListType(lt);
}
Esempio n. 23
0
void PureImageCache::deleteOlderTiles(int const& days)
{
    if(gtilecache.isEmpty()|gtilecache.isNull())
        return;
    QList<long> add;
    bool ret=true;
    QString dir=gtilecache;
    {
        QString db=dir+"Data.qmdb";
        ret=QFileInfo(db).exists();
        if(ret)
        {
            Mcounter.lock();
            qlonglong id=++ConnCounter;
            Mcounter.unlock();
            addDatabaseMutex.lock();
            QSqlDatabase cn(QSqlDatabase::addDatabase("QSQLITE",QString::number(id)));
            addDatabaseMutex.unlock();
            cn.setDatabaseName(db);
            cn.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE");
            if(cn.open())
            {
                {
                    QSqlQuery query(cn);
                    query.exec(QString("SELECT id, X, Y, Zoom, Type, Date FROM Tiles"));
                    while(query.next())
                    {
                        if(QDateTime::fromString(query.value(5).toString()).daysTo(QDateTime::currentDateTime())>days)
                            add.append(query.value(0).toLongLong());
                    }
                    foreach(long i,add)
                    {
                        query.exec(QString("DELETE FROM Tiles WHERE id = %1;").arg(i));
                    }
                }

                cn.close();
            }
Esempio n. 24
0
LUALIB_API int luaX_loadfile (lua_State *L, LPCTSTR fn, LPCTSTR fp)
{
	lua_checkstack(L, 2);
	CString cn(fn);
	CString ep(fp);
	int p = cn.Find(ep);
	if (p >= 0) cn = CString("\\") + cn.Mid(p + ep.GetLength());
	cn = CString('@') + cn;
	int sz = cn.GetLength();
	int bs = WideCharToMultiByte(CP_THREAD_ACP, 0, cn, sz + 1, NULL, 0, NULL, NULL);
	char* chunkname = new char[bs];
	int rs = WideCharToMultiByte(CP_THREAD_ACP, 0, cn, sz + 1, chunkname, bs, NULL, NULL);
	LuaX_LoadF lf;
	int r = 0;
	if (_wfopen_s(&lf.f, fn, TEXT("r")) != 0) r = LUA_ERRFILE;
	if (r != 0)
		luaX_pushstring(L, CString("Cannot open script file: ") + fn);
	else
		r = lua_load(L, LuaX_FileReader, &lf, chunkname, NULL);
	delete chunkname;
	if (lf.f != NULL) fclose(lf.f);
	return r;
}
Esempio n. 25
0
int main(int argc,char**argv)
{
    try
    {
		if (argc != 2)
		{
			printf("usage: ./client ip:port\n");
			exit(-1);
		}

        sg::Service client_svc;
        
	    UdpClient cn(argv[1], client_svc);
        if (!cn.connectServer())
        {
            LOG(error, "connect to 127.0.0.1:1234 failed");
            return -1;
        }
        
		echo::EchoTestRequest echo_req;
		echo_req.set_msg("hello world!");
        
	    echo::EchoTestResponse echo_resp;
	    cn.syncRequest<echo::EchoTest>(echo_req, &echo_resp);
		LOG(error, "receive SyncRequest " << echo_resp.msg().c_str());
        
		cn.asynRequest<echo::EchoTest>(echo_req, boost::bind(&test_call, _1));

		sleep(100);
    }
    catch (exception& e)
    {
        LOG(error, EXCEPTION_DIAG_INFO(e));
    }

    return 0;
}
Esempio n. 26
0
    QByteArray PureImageCache::GetImageFromCache(MapType::Types type, Point pos, int zoom)
    {
        lock.lockForRead();
        QByteArray ar;
        if(gtilecache.isEmpty()|gtilecache.isNull())
            return ar;
        QString dir=gtilecache;
        Mcounter.lock();
        qlonglong id=++ConnCounter;
        Mcounter.unlock();
#ifdef DEBUG_PUREIMAGECACHE
        qDebug()<<"Cache dir="<<dir<<" Try to GET:"<<pos.X()<<","<<pos.Y();
#endif //DEBUG_PUREIMAGECACHE

            QString db=dir+"Data.qmdb";
			{
				QSqlDatabase cn(QSqlDatabase::addDatabase("QSQLITE",QString::number(id)));

	            cn.setDatabaseName(db);
		        cn.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE");
			    if(cn.open())
				{
					QSqlQuery query(cn);
					query.exec(QString("SELECT Tile FROM TilesData WHERE id = (SELECT id FROM Tiles WHERE X=%1 AND Y=%2 AND Zoom=%3 AND Type=%4)").arg(pos.X()).arg(pos.Y()).arg(zoom).arg((int) type));
					query.next();
					if(query.isValid())
					{
						ar=query.value(0).toByteArray();
					}
					cn.close();
				}
			}
			QSqlDatabase::removeDatabase(QString::number(id));
        lock.unlock();
        return ar;
    }
Esempio n. 27
0
void SpawnShell::consMessage(const considerStruct * con, uint32_t, uint8_t dir) 
{
  Item* item;
  Spawn* spawn;

  if (dir == DIR_CLIENT)
  {
    if (con->playerid != con->targetid) 
    {
      item = m_spawns.find(con->targetid);
      if (item != NULL)
      {
	spawn = (Spawn*)item;

	// note that this spawn has been considered
	spawn->setConsidered(true);
	
	emit spawnConsidered(item);
      }
    }
    return;
  }

  QString lvl("");
  QString hps("");
  QString cn("");

  QString msg("Faction: Your faction standing with ");

  //printf("%i, %i, %i, %i\n", con->unknown1[0], con->unknown1[1], con->unknown2[0], con->unknown2[1]);

  // is it you that you've conned?
  if (con->playerid == con->targetid) 
  {
    // print it's deity
    printf("Diety: %s\n", (const char*)m_player->deityName());
    
    // well, this is You
    msg += "YOU";
  }
  else 
  {
    // find the spawn if it exists
    item = m_spawns.find(con->targetid);
    
    // has the spawn been seen before?
    if (item != NULL)
    {
      Spawn* spawn = (Spawn*)item;
      // yes
      printf("Diety: %s\n", (const char*)spawn->deityName());

      int changed = tSpawnChangedNone;

      /* maxhp and curhp are available when considering players, */
      /* but not when considering mobs. */
      if (con->maxHp || con->curHp)
      {
         if (spawn->NPC() == SPAWN_NPC_UNKNOWN)
         {
	   spawn->setNPC(SPAWN_PLAYER);        // player
	   changed |= tSpawnChangedNPC;
         }
         spawn->setMaxHP(con->maxHp);
         spawn->setHP(con->curHp);
         changed |= tSpawnChangedHP;
      }
      else if (item->NPC() == SPAWN_NPC_UNKNOWN)
      {
         spawn->setNPC(SPAWN_NPC);
         changed |= tSpawnChangedNPC;
      }

      // note the updates if any
      if (changed != tSpawnChangedNone)
      {
        if (updateFilterFlags(item))
           changed |= tSpawnChangedFilter;
        if (updateRuntimeFilterFlags(item))
           changed |= tSpawnChangedRuntimeFilter;

	item->updateLastChanged();
        emit changeItem(item, changed);
      }

      // note that this spawn has been considered
      spawn->setConsidered(true);

      emit spawnConsidered(item);

      msg += item->name();
    } // end if spawn found
    else
      msg += "Spawn:" + QString::number(con->targetid, 16);
  } // else not yourself
  
  switch (con->level) 
  {
     case 0:
     {
        cn.sprintf(" (even)");
        break;
     }
     case 2:
     {
        cn.sprintf(" (green)");
        break;
     }
     case 4:
     {
        cn.sprintf(" (blue)");
        break;
     }
     case 13:
     {
        cn.sprintf(" (red)");
        break;
     }
     case 15:
     {
        cn.sprintf(" (yellow)");
        break;
     }
     case 18:
     {
        cn.sprintf(" (cyan)");
        break;
     }
     default:
     {
        cn.sprintf(" (unknown: %d)", con->level);
        break;
     }
  }

  msg += cn;

  if (con->maxHp || con->curHp)
  {
    lvl.sprintf(" (%i/%i HP)", con->curHp, con->maxHp);
    msg += lvl;
  }
  
  msg += QString(" is: ") + print_faction(con->faction) + " (" 
    + QString::number(con->faction) + ")!";
  
  emit msgReceived(msg);
} // end consMessage()
Esempio n. 28
0
void MessageShell::consMessage(const uint8_t* data, size_t, uint8_t dir) 
{
  const considerStruct * con = (const considerStruct*)data;
  const Item* item;

  QString lvl("");
  QString hps("");
  QString cn("");
  QString deity;

  QString msg("Your faction standing with ");

  // is it you that you've conned?
  if (con->playerid == con->targetid) 
  {
    deity = m_player->deityName();
    
    // well, this is You
    msg += m_player->name();
  }
  else 
  {
    // find the spawn if it exists
    item = m_spawnShell->findID(tSpawn, con->targetid);
    
    // has the spawn been seen before?
    if (item != NULL)
    {
      Spawn* spawn = (Spawn*)item;

      // yes
      deity = spawn->deityName();

      msg += item->name();
    } // end if spawn found
    else
      msg += "Spawn:" + QString::number(con->targetid, 16);
  } // else not yourself
  
  switch (con->level) 
  {
  case 0:
  case 20:
    msg += " (even)";
    break;
  case 2:
    msg += " (green)";
    break;
  case 4:
    msg += " (blue)";
    break;
  case 13:
    msg += " (red)";
    break;
  case 15:
    msg += " (yellow)";
    break;
  case 18:
    msg += " (cyan)";
    break;
  default:
    msg += " (unknown: " + QString::number(con->level) + ")";
    break;
  }

  if (!deity.isEmpty())
    msg += QString(" [") + deity + "]";

  if (con->maxHp || con->curHp)
  {
    lvl.sprintf(" (%i/%i HP)", con->curHp, con->maxHp);
    msg += lvl;
  }
  
  msg += QString(" is: ") + print_faction(con->faction) + " (" 
    + QString::number(con->faction) + ")!";

  m_messages->addMessage(MT_Consider, msg);
} // end consMessage()
Esempio n. 29
0
//游戏开始
void CTableFrameSink::GameStart()
{
	m_oLog.Log("//////-------游戏开始--------////////");
	for(int i=0; i<GAME_PLAYER; i++)
	{
		IServerUserItem * pIServerUserItem = m_pITableFrame->GetServerUserItem(i);
		if (pIServerUserItem == NULL) continue;
		if (!pIServerUserItem->IsAndroidUser())
		{
			m_oLog.Log("玩家[%s] 带入筹码[%I64d]" , pIServerUserItem->GetAccounts() , pIServerUserItem->GetUserScore()->lBodyChip);
		}
	}
	CountDownTime(INVALID_CHAIR);
 	CMD_S_GameStart GameStart;
	ZeroMemory(&GameStart,sizeof(GameStart));
	//强发聚宝盆
	//m_oLog.Log("强发状态:%s",m_bMeetConditions?"已经进行过强发,还未清除状态不能强发!":"未进行过强发,可以强发!");
	bool bSuccess = false;//= ForceDispathCard();
	//m_oLog.Log("1");
	while (!bSuccess)
	{
		//m_oLog.Log("2");
		bSuccess = DispathCard();
	}
	
	//随机喜金牌
	ZeroMemory(m_cbRewardCardData,sizeof(m_cbRewardCardData));
	for (int i=0; i<GAME_PLAYER; i++)
	{
		if (m_cbPlayStatus[i] == FALSE) continue;
		m_GameLogic.RandCardList(m_cbRewardCardData[i],MAX_COUNT);
	}
	
	//测试配牌
 	if (m_bCheat)
 	{
 		for (int i=0; i<GAME_PLAYER; i++)
 		{
 			if (m_cbCheatCardData[i][0] == 0)continue;
 			CopyMemory(m_cbHandCardData[i], m_cbCheatCardData[i],MAX_COUNT);
 	
 		}
 		for (int i=0; i<GAME_PLAYER; i++)
 		{
 			if (m_cbCheatRewardCard[i][0] ==0)continue;
 			{
 				CopyMemory(m_cbRewardCardData[i], m_cbCheatRewardCard[i], MAX_COUNT);
 			}
 		}
 	}

	m_oLog.Log("原始手牌:");

	for(int i=0; i<GAME_PLAYER; i++)
	{
		//获取用户
		IServerUserItem *pIServerUser=m_pITableFrame->GetServerUserItem(i);
		if(pIServerUser==NULL) continue;
		m_oLog.Log("%s手牌:[%s%s][%s%s][%s%s][%s%s][%s%s]---牌型为[%s]",pIServerUser->GetUserData()->szAccounts,cn(m_cbHandCardData[i][0]),vn(m_cbHandCardData[i][0]),
			cn(m_cbHandCardData[i][1]),vn(m_cbHandCardData[i][1]),cn(m_cbHandCardData[i][2]),vn(m_cbHandCardData[i][2]),cn(m_cbHandCardData[i][3]),vn(m_cbHandCardData[i][3]),
			cn(m_cbHandCardData[i][4]),vn(m_cbHandCardData[i][4]),CardTypeName(m_GameLogic.GetBestCardType(m_cbHandCardData[i],MAX_COUNT)));
	}
	
	m_oContral.ControlDispath(m_cbHandCardData, m_cbPlayStatus);

	m_oLog.Log("控制后手牌:");

	for(int i=0; i<GAME_PLAYER; i++)
	{
		//获取用户
		IServerUserItem *pIServerUser=m_pITableFrame->GetServerUserItem(i);
		if(pIServerUser==NULL) continue;
		m_oLog.Log("%s手牌:[%s%s][%s%s][%s%s][%s%s][%s%s]---牌型为[%s]",pIServerUser->GetUserData()->szAccounts,cn(m_cbHandCardData[i][0]),vn(m_cbHandCardData[i][0]),
			cn(m_cbHandCardData[i][1]),vn(m_cbHandCardData[i][1]),cn(m_cbHandCardData[i][2]),vn(m_cbHandCardData[i][2]),cn(m_cbHandCardData[i][3]),vn(m_cbHandCardData[i][3]),
			cn(m_cbHandCardData[i][4]),vn(m_cbHandCardData[i][4]),CardTypeName(m_GameLogic.GetBestCardType(m_cbHandCardData[i],MAX_COUNT)));
	}
// 	
	//发送扑克
	for (WORD i=0;i<m_wPlayerCount;i++)
	{
		if(m_cbPlayStatus[i]==FALSE)continue;
		
		CopyMemory(GameStart.cbPlayStatus, m_cbPlayStatus,sizeof(m_cbPlayStatus));
		//派发扑克
		CopyMemory(GameStart.cbCardData[i],m_cbHandCardData[i],MAX_COUNT);
		std::random_shuffle(GameStart.cbCardData[i], GameStart.cbCardData[i]+MAX_COUNT);
		//派发喜金扑克
		CopyMemory(GameStart.cbRewardCardData[i], m_cbRewardCardData[i],MAX_COUNT);
		//发送数据
		m_pITableFrame->SendTableData(i,SUB_S_GAME_START,&GameStart,sizeof(GameStart));
		ZeroMemory(GameStart.cbCardData, sizeof(GameStart.cbCardData));
	}


	m_pITableFrame->SendLookonData(INVALID_CHAIR,SUB_S_GAME_START,&GameStart,sizeof(GameStart));


}
Esempio n. 30
0
void tst_QGeometryData::appendVertexNormal()
{
    QVector3D a(1.1, 1.2, 1.3);
    QVector3D b(2.1, 2.2, 2.3);
    QVector3D c(3.1, 3.2, 3.3);
    QVector3D d(4.1, 4.2, 4.3);
    QVector3D an(5.1, 5.2, 5.3);
    QVector3D bn(6.1, 6.2, 6.3);
    QVector3D cn(7.1, 7.2, 7.3);
    QVector3D dn(8.1, 8.2, 8.3);
    {
        QGeometryData data;
        data.appendVertex(a);
        data.appendNormal(an);
        QCOMPARE(data.count(), 1);
        QCOMPARE(data.fields(), QGL::fieldMask(QGL::Position) | QGL::fieldMask(QGL::Normal));
        QCOMPARE(data.vertices().count(), 1);
        QCOMPARE(data.vertices().at(0), a);
    }
    {
        QGeometryData data;
        data.appendVertex(a, b);
        data.appendNormal(an, bn);
        QCOMPARE(data.count(), 2);
        QCOMPARE(data.fields(), QGL::fieldMask(QGL::Position) | QGL::fieldMask(QGL::Normal));
        QCOMPARE(data.vertices().count(), 2);
        QCOMPARE(data.vertices().at(0), a);
        QCOMPARE(data.vertex(1), b);
        QCOMPARE(data.normals().count(), 2);
        QCOMPARE(data.normal(0), an);
        QCOMPARE(data.normals().at(1), bn);
    }
    {
        QGeometryData data;
        data.appendVertex(a, b, c);
        data.appendNormal(an, bn, cn);
        QCOMPARE(data.count(), 3);
        QCOMPARE(data.fields(), QGL::fieldMask(QGL::Position) | QGL::fieldMask(QGL::Normal));
        QCOMPARE(data.vertices().count(), 3);
        QCOMPARE(data.vertices().at(0), a);
        QCOMPARE(data.vertices().at(1), b);
        QCOMPARE(data.vertices().at(2), c);
        QCOMPARE(data.normals().count(), 3);
        QCOMPARE(data.normal(0), an);
        QCOMPARE(data.normals().at(1), bn);
        QCOMPARE(data.normal(2), cn);
    }
    {
        QGeometryData data;
        data.appendVertex(a, b, c, d);
        data.appendNormal(an, bn, cn, dn);
        QCOMPARE(data.count(), 4);
        QCOMPARE(data.fields(), QGL::fieldMask(QGL::Position) | QGL::fieldMask(QGL::Normal));
        QCOMPARE(data.vertices().count(), 4);
        QCOMPARE(data.vertices().at(0), a);
        QCOMPARE(data.vertices().at(1), b);
        QCOMPARE(data.vertices().at(2), c);
        QCOMPARE(data.vertices().at(3), d);
        QCOMPARE(data.normals().count(), 4);
        QCOMPARE(data.normals().at(0), an);
        QCOMPARE(data.normals().at(1), bn);
        QCOMPARE(data.normals().at(2), cn);
        QCOMPARE(data.normals().at(3), dn);
    }
    {
        QGeometryData data;
        data.appendVertex(a, b, c, d);
        data.appendNormal(an, bn, cn, dn);
        data.appendVertex(a, b, c, d);
        data.appendNormal(an, bn, cn, dn);
        data.appendVertex(a);
        data.appendNormal(an);
        QCOMPARE(data.count(), 9);
        QCOMPARE(data.fields(), QGL::fieldMask(QGL::Position) | QGL::fieldMask(QGL::Normal));
        QCOMPARE(data.vertices().count(), 9);
        QCOMPARE(data.vertices().at(0), a);
        QCOMPARE(data.vertices().at(1), b);
        QCOMPARE(data.vertices().at(5), b);
        QCOMPARE(data.vertices().at(8), a);
        QCOMPARE(data.normals().count(), 9);
        QCOMPARE(data.normals().at(0), an);
        QCOMPARE(data.normals().at(1), bn);
        QCOMPARE(data.normals().at(5), bn);
        QCOMPARE(data.normals().at(8), an);
    }
}