/** * allocPhiFunc * * This function recursively check the node that require more than * a phiFunction and place the required phiFunction for these subscript * *****************************************************/ void allocPhiFunc(Node** thisNode){ (*thisNode)->visitFlag |= 2; LinkedList* liveList = getAllLiveList(thisNode, NULL); resetFlag(thisNode, 2); ListElement* livePtr = liveList->head; LinkedList* listA, *listB; Node *nodeAPtr, *nodeBPtr, *rootPtr; Subscript* subsPtr, condtSubs; int i; if((*thisNode)->directDom->length == 2){ nodeBPtr = (*thisNode)->directDom->head->node; nodeAPtr = (*thisNode)->directDom->head->next->node; listA = getListTillNode(nodeAPtr); listB = getListTillNode(nodeBPtr); Expression* phiFunction; while(livePtr != NULL){ subsPtr = getLargestIndex(listB, livePtr->node); phiFunction = getPhiFunction(listA, listB, subsPtr); condtSubs = getCondition((*thisNode)->imdDom); phiFunction->condt = condtSubs; addListFirst((*thisNode)->block, phiFunction); livePtr = livePtr->next; } } for(i = 0; i < (*thisNode)->numOfChild; i++) if(((*thisNode)->children[i]->visitFlag & 2) == 0) allocPhiFunc(&(*thisNode)->children[i]); }
void Flags::forceFlag(unsigned int flagIndex, bool set) { if (set) { setFlag(flagIndex); }else { resetFlag(flagIndex); } }
//-----------Task to keep servos locked task LockServos() { while(true) { resetHang(); resetFlag(); } }
void PositionAnimator::beforeDraw(gfx::Engine& painter ) { if( enabled() && parent() && isFlag( isActive ) ) { if( fabs(_d->currentPos.x() - _d->stopPos.x() ) > 0.5f || fabs( _d->currentPos.y() - _d->stopPos.y() ) > 0.5f ) { if( _d->stopPos.x() == ANIMATOR_UNUSE_VALUE ) _d->stopPos.setX( int(_d->currentPos.x() ) ); if( _d->stopPos.y() == ANIMATOR_UNUSE_VALUE ) _d->stopPos.setY( int(_d->currentPos.y() ) ); float fps = 1000.f / float( DateTime::elapsedTime() - _d->lastTimeUpdate + 1 ); _d->lastTimeUpdate = DateTime::elapsedTime(); float step = _d->stopPos.getDistanceFrom( _d->startPos ) / float( fps * ( _d->time / 1000.f ) ); float offsetX = _d->stopPos.x() - _d->currentPos.x(); float signX = offsetX < 0 ? -1.f : 1.f; float offsetY = _d->stopPos.y() - _d->currentPos.y(); float signY = offsetY < 0 ? -1.f : 1.f; if( _d->speed.x() != 0 || _d->speed.y() != 0 ) { offsetX = _d->speed.x(); offsetY = _d->speed.y(); } _d->currentPos += PointF( signX * std::min<float>( step, fabs( offsetX ) ), signY * std::min<float>( step, fabs( offsetY ) ) ); parent()->setPosition( _d->currentPos.toPoint() ); } else { resetFlag( isActive ); if( isFlag( debug ) ) { parent()->setPosition( _d->startPos ); return; } parent()->setVisible( isFlag( showParent ) ); _afterFinished(); } } Widget::beforeDraw( painter ); }
void MusicWebRadioObject::dataDownloadFinished() { QString fileName = PLUGINS_DIR_FULL + MusicUtils::Algorithm::mdII(DOWNLOAD_NAME, false); if(MusicExtractWrap::outputData(fileName)) { QFile::remove(fileName); QtConcurrent::run([&] { int code = QProcess::execute(QString("%1radio/%2").arg(PLUGINS_DIR_FULL).arg(MusicUtils::Algorithm::mdII(RADIO_NAME, false))); if(code != -2 && code != -1) { emit resetFlag(MusicObject::TT_WebRadio); } }); } }
double lessConnectivity(int N){ int conex = TRUE; Grafo *newInst; double lessEdge = sqrt(2), maxFloor = 0, x = 1; newInst = malloc(sizeof(newInst)); newInst->graphList = createList(&N); while(x > 0.0021 ){ conex = searchEdge(newInst->graphList, N); resetFlag (newInst->graphList,N); if (conex == TRUE){ if (edge < lessEdge) lessEdge = edge; edge = edge*0.9; } else{ if (edge > maxFloor) maxFloor = edge; edge = edge*0.05 + edge; } x = lessEdge-maxFloor; } seed = (ceil(newInst->graphList[0].x*newInst->graphList[0].y*rand())); free(newInst); return lessEdge; }
void Tile::resetTileFlags(const Item* item) { const ItemType& it = Item::items[item->getID()]; if (it.floorChange != 0) { resetFlag(TILESTATE_FLOORCHANGE); } if (item->hasProperty(CONST_PROP_BLOCKSOLID) && !hasProperty(item, CONST_PROP_BLOCKSOLID)) { resetFlag(TILESTATE_BLOCKSOLID); } if (item->hasProperty(CONST_PROP_IMMOVABLEBLOCKSOLID) && !hasProperty(item, CONST_PROP_IMMOVABLEBLOCKSOLID)) { resetFlag(TILESTATE_IMMOVABLEBLOCKSOLID); } if (item->hasProperty(CONST_PROP_BLOCKPATH) && !hasProperty(item, CONST_PROP_BLOCKPATH)) { resetFlag(TILESTATE_BLOCKPATH); } if (item->hasProperty(CONST_PROP_NOFIELDBLOCKPATH) && !hasProperty(item, CONST_PROP_NOFIELDBLOCKPATH)) { resetFlag(TILESTATE_NOFIELDBLOCKPATH); } if (item->hasProperty(CONST_PROP_IMMOVABLEBLOCKPATH) && !hasProperty(item, CONST_PROP_IMMOVABLEBLOCKPATH)) { resetFlag(TILESTATE_IMMOVABLEBLOCKPATH); } if (item->hasProperty(CONST_PROP_IMMOVABLENOFIELDBLOCKPATH) && !hasProperty(item, CONST_PROP_IMMOVABLENOFIELDBLOCKPATH)) { resetFlag(TILESTATE_IMMOVABLENOFIELDBLOCKPATH); } if (item->getTeleport()) { resetFlag(TILESTATE_TELEPORT); } if (item->getMagicField()) { resetFlag(TILESTATE_MAGICFIELD); } if (item->getMailbox()) { resetFlag(TILESTATE_MAILBOX); } if (item->getTrashHolder()) { resetFlag(TILESTATE_TRASHHOLDER); } if (item->getBed()) { resetFlag(TILESTATE_BED); } const Container* container = item->getContainer(); if (container && container->getDepotLocker()) { resetFlag(TILESTATE_DEPOT); } if (item->hasProperty(CONST_PROP_SUPPORTHANGABLE)) { resetFlag(TILESTATE_SUPPORTS_HANGABLE); } }
void Tile::resetTileFlags(const Item* item) { if (item->floorChangeDown()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_DOWN); } if (item->floorChangeNorth()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_NORTH); } if (item->floorChangeSouth()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_SOUTH); } if (item->floorChangeEast()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_EAST); } if (item->floorChangeWest()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_WEST); } if (item->floorChangeSouthAlt()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_SOUTH_ALT); } if (item->floorChangeEastAlt()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_EAST_ALT); } if (item->hasProperty(CONST_PROP_BLOCKSOLID) && !hasProperty(item, CONST_PROP_BLOCKSOLID)) { resetFlag(TILESTATE_BLOCKSOLID); } if (item->hasProperty(CONST_PROP_IMMOVABLEBLOCKSOLID) && !hasProperty(item, CONST_PROP_IMMOVABLEBLOCKSOLID)) { resetFlag(TILESTATE_IMMOVABLEBLOCKSOLID); } if (item->hasProperty(CONST_PROP_BLOCKPATH) && !hasProperty(item, CONST_PROP_BLOCKPATH)) { resetFlag(TILESTATE_BLOCKPATH); } if (item->hasProperty(CONST_PROP_NOFIELDBLOCKPATH) && !hasProperty(item, CONST_PROP_NOFIELDBLOCKPATH)) { resetFlag(TILESTATE_NOFIELDBLOCKPATH); } if (item->hasProperty(CONST_PROP_IMMOVABLEBLOCKPATH) && !hasProperty(item, CONST_PROP_IMMOVABLEBLOCKPATH)) { resetFlag(TILESTATE_IMMOVABLEBLOCKPATH); } if (item->hasProperty(CONST_PROP_IMMOVABLENOFIELDBLOCKPATH) && !hasProperty(item, CONST_PROP_IMMOVABLENOFIELDBLOCKPATH)) { resetFlag(TILESTATE_IMMOVABLENOFIELDBLOCKPATH); } if (item->getTeleport()) { resetFlag(TILESTATE_TELEPORT); } if (item->getMagicField()) { resetFlag(TILESTATE_MAGICFIELD); } if (item->getMailbox()) { resetFlag(TILESTATE_MAILBOX); } if (item->getTrashHolder()) { resetFlag(TILESTATE_TRASHHOLDER); } if (item->getBed()) { resetFlag(TILESTATE_BED); } const Container* container = item->getContainer(); if (container && container->getDepotLocker()) { resetFlag(TILESTATE_DEPOT); } if (item->hasProperty(CONST_PROP_SUPPORTHANGABLE)) { resetFlag(TILESTATE_SUPPORTS_HANGABLE); } }
void Tile::updateTileFlags(Item* item, bool removing) { if (!removing) { //!removing is adding an item to the tile if (!hasFlag(TILESTATE_FLOORCHANGE)) { if (item->floorChangeDown()) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_DOWN); } if (item->floorChangeNorth()) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_NORTH); } if (item->floorChangeSouth()) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_SOUTH); } if (item->floorChangeEast()) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_EAST); } if (item->floorChangeWest()) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_WEST); } if (item->floorChangeSouthAlt()) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_SOUTH_ALT); } if (item->floorChangeEastAlt()) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_EAST_ALT); } } if (item->hasProperty(IMMOVABLEBLOCKSOLID)) { setFlag(TILESTATE_IMMOVABLEBLOCKSOLID); } if (item->hasProperty(BLOCKPATH)) { setFlag(TILESTATE_BLOCKPATH); } if (item->hasProperty(NOFIELDBLOCKPATH)) { setFlag(TILESTATE_NOFIELDBLOCKPATH); } if (item->hasProperty(IMMOVABLENOFIELDBLOCKPATH)) { setFlag(TILESTATE_IMMOVABLENOFIELDBLOCKPATH); } if (item->getTeleport()) { setFlag(TILESTATE_TELEPORT); } if (item->getMagicField()) { setFlag(TILESTATE_MAGICFIELD); } if (item->getMailbox()) { setFlag(TILESTATE_MAILBOX); } if (item->getTrashHolder()) { setFlag(TILESTATE_TRASHHOLDER); } if (item->hasProperty(BLOCKSOLID)) { setFlag(TILESTATE_BLOCKSOLID); } if (item->getBed()) { setFlag(TILESTATE_BED); } Container* container = item->getContainer(); if (container && container->getDepotLocker()) { setFlag(TILESTATE_DEPOT); } if (item->hasProperty(SUPPORTHANGABLE)) { setFlag(TILESTATE_SUPPORTS_HANGABLE); } } else { if (item->floorChangeDown()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_DOWN); } if (item->floorChangeNorth()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_NORTH); } if (item->floorChangeSouth()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_SOUTH); } if (item->floorChangeEast()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_EAST); } if (item->floorChangeWest()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_WEST); } if (item->floorChangeSouthAlt()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_SOUTH_ALT); } if (item->floorChangeEastAlt()) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_EAST_ALT); } if (item->hasProperty(BLOCKSOLID) && !hasProperty(item, BLOCKSOLID)) { resetFlag(TILESTATE_BLOCKSOLID); } if (item->hasProperty(IMMOVABLEBLOCKSOLID) && !hasProperty(item, IMMOVABLEBLOCKSOLID)) { resetFlag(TILESTATE_IMMOVABLEBLOCKSOLID); } if (item->hasProperty(BLOCKPATH) && !hasProperty(item, BLOCKPATH)) { resetFlag(TILESTATE_BLOCKPATH); } if (item->hasProperty(NOFIELDBLOCKPATH) && !hasProperty(item, NOFIELDBLOCKPATH)) { resetFlag(TILESTATE_NOFIELDBLOCKPATH); } if (item->hasProperty(IMMOVABLEBLOCKPATH) && !hasProperty(item, IMMOVABLEBLOCKPATH)) { resetFlag(TILESTATE_IMMOVABLEBLOCKPATH); } if (item->hasProperty(IMMOVABLENOFIELDBLOCKPATH) && !hasProperty(item, IMMOVABLENOFIELDBLOCKPATH)) { resetFlag(TILESTATE_IMMOVABLENOFIELDBLOCKPATH); } if (item->getTeleport()) { resetFlag(TILESTATE_TELEPORT); } if (item->getMagicField()) { resetFlag(TILESTATE_MAGICFIELD); } if (item->getMailbox()) { resetFlag(TILESTATE_MAILBOX); } if (item->getTrashHolder()) { resetFlag(TILESTATE_TRASHHOLDER); } if (item->getBed()) { resetFlag(TILESTATE_BED); } Container* container = item->getContainer(); if (container && container->getDepotLocker()) { resetFlag(TILESTATE_DEPOT); } if (item->hasProperty(SUPPORTHANGABLE)) { resetFlag(TILESTATE_SUPPORTS_HANGABLE); } } }
void MusicAudioRecorderWidget::closeEvent(QCloseEvent *event) { MusicAbstractMoveWidget::closeEvent(event); emit resetFlag(MusicObject::TT_AudioRecord); }
void Tile::updateTileFlags(Item* item, bool remove) { if(!remove) { if(!hasFlag(TILESTATE_FLOORCHANGE)) { if(item->floorChange(CHANGE_DOWN)) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_DOWN); } if(item->floorChange(CHANGE_NORTH)) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_NORTH); } if(item->floorChange(CHANGE_SOUTH)) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_SOUTH); } if(item->floorChange(CHANGE_EAST)) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_EAST); } if(item->floorChange(CHANGE_WEST)) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_WEST); } if(item->floorChange(CHANGE_NORTH_EX)) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_NORTH_EX); } if(item->floorChange(CHANGE_SOUTH_EX)) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_SOUTH_EX); } if(item->floorChange(CHANGE_EAST_EX)) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_EAST_EX); } if(item->floorChange(CHANGE_WEST_EX)) { setFlag(TILESTATE_FLOORCHANGE); setFlag(TILESTATE_FLOORCHANGE_WEST_EX); } } if(item->getTeleport()) setFlag(TILESTATE_TELEPORT); if(item->getMagicField()) setFlag(TILESTATE_MAGICFIELD); if(item->getMailbox()) setFlag(TILESTATE_MAILBOX); if(item->getTrashHolder()) setFlag(TILESTATE_TRASHHOLDER); if(item->getBed()) setFlag(TILESTATE_BED); if(item->getContainer() && item->getContainer()->getDepotLocker()) setFlag(TILESTATE_DEPOT); if(item->hasProperty(BLOCKSOLID)) setFlag(TILESTATE_BLOCKSOLID); if(item->hasProperty(IMMOVABLEBLOCKSOLID)) setFlag(TILESTATE_IMMOVABLEBLOCKSOLID); if(item->hasProperty(BLOCKPATH)) setFlag(TILESTATE_BLOCKPATH); if(item->hasProperty(NOFIELDBLOCKPATH)) setFlag(TILESTATE_NOFIELDBLOCKPATH); if(item->hasProperty(IMMOVABLENOFIELDBLOCKPATH)) setFlag(TILESTATE_IMMOVABLENOFIELDBLOCKPATH); } else { if(item->floorChange(CHANGE_DOWN)) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_DOWN); } if(item->floorChange(CHANGE_NORTH)) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_NORTH); } if(item->floorChange(CHANGE_SOUTH)) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_SOUTH); } if(item->floorChange(CHANGE_EAST)) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_EAST); } if(item->floorChange(CHANGE_WEST)) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_WEST); } if(item->floorChange(CHANGE_NORTH_EX)) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_NORTH_EX); } if(item->floorChange(CHANGE_SOUTH_EX)) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_SOUTH_EX); } if(item->floorChange(CHANGE_EAST_EX)) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_EAST_EX); } if(item->floorChange(CHANGE_WEST_EX)) { resetFlag(TILESTATE_FLOORCHANGE); resetFlag(TILESTATE_FLOORCHANGE_WEST_EX); } if(item->getTeleport()) resetFlag(TILESTATE_TELEPORT); if(item->getMagicField()) resetFlag(TILESTATE_MAGICFIELD); if(item->getMailbox()) resetFlag(TILESTATE_MAILBOX); if(item->getTrashHolder()) resetFlag(TILESTATE_TRASHHOLDER); if(item->getBed()) resetFlag(TILESTATE_BED); if(item->getContainer() && item->getContainer()->getDepotLocker()) resetFlag(TILESTATE_DEPOT); if(item->hasProperty(BLOCKSOLID) && !hasProperty(item, BLOCKSOLID)) resetFlag(TILESTATE_BLOCKSOLID); if(item->hasProperty(IMMOVABLEBLOCKSOLID) && !hasProperty(item, IMMOVABLEBLOCKSOLID)) resetFlag(TILESTATE_IMMOVABLEBLOCKSOLID); if(item->hasProperty(BLOCKPATH) && !hasProperty(item, BLOCKPATH)) resetFlag(TILESTATE_BLOCKPATH); if(item->hasProperty(NOFIELDBLOCKPATH) && !hasProperty(item, NOFIELDBLOCKPATH)) resetFlag(TILESTATE_NOFIELDBLOCKPATH); if(item->hasProperty(IMMOVABLEBLOCKPATH) && !hasProperty(item, IMMOVABLEBLOCKPATH)) resetFlag(TILESTATE_IMMOVABLEBLOCKPATH); if(item->hasProperty(IMMOVABLENOFIELDBLOCKPATH) && !hasProperty(item, IMMOVABLENOFIELDBLOCKPATH)) resetFlag(TILESTATE_IMMOVABLENOFIELDBLOCKPATH); } }