You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A parallel container's required interface is derived from the required interfaces of all of its children.
They must not conflict to each other. Otherwise an InitStageException should be thrown.
Implement unittests in core/test/test_container.cpp, following the example of SerialContainer, to validate correct initialization of allowed (and failure detection for forbidden) combinations. The following combinations are feasible:
❘ ❘ = ❘ (connecting stages)
↑ ↑ = ↑ (backward propagating)
↓ ↓ = ↓ (forward propagating)
↑ ↓ = ⇅ = ⇅ ↑ = ⇅ ↓ (propagating in both directions)
↕ ↕ = ↕ (generating)
requiredInterface(): correctly derive a consistent interface from children or throw an InitStageException. Not all combinations of child interfaces are possible.
init(): use ParallelContainer::requiredInterface() to determine the interface
implement pruneInterface(): forward pruning to all children with UNKNOWN required interface, follow SerialContainer's implementation
fix validateConnectivity(): an exact match of ParallelContainer's interface to all children's interfaces is not required. ParallelContainer's interface, only needs to be a superset. For example, children interfaces of type ↑ or ↓ match to container's ⇅, but not vice versa.
The text was updated successfully, but these errors were encountered:
A parallel container's required interface is derived from the required interfaces of all of its children.
They must not conflict to each other. Otherwise an InitStageException should be thrown.
requiredInterface()
: correctly derive a consistent interface from children or throw anInitStageException
. Not all combinations of child interfaces are possible.init()
: useParallelContainer::requiredInterface()
to determine the interfacepruneInterface()
: forward pruning to all children withUNKNOWN
required interface, follow SerialContainer's implementationvalidateConnectivity()
: an exact match ofParallelContainer's
interface to all children's interfaces is not required.ParallelContainer's
interface, only needs to be a superset. For example, children interfaces of type ↑ or ↓ match to container's ⇅, but not vice versa.The text was updated successfully, but these errors were encountered: