bool OSegScenario::generateOnePing(const Time& t, PingInfo* result) { generatePairs(); double which =(rand()/(double)RAND_MAX); if (!mSendCDF.empty()) { FlowCDF::iterator where; { MessageFlow comparator; comparator.cumulativeProbability=which; if (rand()<mFractionMessagesUniform*RAND_MAX) where=mSendCDF.begin()+which*(mSendCDF.size()-1); else where=std::lower_bound(mSendCDF.begin(),mSendCDF.end(),comparator); } if (where==mSendCDF.end()) { --where; } result->objB = where->source; result->objA = where->dest; result->dist = where->dist; result->ping = new Sirikata::Protocol::Object::Ping(); mContext->objectHost->fillPing(result->dist, mPingPayloadSize, result->ping); return true; } return false; }
void ZendParser::extractTypes(const string &line, vector<pair<string, string>> &out, vector<string> &tmp) { vector<string> tmpOut; const string lineStripped = stripCmments(line); // cout << "--NEW--" << "\n"; regexer->findAll(tmp, lineStripped, RGX_NEW, -1); // for(string v:tmp) { // cout << v << "\n"; // } tmpOut.insert(tmpOut.begin(), tmp.begin(), tmp.end()); regexer->findAll(tmp, lineStripped, RGX_INSTANCEOF, -1); tmpOut.insert(tmpOut.begin(), tmp.begin(), tmp.end()); regexer->findAll(tmp, lineStripped, RGX_STATIC_CALL, -1); tmpOut.insert(tmpOut.begin(), tmp.begin(), tmp.end()); regexer->findAll(tmp, lineStripped, RGX_SIGNATURE, -1); tmpOut.insert(tmpOut.begin(), tmp.begin(), tmp.end()); generatePairs(out, tmpOut); // for(pair<string, string> v:out) { // cout << v.second << "\n"; // } // for(string v:tmpOut) { // cout << v << "\n"; // } }