std::shared_ptr< ExhaustiveLPOModelTrainer > makeExhaustiveTrainer( const ExhaustiveLPOModel & that, const std::vector< std::shared_ptr< ImageOverSegmentation > >& ios, const std::vector< T >& gt ) { std::string name = typeStr(that); std::vector< VectorXf > params = that.all_params_; const int N = ios.size(), M = params.size(); std::vector<int> oid( gt.size()+1 ); std::transform( gt.begin(), gt.end(), oid.data()+1, static_cast<int(*)(const T&)>(&no) ); std::partial_sum( oid.begin(), oid.end(), oid.begin() ); std::vector< float > avg_prop( params.size(), 0. ); std::vector< std::vector< float > > iou( params.size(), std::vector< float >(oid.back(),0.f) ); #pragma omp parallel for for( int i=0; i<N; i++ ) { std::vector<Proposals> s = that.generateProposals( *ios[i], params ); for( int j=0; j<M; j++ ) { Proposals p = s[j]; SegmentationOverlap o(p.s, gt[i]); const int no = o.nObjects(); eassert( oid[i]+no == oid[i+1] ); auto best_iou = VectorXf::Map(iou[j].data()+oid[i],no); int n = p.p.rows(); for( int k=0; k<n; k++ ) best_iou = best_iou.array().max( o.iou( p.p.row(k) ).array() ); #pragma omp atomic avg_prop[j] += 1.0 * n / N; } } return std::make_shared<ExhaustiveLPOModelTrainerImplementation>( name, params, iou, avg_prop ); }
void MapListExtractInner::viewStructure(ostream& ostr) const { EnumertatorProblemView pv(oid(),"Extract inner automorphisms from a list", Text("Extract inner automorphisms from") + Name( theList ) , helpID("MapListExtractInner", theList.getGroup()), Text("inner auto") ); // pv.addParameter(EditInteger("minL","Minimal length ",0,1,1,30000)); // pv.addParameter(EditInteger("maxL","Maximal length ",0,30000,1,30000)); pv.addProblem( Subproblem("Sp1",ThisARCSlotID(), Text("For the use of the problem"),40)); //RadioButton rRB1("ToFile","Extract to a file"); //RadioButton rRB2("ToList","Extract to another list"); // RadioButtonGroup extractRBG("ExtractTo"); // extractRBG.add(rRB1); // extractRBG.add(rRB2); // pv.addParameter(extractRBG); submit(ostr, pv); }
VxStdProxy::~VxStdProxy () { // Remove this proxy from list of all known proxies s_allProxiesMutex.lock (); OXID2RemApartment_t::iterator i = s_allProxies.find (oxid ()); if (i != s_allProxies.end ()) (*i).second.erase (oid ()); s_allProxiesMutex.unlock (); // Remove our OID from the ping list.. SCM::theSCM()->oidDel (m_resAddr, m_oid); // Disconnect all facelets belonging to this proxy-object... FACELETMAP::iterator j; VxCritSec cs (m_mutex); for (j = m_facelets.begin (); j != m_facelets.end (); ++j) { // @@@ FIXME have a fake interface-proxy for IUnknown if ((*j).second.pProxy) (*j).second.pProxy->Disconnect (); } // Free the RemUnknown facelet if (m_pRemUnkFacelet) { m_pRemUnkFacelet->pProxy->Disconnect (); delete m_pRemUnkFacelet; } }
void SGListExtractOfRank::viewStructure(ostream& ostr) const { EnumertatorProblemView pv(oid(),"Extract subgroups of a given rank from a list", Text("Extract subgroups of a given rank from ") + Name( theList ) , helpID("SGListExtractOfRank", theList.getGroup()), Text("rank sgs") ); pv.addParameter(EditInteger("minRank","Minimal rank ",0,0,0,30000)); pv.addParameter(EditInteger("maxRank","Maximal rank ",0,100,0 ,30000)); pv.addProblem( Subproblem("Sp1",ThisARCSlotID(), Text("For the use of the problem"),40)); // RadioButton rRB1("ToFile","Extract to a file"); // RadioButton rRB2("ToList","Extract to another list"); // RadioButtonGroup extractRBG("ExtractTo"); // extractRBG.add(rRB1); // extractRBG.add(rRB2); // pv.addParameter(extractRBG); submit(ostr, pv); }
void SMListExtractCommutatorsInFree::viewStructure(ostream& ostr) const { EnumertatorProblemView pv(oid(),"Extract commutators from a list", Text("Extract commutators from ") + Name( theList ) , helpID("SMListExtractCommutatorsInFree", theList.getGroup()), Text("commut") ); // RadioButton rRB1("ToFile","Extract to a file"); // RadioButton rRB2("ToList","Extract to another list"); // RadioButtonGroup extractRBG("ExtractTo"); // extractRBG.add(rRB1); // extractRBG.add(rRB2); // pv.addParameter(extractRBG); pv.addProblem( Subproblem("Sp1",ThisARCSlotID(), Text("For the use of enumerator"),40)); submit(ostr, pv); }
bool PKCS15DODF::parseData(ByteArray data) { bool result = false; SimpleTLV tlv(data); while (tlv.decodeTLV()) { switch (tlv.getTag()) { case (unsigned int)0xA1 : /* CHOICE 1 : OidDO */ { PKCS15OID oid(tlv.getValue()); SCARD_DEBUG("OID DataObject"); pair<ByteArray, PKCS15OID> newPair(oid.getOID(), oid); mapOID.insert(newPair); } break; default : SCARD_DEBUG("Unknown tlv : t [%X], l [%d], v %s", tlv.getTag(), tlv.getLength(), tlv.getValue().toString()); break; } } SCARD_DEBUG("dataList.size() = %d", mapOID.size()); return result; }
ObjectID ComponentManager::registerContainer(Container* container) { unsigned int index = m_containerIndices.allocate(); m_activeContainers.insert(index); ObjectID oid(index); m_containers[index] = container; std::memset(&m_componentIDs[index * MAX_INTERFACES], 0, sizeof (ComponentID) * MAX_INTERFACES); return oid; }
void start(BundleContext::Ptr pContext) { typedef Poco::RemotingNG::ServerHelper<IoT::WebEvent::WebEventNotifier> ServerHelper; Poco::SharedPtr<IoT::WebEvent::WebEventNotifier> pWebEventNotifier = new WebEventNotifierImpl(pContext); std::string oid("io.macchina.services.webeventnotifier"); ServerHelper::RemoteObjectPtr pWebEventNotifierRemoteObject = ServerHelper::createRemoteObject(pWebEventNotifier, oid); ServiceRef::Ptr pServiceRef = pContext->registry().registerService(oid, pWebEventNotifierRemoteObject, Properties()); }
plRenderRequestMsg::plRenderRequestMsg(plKey sender, plRenderRequestBase* req) : plMessage(sender, nil, nil), fReq(req) { plUoid oid( kClient_KEY ); // from plFixedKey.h plKey key = hsgResMgr::ResMgr()->FindKey(oid); AddReceiver(key); hsRefCnt_SafeRef(fReq); }
void MibView::GetBulkFromNodeSelectInstance(void) { QTreeWidgetItem *start = NULL; // Could it be null ? if ((start = currentItem()) == NULL) return; QString oid(((MibNode*)start)->GetOid()); emit GetFromOidSelectInstance(oid, 2); }
void MibView::GetFromNode(void) { QTreeWidgetItem *start = NULL; // Could it be null ? if ((start = currentItem()) == NULL) return; QString oid(((MibNode*)start)->GetOid()); oid += ".0"; emit GetFromOid(oid, 0); }
void MibView::VarbindsFromNode(void) { QTreeWidgetItem *start = NULL; // Could it be null ? if ((start = currentItem()) == NULL) return; QString oid(((MibNode*)start)->GetOid()); emit VarbindsFromOid(oid); }
const NXPart* NXLFSMessageCache::fetch(const char* msgid) { if(!m_cache || !m_maxdisk) return NULL; int r; char p[MAX_PATH]; if(sprintf_s(p, "%s\\%s\\%X\\%s", m_cache, "msg", slot(msgid), msgid) == -1) { r = R(-1, "buffer error"); return NULL; } int fd = -1; if(_sopen_s(&fd, p, _O_BINARY | _O_RDONLY, _SH_DENYWR, _S_IWRITE)) return NULL; if(fd == -1) return NULL; auto_close acfd(fd); struct stat st; if(fstat(fd, &st)) { r = R(-2, "stat error"); return NULL; } size_t size = st.st_size; if(size <= sizeof(NXPart)) { r = R(-3, "file too small"); return NULL; } auto_free<char> data0(size); if(size != _read(fd, data0, size)) { r = R(-4, "read error"); return NULL; } acfd.close(); NXPart* data = (NXPart*)((char*)data0);// todo: review if(data->version != NXPARTVERSION) { _unlink(p); r = R(-5, "wrong part version"); return NULL; } if(strcmp(data->msgid, msgid)) { _unlink(p); r = R(-6, "msgid mismatch"); return NULL; } if(data->len != size - (sizeof(NXPart)-1)) { _unlink(p); r = R(-7, "length mismatch"); return NULL; } //data->len = size - (sizeof(NXPart) - 1); cfuse(msgid, size); data0.release(); return insert(data, oid()); }
void ComponentManager::broadcastMessage(const InterfaceTypeID& iid, const MessageBase& msg) { //for (int o = 0; o < MAX_CONTAINERS; o++) for (std::set<unsigned int>::const_iterator i = m_activeContainers.begin(), e = m_activeContainers.end(); i != e; ++i) { ObjectID oid(*i); const ComponentID& cid = getComponentID(iid, oid); if (cid.isValid()) { ComponentBase* c = getComponent(cid); if (c) c->handleMessage(msg); } } }
ptr_lib::shared_ptr<der::DerNode> CertificateSubjectDescription::toDer() const { ptr_lib::shared_ptr<der::DerSequence> root(new der::DerSequence()); ptr_lib::shared_ptr<der::DerOid> oid(new der::DerOid(oid_)); ptr_lib::shared_ptr<der::DerPrintableString> value(new der::DerPrintableString(value_)); root->addChild(oid); root->addChild(value); return root; }
const plPythonSDLModifier* plPythonSDLModifier::FindAgeSDL() { const char* ageName = cyMisc::GetAgeName(); if (strcmp(ageName, "") == 0) return nil; // don't have an age, probably because we're running in max? // find the Age Global object plLocation loc = plKeyFinder::Instance().FindLocation(ageName,plAgeDescription::GetCommonPage(plAgeDescription::kGlobal)); if ( loc.IsValid() ) { plUoid oid(loc,plPythonFileMod::Index(), plPythonFileMod::kGlobalNameKonstant); if ( oid.IsValid() ) { plKey key = hsgResMgr::ResMgr()->FindKey(oid); plPythonFileMod *pfmod = plPythonFileMod::ConvertNoRef(key ? key->ObjectIsLoaded() : nil); if ( pfmod ) { plPythonSDLModifier * sdlMod = pfmod->GetSDLMod(); if(sdlMod) // we found it! return sdlMod; plNetClientApp::StaticErrorMsg("pfmod %s has a nil python SDL modifier for age sdl %s", pfmod->GetKeyName().s_str("?"), ageName); } else { if (!key) plNetClientApp::StaticErrorMsg("nil key %s for age sdl %s", ageName, oid.StringIze().c_str()); else if (!key->ObjectIsLoaded()) plNetClientApp::StaticErrorMsg("key %s not loaded for age sdl %s", key->GetName().s_str("?"), ageName); else if (!plPythonFileMod::ConvertNoRef(key->ObjectIsLoaded())) plNetClientApp::StaticErrorMsg("key %s is not a python file mod for age sdl %s", key->GetName().s_str("?"), ageName); } } else plNetClientApp::StaticErrorMsg("Invalid plUoid for age sdl %s", ageName); } else plNetClientApp::StaticErrorMsg("Invalid plLocation for age sdl %s", ageName); // couldn't find one (maybe because we didn't look) return nil; }
ptr_lib::shared_ptr<DerNode> CertificateSubjectDescription::toDer() const { ptr_lib::shared_ptr<DerNode::DerSequence> root(new DerNode::DerSequence()); ptr_lib::shared_ptr<DerNode::DerOid> oid(new DerNode::DerOid(oid_)); ptr_lib::shared_ptr<DerNode::DerPrintableString> value (new DerNode::DerPrintableString((const uint8_t*)&value_[0], value_.size())); root->addChild(oid); root->addChild(value); return root; }
void DaoWorker::readAllScans() { qDebug()<<"dao worker read all scans: PID = "<<QThread::currentThreadId(); emit setWorkerProgressBarToRunningStateSignal(); std::vector<std::shared_ptr<Scan>> scansInMainViewer; connect(this, SIGNAL(convertScansToModelSignal(std::vector<std::shared_ptr<Scan>>)),MainWindow::GetMainWindow(), SLOT(convertScansToModelSlot(std::vector<std::shared_ptr<Scan>>))); //check scansInMainViewer int t = MainWindow::GetMainWindow()->getMaximumGettingDataTimes(); while(--t >= 0) { scansInMainViewer = ScanDao::instance()->readAllScans(); bool success = true; for(int i = 0; i < scansInMainViewer.size(); i++) { //qDebug()<<"read all scans: "<<QString::number(i); //QThread::msleep(2000);//for testing bad networking if(isCancelled) { emit finished(); return; } std::shared_ptr<Scan> scan = scansInMainViewer[i]; try { mongo::OID oid(scan->getOId()); } catch(...) { success = false; break; } } if(success) { break; } } //QThread::msleep(12000);//for testing bad networking emit setWorkerProgressBarToFinishedStateSignal(); emit convertScansToModelSignal(scansInMainViewer); emit finished(); }
void createClient(const std::string& baseConfig, const std::string& id) { std::string serverURI = getStringConfig(baseConfig + ".serverURI", ""); std::string clientId = getStringConfig(baseConfig + ".clientId", ""); std::string persistencePath = getStringConfig(baseConfig + ".persistence.path", ""); MQTTClientImpl::Persistence persistence = persistencePath.empty() ? MQTTClientImpl::MQTT_PERSISTENCE_NONE : MQTTClientImpl::MQTT_PERSISTENCE_FILE; if (!serverURI.empty()) { MQTTClientImpl::ConnectOptions options; options.keepAliveInterval = getIntConfig(baseConfig + ".keepAliveInterval", 60); options.retryInterval = getIntConfig(baseConfig + ".retryInterval", 30); options.connectTimeout = getIntConfig(baseConfig + ".connectTimeout", 20); options.cleanSession = getBoolConfig(baseConfig + ".cleanSession", true); options.reliable = getBoolConfig(baseConfig + ".reliable", false); options.username = getStringConfig(baseConfig + ".username", ""); options.password = getStringConfig(baseConfig + ".password", ""); options.willQoS = getIntConfig(baseConfig + ".will.qos", 0); options.mqttVersion = getIntConfig(baseConfig + ".mqttVersion", 0); Poco::StringTokenizer tok(getStringConfig(baseConfig + ".serverURIs", ""), ";,", Poco::StringTokenizer::TOK_TRIM | Poco::StringTokenizer::TOK_IGNORE_EMPTY); options.serverURIs.assign(tok.begin(), tok.end()); options.willTopic = getStringConfig(baseConfig + ".will.topic", ""); options.willMessage = getStringConfig(baseConfig + ".will.message", ""); options.willRetained = getBoolConfig(baseConfig + ".will.retained", false); options.sslTrustStore = getStringConfig(baseConfig + ".ssl.trustStore", ""); options.sslKeyStore = getStringConfig(baseConfig + ".ssl.keyStore", ""); options.sslPrivateKey = getStringConfig(baseConfig + ".ssl.privateKey", ""); options.sslPrivateKeyPassword = getStringConfig(baseConfig + ".ssl.privateKeyPassword", ""); options.sslEnabledCipherSuites = getStringConfig(baseConfig + ".ssl.enabledCipherSuites", ""); options.sslEnableServerCertAuth = getBoolConfig(baseConfig + ".ssl.enableServerCertAuth", false); MQTTClientImpl::Ptr pMQTTClient = new MQTTClientImpl(serverURI, clientId, persistence, persistencePath, options); std::string oid(Poco::format("io.macchina.mqtt.client#%z", _clients.size())); ServerHelper::RemoteObjectPtr pMQTTClientRemoteObject = ServerHelper::createRemoteObject(pMQTTClient, oid); Poco::OSP::Properties props; props.set("io.macchina.protocol", "io.macchina.mqtt"); props.set("io.macchina.mqtt.clientId", clientId); props.set("io.macchina.mqtt.serverURI", serverURI); props.set("io.macchina.mqtt.id", id); Poco::OSP::ServiceRef::Ptr pServiceRef = _pContext->registry().registerService(oid, pMQTTClientRemoteObject, props); _clients.push_back(pMQTTClient); _serviceRefs.push_back(pServiceRef); } }
CAPDU build_CA_Step_B(const OBJECT_IDENTIFIER_t& CA_OID, const unsigned char sessionid) { MSE mse = MSE(MSE::P1_SET | MSE::P1_COMPUTE, MSE::P2_AT); // Build up command data field std::vector<unsigned char> oid(CA_OID.buf, CA_OID.buf+CA_OID.size);; std::vector<unsigned char> data = TLV_encode(0x80, oid); if (sessionid) { data.push_back(0xE0); data.push_back(0x03); data.push_back(0x81); data.push_back(0x01); data.push_back(sessionid); } mse.setData(data); return mse; }
void ComponentManager::initAllComponents(Context& ctx) { for (int i = 0; i < MAX_INTERFACES; i++) { InterfaceTypeID iid = i; for (std::set<unsigned int>::const_iterator i = m_activeContainers.begin(), e = m_activeContainers.end(); i != e; ++i) { //for (int o = 0; o < MAX_CONTAINERS; o++) { ObjectID oid(*i); const ComponentID& cid = getComponentID(iid, oid); if (cid.isValid()) { ComponentBase* c = getComponent(cid); if (c) c->init(ctx); } //} } } }
bool ShoeLastTemplateDao::isTemplateOIdValid(std::shared_ptr<ShoeLastTemplate> temp) { if(temp == nullptr) return false; try { mongo::OID oid(temp->getOId()); } catch(...) { LoggerManager::instance()->logInfo("invalid Shoe Last Template oid."); return false; } return true; }
static void save_variable(std::map<snmp::oid, snmp::variant> & variables, ::variable_list * var) { snmp::oid oid(var->name, var->name_length); switch (var->type) { case ASN_OCTET_STR: variables[oid] = std::string(reinterpret_cast<char *>(var->val.string), var->val_len); break; case ASN_INTEGER: variables[oid] = *var->val.integer; break; case ASN_OBJECT_ID: variables[oid] = snmp::oid(var->val.objid, var->val_len / sizeof(snmp::oid::subid_type)); break; } }
// getEquivalentPolicy: // AsnOid & SPIF::getEquivalentPolicy(AsnOid &policyId) { FUNC("SPIF::getEquivalentPolicy"); bool found = false; try { if (getPolicyId() != policyId) { EquivalentPolicy *pTmpEquivPolicy=NULL; SNACC::EquivalentPolicies::iterator i; // search EquivalentPolicies sequence for policyId // for (i = spiftoSign.equivalentPolicies->begin(); i != spiftoSign.equivalentPolicies->end(); i++) { if (i->securityPolicyId == policyId) { found = true; break; } } } if (! found ) { AsnOid oid(policyId); char errStr[256]; sprintf(errStr, "SPIF does not contain an equivalency for %s", (const char *) oid); throw ACL_EXCEPT(ACL_NO_EQUIV, errStr); } } catch (SnaccException &e) { e.push(STACK_ENTRY); throw; } return((AsnOid &)getPolicyId()); } // END OF MEMBER FUNCTION getEquivalentPolicy
std::map<snmp::oid, snmp::variant> snmp::session::walk(oid root) { std::map<snmp::oid, snmp::variant> variables; oid current_oid = root; while (current_oid.starts_with(root)) { auto request = snmp_pdu_create(SNMP_MSG_GETNEXT); snmp_add_null_var(request, current_oid.data(), current_oid.size()); auto response = perform_request(cast_session(_ss), request); auto var = response->variables; assert(var->next_variable == nullptr); save_variable(variables, var); current_oid = oid(var->name, var->name_length); } return variables; }
void DaoWorker::showUserFromScan() { if(targetScan == nullptr) return; int t = MainWindow::GetMainWindow()->getMaximumGettingDataTimes(); connect(this, SIGNAL(convertUsersToModelSignal(std::vector<std::shared_ptr<User> >)),MainWindow::GetMainWindow(), SLOT(convertUsersToModelSlot(std::vector<std::shared_ptr<User> >))); std::vector<std::shared_ptr<User>> userOfScan; while(--t >= 0) { std::shared_ptr<User> user = ScanDao::instance()->getUserByScan(targetScan->getOId()); if(user != nullptr) { bool success = true; try { mongo::OID oid(user->getOId()); } catch(...) { success = false; break; } if(success) { userOfScan.push_back(user); break; } } } emit setWorkerProgressBarToFinishedStateSignal(); emit convertUsersToModelSignal(userOfScan); emit finished(); }
plKey plPythonSDLModifier::FindAgeSDLTarget() { // find the Age Global object plLocation loc = plKeyFinder::Instance().FindLocation(cyMisc::GetAgeName(),plAgeDescription::GetCommonPage(plAgeDescription::kGlobal)); if ( loc.IsValid() ) { plUoid oid(loc,plPythonFileMod::Index(), plPythonFileMod::kGlobalNameKonstant); if ( oid.IsValid() ) { plKey key = hsgResMgr::ResMgr()->FindKey(oid); plPythonFileMod *pfmod = plPythonFileMod::ConvertNoRef(key ? key->GetObjectPtr() : nil); if ( pfmod ) { if (pfmod->GetTarget(0)) return pfmod->GetTarget(0)->GetKey(); } } } // couldn't find one (maybe because we didn't look) return nil; }
void IsEltCentral::viewStructure(ostream& ostr) const { ProblemView pv( ostr, oid(), Text("Is element central problem"), Text("Is") + Name( theWord ) + "central in" + Name( Parent( theWord ) ) + "?", helpID("IsEltCentral",theWord.getParent()), Text(Name(theWord)) + "central ?" ); pv.startItemGroup(); pv.add( Text("For the use of this problem"), ThisARCSlotID(), 50); pv.add( Text("Compute abelian invariants of") + Name( Parent( theWord ) ), abelianInvariants.arcSlotID(), 15 ); pv.startItemGroup ( CheckinType( Parent( theWord ) ) != SMFPGroup::ABELIAN && CheckinType( Parent( theWord ) ) != SMFPGroup::NILPOTENT && CheckinType( Parent( theWord ) ) != SMFPGroup::FREE_NILPOTENT ); pv.add( Text("Enumerate normal closure of relators of") + Name( Parent( theWord ) ), normalClosure.arcSlotID(), 50); pv.add( Text("Seek a rewriting system for") + Name( Parent( theWord ) ), kbSupervisor.arcSlotID(), 50 ); pv.add( Text("Seek a ShortLex automatic structure for") + Name( Parent( theWord ) ), agSupervisor.arcSlotID(), 50 ); pv.add( Text("Run genetic algorithm"), genetic.arcSlotID(), 50 ); pv.startItemGroup( CheckinType( Parent( theWord ) ) == SMFPGroup::NILPOTENT || CheckinType( Parent( theWord ) ) == SMFPGroup::FREE_NILPOTENT ); if (!theWord.getParent().gic.haveNilpotentGroupInited()) pv.add(Text("Compute a basis of ") + Name( Parent( theWord ) ), computeBasis.arcSlotID(), 50 ); pv.add(Text("Solve using relation subgroup for") + Name( Parent( theWord ) ), nilpotentWP.arcSlotID(), 50 ); pv.startItemGroup( CheckinType( Parent( theWord ) ) == SMFPGroup::NILPOTENT || CheckinType( Parent( theWord ) ) == SMFPGroup::FREE_NILPOTENT || CheckinType( Parent( theWord ) ) == SMFPGroup::FP ); int upperBound, currentClass = 2; if (theWord.getParent().gic.isNilpotent()==yes || theWord.getParent().gic.isFreeNilpotent()==yes) upperBound = theWord.getParent().gic.getNilpotentcyClass()-1; else upperBound = 10; while (currentClass <= upperBound && theWord.getParent().gic.haveNilpotentQuotInited( currentClass ) ) currentClass++; if (!(currentClass > upperBound) ) pv.add(Text("Compute lower central quotients for") + Name( Parent( theWord ) ), nilpotentQuotients.arcSlotID(), 50 ); pv.add(Text("Solve using lower central quotients of") + Name( Parent( theWord ) ), nilpotentWPInQuotients.arcSlotID(), 50 ); pv.done(); }
void OrderProblem::viewStructure(ostream& ostr) const { ProblemView pv( ostr, oid(), Text("Order problem"), Text("Find the order of") + Name( theGroup ), helpID("OrderProblem", theGroup), Text("Order") + Name(theGroup) ); /*@db pv.startItemGroup(); pv.add(Text("Determine whether the abelianization is infinite"), abelianRank.arcSlotID(), 15 ); pv.add(Text("Compute abelian invariants of") + Name( theGroup ), abelianInvariants.arcSlotID(), 15 ); */ pv.startItemGroup( CheckinType( theGroup ) == SMFPGroup::FP || CheckinType( theGroup ) == SMFPGroup::NILPOTENT ); pv.add(Text("Enumerate cosets") + Name( theGroup ), theToddCoxeter.arcSlotID(), 100 ); pv.add(Text("GH Todd-Coxeter") + Name( theGroup ), ghToddCoxeter.arcSlotID(), 100 ); pv.startItemGroup( CheckinType( theGroup ) == SMFPGroup::NILPOTENT ); pv.add(Text("Compute a basis of ") + Name( theGroup ), computeBasis.arcSlotID(), 100 ); pv.startItemGroup( CheckinType( theGroup ) == SMFPGroup::FP ); pv.add(Text("Seek a rewriting system for") + Name( theGroup ), kbSupervisor.arcSlotID(), 50 ); pv.add(Text("Seek a ShortLex automatic structure for") + Name( theGroup ), agSupervisor.arcSlotID(), 50 ); pv.done(); }
bool Commit::operator==(const Commit& comm) const { if (commit.get() == nullptr && get() == nullptr) return true; else if (commit.get() == nullptr || get() == nullptr) return false; return oid() == comm.oid(); }