parastics const
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
54a9a48f5c
commit
be4b2f0139
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Reference in New Issue