void flushPackage(const QServicePackage& package) { QByteArray block; QDataStream out(&block, QIODevice::WriteOnly); out.setVersion(QDataStream::Qt_4_6); out << package; QByteArray sizeblock; QDataStream outsize(&sizeblock, QIODevice::WriteOnly); outsize.setVersion(QDataStream::Qt_4_6); quint32 size = block.length(); outsize << size; int bytes = socket->write(sizeblock); if (bytes != sizeof(quint32)) { qWarning() << "Failed to write length"; socket->close(); return; } bytes = socket->write(block); if (bytes != block.length()){ qWarning() << "Can't send package, socket error" << block.length() << bytes; socket->close(); return; } }
static int _striped_text_export(const struct lv_segment *seg, struct formatter *f) { outf(f, "stripe_count = %u%s", seg->area_count, (seg->area_count == 1) ? "\t# linear" : ""); if (seg->area_count > 1) outsize(f, (uint64_t) seg->stripe_size, "stripe_size = %u", seg->stripe_size); return out_areas(f, seg, "stripe"); }
int main(int argc, char*argv[]){ int ttype=1; int htype=4; int iterationnum=100; double threshold=0.15; int i; srand( (unsigned)time( NULL ) ); char *infilename=new char[50]; for(i=1;i<argc;i++){ if(argv[i][0] != '-') break; if(++i>=argc) exit_with_help(); switch(argv[i-1][1]){ case 't': ttype=atoi(argv[i]); break; case 'g': strcpy(infilename,argv[i]); break; case 'a': threshold=atof(argv[i]); break; case 'i': iterationnum=atoi(argv[i]); break; case 'f': htype=atoi(argv[i]); break; default: exit_with_help(); } } cout<<"start reading the graph into memeory"<<endl; Graph g(infilename); cout<<"end of reading graph"<<endl; cout<<"start to construct the condensed graph"<<endl; DFSAPP app; app.dotarjar(g); app.Docompressed(g); cout<<"end of construction"<<endl; cout<<"size of condensed graph:"<<endl; cout<<"node number: "<<app.compressedG.sizenode(); cout<<" edge number: "<<app.compressedG.sizeedge()<<endl; string graphname(infilename); string s="Indexes\\"+graphname+".comp"; ofstream outcomp(s.c_str()); outcomp<<g.sizenode()<<endl; for(int i=0;i<g.sizenode();i++) outcomp<<app.comp[i]<<endl; indexing singleindex; indexframework FI; int indexsize; double indextime; ofstream outsize("indexsize",ios::app); ofstream outtime("indextime",ios::app); switch(ttype){ case 1: FI.doindexframework(app.compressedG,infilename,threshold,iterationnum,htype); indexsize=FI.indexsize; indextime=FI.indextime; outsize<<graphname<<"\t"<<"framework\t"; outtime<<graphname<<"\t"<<"framework\t"; break; case 2: singleindex.singleindex(app.compressedG,ttype,infilename); indexsize=singleindex.returnindexsize(); indextime=singleindex.returnruntime(); outsize<<graphname<<"\t"<<"HOPI\t"; outtime<<graphname<<"\t"<<"HOPI\t"; break; case 3: singleindex.singleindex(app.compressedG,ttype,infilename); indexsize=singleindex.returnindexsize(); indextime=singleindex.returnruntime(); outsize<<graphname<<"\t"<<"Interval\t"; outtime<<graphname<<"\t"<<"Interval\t"; break; default: exit_with_help(); } outtime<<"construct time(ms)\t"<<indextime<<endl; outsize<<"index size(#ofintegers)"<<"\t"<<indexsize<<endl; }
void BlockBase::update(float dt) { // update velocity if(mEnableGravity) { float gy = GRAVITY_VAL; mVelocity.y += dt * gy; mVelocity.y = MIN(mVelocity.y, 1000); mVelocity.x = MIN(mVelocity.x, 600); } if(!mRotator.empty()) { auto rot = mRestoreRotation; auto size = mRestoreSize; float newRot = rot; Vec2 outsize(1,1); mRotator.update(dt, newRot, outsize); mSprite->setRotation(newRot); } if(!mPath.empty()) { auto pos = mRestorePosition;//mSprite->getPosition(); auto newPos = pos; auto size = mRestoreSize; Vec2 outsize(1,1); mPath.update(dt, newPos, outsize); //mSprite->setPosition(newPos); mSprite->setScale(outsize.x * mRestoreSize.width / mImageSize, outsize.y * mRestoreSize.height / mImageSize); auto newSize = getSize(); mMovementToRestore += newPos - pos; mUpSideMovement = (newPos + Vec2(0, newSize.height/2)) - (pos + Vec2(0, size.height/2)); mDownSideMovement = (newPos + Vec2(0,-newSize.height/2)) - (pos + Vec2(0,-size.height/2)); mRightSideMovement = (newPos + Vec2( newSize.width/2, 0)) - (pos + Vec2( size.width/2, 0)); mLeftSideMovement = (newPos + Vec2(-newSize.width/2, 0)) - (pos + Vec2(-size.width/2, 0)); auto it = GameLogic::Game->mGroups.find(this); if(it != GameLogic::Game->mGroups.end()) { for(auto& c : it->second) { switch(mFollowMode) { case F_CENTER: c->mMovementToRestore += mMovementToRestore; break; case F_LEFT: c->mMovementToRestore += mLeftSideMovement; break; case F_RIGHT: c->mMovementToRestore += mRightSideMovement; break; case F_DOWN: c->mMovementToRestore += mDownSideMovement; break; case F_UP: c->mMovementToRestore += mUpSideMovement; break; } //c->getSprite()->setPosition(p); } } } if(mButton) { mButton->update(dt); } else { updateOpenClose(dt); } if(mRotationSpeed > 0) { auto r = mSprite->getRotation(); r += mRotationSpeed * dt; if(r > 360) r-=360; mSprite->setRotation(r); } /** * event continue time */ if (mTriggerEventsCalled){ mTriggerEventContinueTime += dt; mTriggerEventsCalled = false; } else{ mTriggerEventContinueTime = 0.0f; if (mHeroOpacityChanged){ GameLogic::Game->mHero->getSprite()->setOpacity(255); mHeroOpacityChanged = false; } } #if EDITOR_MODE if(mIDLabel) { if(mShowIDLabel) { mIDLabel->setVisible(true); mIDLabel->setPosition(mSprite->getPosition() - Vec2(mIDLabel->getBoundingBox().size.width/2, mIDLabel->getBoundingBox().size.height/2)); } else { mIDLabel->setVisible(false); } } #endif }