scram::core::Ite
Representation of non-terminal if-then-else vertices in BDD graphs. More...
#include <bdd.h>
Inherits from scram::core::NonTerminal< Ite >, scram::core::Vertex< T >, scram::core::IntrusivePtrCast< T >, boost::noncopyable
Public Functions
| Name | |
|---|---|
| bool | complement_edge() const |
| void | complement_edge(bool flag)<br>Sets the complement flag for the low edge. |
| double | p() const |
| void | p(double value)<br>Sets the probability of the function graph. |
| double | factor() const |
| void | factor(double value)<br>Memorized results of importance factor calculations. |
| NonTerminal(int index, int order, int id, const VertexPtr & high, const VertexPtr & low) |
Friends
| Name | |
|---|---|
| int | get_low_id(const Ite & ite) <br>Special handling of the complement flag in computing low id signature. |
Additional inherited members
Public Functions inherited from scram::core::NonTerminal< Ite >
| Name | |
|---|---|
| int | index() const |
| int | order() const |
| bool | module() const |
| void | module(bool flag)<br>Sets this vertex for representation of a module. |
| bool | coherent() const |
| void | coherent(bool flag)<br>Sets the flag for coherent modules. |
| const VertexPtr & | high() const |
| const VertexPtr & | low() const |
| bool | mark() const |
| void | mark(bool flag)<br>Marks this vertex. |
Protected Functions inherited from scram::core::NonTerminal< Ite >
| Name | |
|---|---|
| ~NonTerminal() =default |
Friends inherited from scram::core::NonTerminal< Ite >
| Name | |
|---|---|
| int | get_high_id(const NonTerminal< T > & vertex) <br>Default logic for getting signature high and low ids. |
Public Functions inherited from scram::core::Vertex< T >
| Name | |
|---|---|
| Vertex(int id) | |
| int | id() const |
| bool | terminal() const |
| int | use_count() const |
| bool | unique() const |
Protected Functions inherited from scram::core::Vertex< T >
| Name | |
|---|---|
| ~Vertex()<br>Communicates the destruction via the pointer to the unique table entry if there's any. |
Friends inherited from scram::core::Vertex< T >
| Name | |
|---|---|
| class | WeakIntrusivePtr< T > |
| void | intrusive_ptr_add_ref(Vertex< T > * ptr) <br>Increases the reference count for new intrusive pointers. |
| void | intrusive_ptr_release(Vertex< T > * ptr) <br>Decrements the reference count for removed intrusive pointers. |
Public Functions inherited from scram::core::IntrusivePtrCast< T >
| Name | |
|---|---|
| IntrusivePtr< W > | Ptr(const IntrusivePtr< Vertex< T > > & vertex) |
| W & | Ref(const IntrusivePtr< Vertex< T > > & vertex) |
Detailed Description
class scram::core::Ite;Representation of non-terminal if-then-else vertices in BDD graphs.
This class is designed to help construct and manipulate BDD graphs.
This class provides one attributed complement edge. The attributed edge applies to the low/false/0 branch of the vertex. However, there is no logic to check if the complement edge manipulations are valid. Consistency is the responsibility of BDD algorithms and users.
Public Functions Documentation
function complement_edge
inline bool complement_edge() constReturn: true if the low edge is complement.
function complement_edge
inline void complement_edge(
bool flag
)Sets the complement flag for the low edge.
Parameters:
- flag Indicator to treat the low branch as a complement.
function p
inline double p() constReturn: The probability of the function graph.
function p
inline void p(
double value
)Sets the probability of the function graph.
Parameters:
- value Calculated value for the probability.
function factor
inline double factor() constReturn: Saved results of importance factor calculations.
function factor
inline void factor(
double value
)Memorized results of importance factor calculations.
Parameters:
- value Calculation results for importance factor.
function NonTerminal
inline NonTerminal(
int index,
int order,
int id,
const VertexPtr & high,
const VertexPtr & low
)Parameters:
- index Index of this non-terminal vertex.
- order Specific ordering number for BDD graphs.
- id Unique identifier of the ROBDD graph. The identifier should not collide with the identifiers (0/1) of terminal nodes.
- high A vertex for the (1/True/then/left) branch.
- low A vertex for the (0/False/else/right) branch.
Friends
friend get_low_id
friend int get_low_id(
const Ite & ite
);Special handling of the complement flag in computing low id signature.
Parameters:
- ite Ite vertex.
Return: The signed number for complement low id.
Updated on 2025-11-11 at 16:51:08 +0000
