parastics const

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2023-09-30 15:28:46 -06:00
parent 54a9a48f5c
commit be4b2f0139
5 changed files with 25 additions and 25 deletions

View File

@ -101,8 +101,8 @@ public:
makeParasiticNetwork(const Net *net,
bool pin_cap_included,
const ParasiticAnalysisPt *ap);
virtual ParasiticDeviceIterator *deviceIterator(Parasitic *) { return nullptr; }
virtual ParasiticNodeIterator *nodeIterator(Parasitic *) { return nullptr; }
virtual ParasiticDeviceIterator *deviceIterator(const Parasitic *) { return nullptr; }
virtual ParasiticNodeIterator *nodeIterator(const Parasitic *) { return nullptr; }
virtual bool includesPinCaps(const Parasitic *parasitic) const;
virtual void deleteParasiticNetwork(const Net *net,
const ParasiticAnalysisPt *ap);

View File

@ -153,8 +153,8 @@ public:
virtual Parasitic *makeParasiticNetwork(const Net *net,
bool includes_pin_caps,
const ParasiticAnalysisPt *ap) = 0;
virtual ParasiticDeviceIterator *deviceIterator(Parasitic *parasitic) = 0;
virtual ParasiticNodeIterator *nodeIterator(Parasitic *parasitic) = 0;
virtual ParasiticDeviceIterator *deviceIterator(const Parasitic *parasitic) = 0;
virtual ParasiticNodeIterator *nodeIterator(const Parasitic *parasitic) = 0;
// Delete parasitic network if it exists.
virtual void deleteParasiticNetwork(const Net *net,
const ParasiticAnalysisPt *ap) = 0;

View File

@ -131,13 +131,13 @@ ConcreteParasitic::setPoleResidue(const Pin *,
}
ParasiticDeviceIterator *
ConcreteParasitic::deviceIterator()
ConcreteParasitic::deviceIterator() const
{
return nullptr;
}
ParasiticNodeIterator *
ConcreteParasitic::nodeIterator()
ConcreteParasitic::nodeIterator() const
{
return nullptr;
}
@ -688,15 +688,15 @@ ConcreteParasiticNetwork::deleteDevices()
}
ParasiticNodeIterator *
ConcreteParasiticNetwork::nodeIterator()
ConcreteParasiticNetwork::nodeIterator() const
{
ConcreteParasiticNodeSeq *nodes = new ConcreteParasiticNodeSeq();
ConcreteParasiticPinNodeMap::Iterator node_iter2(pin_nodes_);
ConcreteParasiticPinNodeMap::ConstIterator node_iter2(pin_nodes_);
while (node_iter2.hasNext()) {
ConcreteParasiticPinNode *node = node_iter2.next();
nodes->push_back(node);
}
ConcreteParasiticSubNodeMap::Iterator node_iter1(sub_nodes_);
ConcreteParasiticSubNodeMap::ConstIterator node_iter1(sub_nodes_);
while (node_iter1.hasNext()) {
ConcreteParasiticSubNode *node = node_iter1.next();
nodes->push_back(node);
@ -705,7 +705,7 @@ ConcreteParasiticNetwork::nodeIterator()
}
ParasiticDeviceIterator *
ConcreteParasiticNetwork::deviceIterator()
ConcreteParasiticNetwork::deviceIterator() const
{
ConcreteParasiticDeviceSet *devices1 = new ConcreteParasiticDeviceSet();
devices(devices1);
@ -713,11 +713,11 @@ ConcreteParasiticNetwork::deviceIterator()
}
void
ConcreteParasiticNetwork::devices(ConcreteParasiticDeviceSet *devices)
ConcreteParasiticNetwork::devices(ConcreteParasiticDeviceSet *devices) const
{
// Collect devices into a set so they are only deleted once
// because multiple sub-nodes or pin nodes can refer to them.
ConcreteParasiticSubNodeMap::Iterator node_iter1(sub_nodes_);
ConcreteParasiticSubNodeMap::ConstIterator node_iter1(sub_nodes_);
while (node_iter1.hasNext()) {
ConcreteParasiticSubNode *node = node_iter1.next();
ConcreteParasiticDeviceSeq::Iterator device_iter(node->devices());
@ -727,10 +727,10 @@ ConcreteParasiticNetwork::devices(ConcreteParasiticDeviceSet *devices)
}
}
ConcreteParasiticPinNodeMap::Iterator node_iter2(pin_nodes_);
ConcreteParasiticPinNodeMap::ConstIterator node_iter2(pin_nodes_);
while (node_iter2.hasNext()) {
ConcreteParasiticPinNode *node = node_iter2.next();
ConcreteParasiticDeviceSeq::Iterator device_iter(node->devices());
ConcreteParasiticDeviceSeq::ConstIterator device_iter(node->devices());
while (device_iter.hasNext()) {
ConcreteParasiticDevice *device = device_iter.next();
devices->insert(device);
@ -1468,16 +1468,16 @@ ConcreteParasitics::makeResistor(const char *name,
}
ParasiticDeviceIterator *
ConcreteParasitics::deviceIterator(Parasitic *parasitic)
ConcreteParasitics::deviceIterator(const Parasitic *parasitic)
{
ConcreteParasitic *cparasitic = static_cast<ConcreteParasitic*>(parasitic);
const ConcreteParasitic *cparasitic = static_cast<const ConcreteParasitic*>(parasitic);
return cparasitic->deviceIterator();
}
ParasiticNodeIterator *
ConcreteParasitics::nodeIterator(Parasitic *parasitic)
ConcreteParasitics::nodeIterator(const Parasitic *parasitic)
{
ConcreteParasitic *cparasitic = static_cast<ConcreteParasitic*>(parasitic);
const ConcreteParasitic *cparasitic = static_cast<const ConcreteParasitic*>(parasitic);
return cparasitic->nodeIterator();
}

View File

@ -142,8 +142,8 @@ public:
virtual void makeResistor(const char *name, ParasiticNode *node1,
ParasiticNode *node2,
float res, const ParasiticAnalysisPt *ap);
virtual ParasiticDeviceIterator *deviceIterator(Parasitic *parasitic);
virtual ParasiticNodeIterator *nodeIterator(Parasitic *parasitic);
virtual ParasiticDeviceIterator *deviceIterator(const Parasitic *parasitic);
virtual ParasiticNodeIterator *nodeIterator(const Parasitic *parasitic);
virtual const char *name(const ParasiticNode *node);
virtual const Pin *connectionPin(const ParasiticNode *node) const;

View File

@ -78,8 +78,8 @@ public:
virtual void setPoleResidue(const Pin *load_pin,
ComplexFloatSeq *poles,
ComplexFloatSeq *residues);
virtual ParasiticDeviceIterator *deviceIterator();
virtual ParasiticNodeIterator *nodeIterator();
virtual ParasiticDeviceIterator *deviceIterator() const;
virtual ParasiticNodeIterator *nodeIterator() const;
};
// Pi model for a driver pin.
@ -414,10 +414,10 @@ public:
ConcreteParasiticSubNodeMap *subNodes() { return &sub_nodes_; }
void disconnectPin(const Pin *pin,
const Net *net);
virtual ParasiticDeviceIterator *deviceIterator();
virtual ParasiticNodeIterator *nodeIterator();
virtual ParasiticDeviceIterator *deviceIterator() const;
virtual ParasiticNodeIterator *nodeIterator() const;
virtual void devices(// Return value.
ConcreteParasiticDeviceSet *devices);
ConcreteParasiticDeviceSet *devices) const;
private:
void deleteNodes();