void DenseIntVectSet::coarsen(int iref) { if (iref == 1) return; CH_assert(iref >= 1); // int refinements = iref/2; CH_assert((iref/2)*2 == iref); // check iref for power of 2 Box newDomain(m_domain); newDomain.coarsen(iref); DenseIntVectSet newSet(newDomain, false); BoxIterator bit(m_domain); int count=0; for (bit.begin(); bit.ok(); ++bit, ++count) { if (m_bits[count]) { IntVect iv(bit()); iv.coarsen(iref); long index = newDomain.index(iv); newSet.m_bits.setTrue(index); } } *this = newSet; }
void FEL_encoder_incremental::correctBadEncoding( FEL_encodedhistogram* encodedHist, double* rangeFreqList, int nData ) { double newDomainLimits[6] = {0, 1, 0, 1, 0, 1}; FEL_domain_core newDomain( newDomainLimits, nBin, rangeFreqList ); addNewDomain( newDomain ); // Decrement the utilization count of current domain decrementDomainUtilization( encodedHist->getMatchingDomainId() ); // Update encoding of curent range distribution encodedHist->setMatchingDomainId( nDomain-1 ); encodedHist->setNumDataElement( nData ); encodedHist->setRotation( 0 ); encodedHist->setReflection( false ); encodedHist->setNumHighErrorBin( 0 ); // Decrement the utilization count of new domain incrementDomainUtilization( encodedHist->getMatchingDomainId() ); }
void DenseIntVectSet::refine(int iref) { if (iref == 1) return; if (isEmpty()) return; CH_assert(iref >= 1); //int refinements = iref/2; CH_assert((iref/2)*2 == iref); // check iref for power of 2 Box newDomain(m_domain); newDomain.refine(iref); DenseIntVectSet newSet(newDomain, false); IntVect iv; BoxIterator bit(newDomain); int count=0; for (bit.begin(); bit.ok(); ++bit, ++count) { iv = bit(); iv.coarsen(iref); if (this->operator[](iv)) { newSet.m_bits.setTrue(count); } } *this = newSet; }
void EditGameDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) { switch (cmd) { case kCmdGlobalGraphicsOverride: setGraphicSettingsState(data != 0); draw(); break; case kCmdGlobalAudioOverride: setAudioSettingsState(data != 0); setSubtitleSettingsState(data != 0); if (_globalVolumeOverride == NULL) setVolumeSettingsState(data != 0); draw(); break; case kCmdGlobalMIDIOverride: setMIDISettingsState(data != 0); draw(); break; case kCmdGlobalMT32Override: setMT32SettingsState(data != 0); draw(); break; case kCmdGlobalVolumeOverride: setVolumeSettingsState(data != 0); draw(); break; case kCmdChooseSoundFontCmd: { BrowserDialog browser(_("Select SoundFont"), false); if (browser.runModal() > 0) { // User made this choice... Common::FSNode file(browser.getResult()); _soundFont->setLabel(file.getPath()); if (!file.getPath().empty() && (file.getPath() != _c("None", "path"))) _soundFontClearButton->setEnabled(true); else _soundFontClearButton->setEnabled(false); draw(); } break; } // Change path for the game case kCmdGameBrowser: { BrowserDialog browser(_("Select directory with game data"), true); if (browser.runModal() > 0) { // User made his choice... Common::FSNode dir(browser.getResult()); // TODO: Verify the game can be found in the new directory... Best // done with optional specific gameid to pluginmgr detectgames? // FSList files = dir.listDir(FSNode::kListFilesOnly); _gamePathWidget->setLabel(dir.getPath()); draw(); } draw(); break; } // Change path for extra game data (eg, using sword cutscenes when playing via CD) case kCmdExtraBrowser: { BrowserDialog browser(_("Select additional game directory"), true); if (browser.runModal() > 0) { // User made his choice... Common::FSNode dir(browser.getResult()); _extraPathWidget->setLabel(dir.getPath()); draw(); } draw(); break; } // Change path for stored save game (perm and temp) data case kCmdSaveBrowser: { BrowserDialog browser(_("Select directory for saved games"), true); if (browser.runModal() > 0) { // User made his choice... Common::FSNode dir(browser.getResult()); _savePathWidget->setLabel(dir.getPath()); #ifdef USE_LIBCURL MessageDialog warningMessage(_("Saves sync feature doesn't work with non-default directories. If you want your saves to sync, use default directory.")); warningMessage.runModal(); #endif draw(); } draw(); break; } case kCmdExtraPathClear: _extraPathWidget->setLabel(_c("None", "path")); break; case kCmdSavePathClear: _savePathWidget->setLabel(_("Default")); break; case kOKCmd: { // Write back changes made to config object String newDomain(_domainWidget->getEditString()); if (newDomain != _domain) { if (newDomain.empty() || newDomain.hasPrefix("_") || newDomain == ConfigManager::kApplicationDomain || ConfMan.hasGameDomain(newDomain)) { MessageDialog alert(_("This game ID is already taken. Please choose another one.")); alert.runModal(); return; } ConfMan.renameGameDomain(_domain, newDomain); _domain = newDomain; } } // FALL THROUGH to default case default: OptionsDialog::handleCommand(sender, cmd, data); } }