int GetT() { int val = GetP(); while (*s == '/' || *s == '*') { int op = *s++; int val2 = GetP(); if (op == '/') val /= val2; if (op == '*') val *= val2; } return val; }
ClusterGraph::ClusterGraph(const ClusterStructure& clusterStructure, const std::vector<AutomataStatesPair>& stablePairs): adjacencyList(0, 0), clusterStructure(clusterStructure), stablePairs(stablePairs) { adjacencyList = MultiListGraph<ClusterGraphEdge>(clusterStructure.GetClusterCount(), 2*stablePairs.size()); for (size_t i = 0; i < stablePairs.size(); ++i) { auto stablePair = stablePairs[i]; int pCluster = clusterStructure.GetVertexInfos()[stablePair.GetP()].clusterIndex; int qCluster = clusterStructure.GetVertexInfos()[stablePair.GetQ()].clusterIndex; if (!clusterStructure.IsBigCluster(pCluster) || !clusterStructure.IsBigCluster(qCluster)) continue; adjacencyList.AddEdge(pCluster, ClusterGraphEdge(qCluster, stablePair.GetP(), stablePair.GetQ())); adjacencyList.AddEdge(qCluster, ClusterGraphEdge(pCluster, stablePair.GetQ(), stablePair.GetP())); } size_t n = clusterStructure.GetSingleLetterGraph().size(); levels = std::vector<int>(n, -1); for (size_t i = 0; i < n; ++i) { levels[i] = GetLevel(i, clusterStructure, levels); } }
void PIDController::InitTable(std::shared_ptr<ITable> table) { if (m_table != nullptr) m_table->RemoveTableListener(this); m_table = table; if (m_table != nullptr) { m_table->PutNumber(kP, GetP()); m_table->PutNumber(kI, GetI()); m_table->PutNumber(kD, GetD()); m_table->PutNumber(kF, GetF()); m_table->PutNumber(kSetpoint, GetSetpoint()); m_table->PutBoolean(kEnabled, IsEnabled()); m_table->AddTableListener(this, false); } }
int GetT() { int val = GetP(); while (*Eq == '*' || *Eq == '/') { int op = *Eq; Eq++; if ((*Eq < '0' || '9' < *Eq) && *Eq != '(') { throw 3; } else { int val2 = GetP(); if (op == '*') { val *= val2; buf[buf_count++] = op; } if (op == '/') { if (val2 == 0) { throw 0; } val = val / val2; buf[buf_count++] = op; } } } return val; }
NetworkTable* PIDJaguar::GetTable() { if (m_table == NULL) { m_table = new NetworkTable(); m_table->PutDouble(kP, GetP()); m_table->PutDouble(kI, GetI()); m_table->PutDouble(kD, GetD()); m_table->PutDouble(kSetpoint, Get()); m_table->PutBoolean(kEnabled, m_bEnabled); m_table->AddChangeListenerAny(this); } return m_table; }
void CppDiffieHellman::Init() { _p_int = CryptoPP::Integer(reinterpret_cast<byte *>(GetP().data()), GetP().count()); _q_int = CryptoPP::Integer(reinterpret_cast<byte *>(GetQ().data()), GetQ().count()); _g_int = CryptoPP::Integer(reinterpret_cast<byte *>(GetG().data()), GetG().count()); }