Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

_scv_constraint_manager Class Reference

#include <scv_constraint.h>

Collaboration diagram for _scv_constraint_manager:

Collaboration graph
[legend]
List of all members.

Public Methods

 _scv_constraint_manager ()
 ~_scv_constraint_manager ()
bddNodeTget_bdd (scv_expression e, scv_constraint_base *c, bool hard_constraint)
void init_bdd (scv_expression e, scv_constraint_base *c, bool hard_constraint)
void countMaxVar (const scv_expression &e)
void add_sparse_var (scv_extensions_if *e, bddNodeT *b)
void check_sparse_var (scv_constraint_base *c, bddNodeT *b)
void reset (void)
bddManagerTgetManagerP (void)
void assignRandomValue (scv_extensions_if *s, bddNodeT *argP, _scv_constraint_data *cdata_)
void assignRandomValue (scv_extensions_if *s, bddNodeT *argP, scv_shared_ptr< scv_random > g)
void assignRandomValue (scv_constraint_base *c, bool simplify)
void wrapup (scv_extensions_if *s)
void add_extension (scv_extensions_if *s)
bool has_complex_constraint (scv_extensions_if *s)

Friends

void _scv_set_value (scv_extensions_if *e, scv_constraint_base *c, scv_shared_ptr< scv_random > g)
void _scv_set_value (scv_extensions_if *e, _scv_constraint_data *cdata_)
bddNodeT_scv_bdd_and (bddNodeT &bh, bddNodeT &bs, const scv_constraint_base *c)

Constructor & Destructor Documentation

_scv_constraint_manager::_scv_constraint_manager  
 

Definition at line 587 of file scv_constraint.cpp.

References bddNodeT, and CUDD_MAXINDEX.

_scv_constraint_manager::~_scv_constraint_manager  
 

Definition at line 622 of file scv_constraint.cpp.


Member Function Documentation

void _scv_constraint_manager::add_extension scv_extensions_if   s
 

Definition at line 1167 of file scv_constraint.cpp.

Referenced by scv_constraint_manager::add_extension().

void _scv_constraint_manager::add_sparse_var scv_extensions_if   e,
bddNodeT   b
 

Definition at line 663 of file scv_constraint.cpp.

References bddNodeT, _scv_open_table< _smartDataRecordT >::get(), scv_out, and _smartDataRecordT::startIndex.

Referenced by check_sparse_var().

void _scv_constraint_manager::assignRandomValue scv_constraint_base   c,
bool    simplify
 

Definition at line 1046 of file scv_constraint.cpp.

References _scv_expr::BDD, bddNodeT, _scv_constraint_data::DISTRIBUTION, _scv_constraint_data::DISTRIBUTION_RANGE, _scv_constraint_data::gen_mode, scv_constraint_base::get_bdd(), scv_constraint_base::get_members(), scv_constraint_base::get_random(), scv_constraint_base::get_scan_counter(), _scv_expr::getBddNodeP(), _scv_associative_array< scv_constraint_base *, bddNodeT * >::getValue(), _scv_associative_array< scv_constraint_base *, bddNodeT * >::insert(), _scv_constraint_data::RANGE_CONSTRAINT, _scv_expr::setBddNodeP(), and _scv_expr::setType().

void _scv_constraint_manager::assignRandomValue scv_extensions_if   s,
bddNodeT   argP,
scv_shared_ptr< scv_random   g
 

Definition at line 852 of file scv_constraint.cpp.

References bddNodeT, _scv_open_table< _smartDataRecordT >::get(), _smartDataRecordT::numvar, and _smartDataRecordT::startIndex.

void _scv_constraint_manager::assignRandomValue scv_extensions_if   s,
bddNodeT   argP,
_scv_constraint_data   cdata_
 

Definition at line 872 of file scv_constraint.cpp.

References _scv_expr::BDD, bddNodeT, generate_value_range_constraint(), _scv_open_table< _smartDataRecordT >::get(), scv_constraint_base::get_bdd(), _scv_constraint_data::get_constraint(), _scv_constraint_data::get_random(), _scv_expr::getBddNodeP(), _scv_associative_array< scv_constraint_base *, bddNodeT * >::getValue(), _scv_associative_array< scv_constraint_base *, bddNodeT * >::insert(), _scv_constraint_data::is_avoid_duplicate_mode(), _scv_constraint_data::is_scan_mode(), _scv_constraint_data::lb_scan_, _smartDataRecordT::numvar, _scv_constraint_data::prev_val_, _scv_expr::setBddNodeP(), _scv_expr::setType(), and _smartDataRecordT::startIndex.

Referenced by _scv_set_value(), and scv_constraint_manager::set_value().

void _scv_constraint_manager::check_sparse_var scv_constraint_base   c,
bddNodeT   b
 

Definition at line 702 of file scv_constraint.cpp.

References add_sparse_var(), bddNodeT, and scv_constraint_base::get_members().

Referenced by get_bdd().

void _scv_constraint_manager::countMaxVar const scv_expression   e
 

Definition at line 1265 of file scv_constraint.cpp.

References scv_expression::AND, scv_expression::BOOLEAN_CONSTANT, scv_expression::DOUBLE_CONSTANT, scv_expression::EMPTY, scv_expression::EQUAL, scv_expression::EXTENSION, scv_expression::get_extension(), scv_expression::get_left(), scv_expression::get_operator(), scv_expression::get_right(), scv_expression::GREATER_OR_EQUAL, scv_expression::GREATER_THAN, scv_expression::INT_CONSTANT, _scv_constraint_error::internalError(), scv_expression::LESS_OR_EQUAL, scv_expression::LESS_THAN, scv_expression::MINUS, scv_expression::MULTIPLY, scv_expression::NOT, scv_expression::NOT_EQUAL, scv_expression::OR, scv_expression::PLUS, and scv_expression::UNSIGNED_CONSTANT.

Referenced by scv_constraint_manager::init_maxvar().

bddNodeT & _scv_constraint_manager::get_bdd scv_expression    e,
scv_constraint_base   c,
bool    hard_constraint
 

Definition at line 645 of file scv_constraint.cpp.

References bddNodeT, _scv_constraint_error::cannotMeetConstraint(), check_sparse_var(), scv_constraint_base::get_name(), and _scv_expr::getBddNodeP().

Referenced by scv_constraint_manager::get_bdd().

bddManagerT* _scv_constraint_manager::getManagerP void    [inline]
 

Definition at line 528 of file scv_constraint.h.

References bddManagerT.

Referenced by _scv_bdd_and().

bool _scv_constraint_manager::has_complex_constraint scv_extensions_if   s
 

Definition at line 1184 of file scv_constraint.cpp.

References _scv_open_table< _smartDataRecordT >::get().

Referenced by _scv_has_complex_constraing().

void _scv_constraint_manager::init_bdd scv_expression    e,
scv_constraint_base   c,
bool    hard_constraint
 

Definition at line 714 of file scv_constraint.cpp.

References scv_expression::get_expression_string(), and scv_constraint_base::set_expression_string().

Referenced by scv_constraint_manager::init_bdd().

void _scv_constraint_manager::reset void   
 

Definition at line 635 of file scv_constraint.cpp.

References _scv_associative_array< scv_extensions_if *, int >::clear().

Referenced by scv_constraint_manager::reset().

void _scv_constraint_manager::wrapup scv_extensions_if   s
 

Definition at line 1144 of file scv_constraint.cpp.

References _scv_open_table< _smartDataRecordT >::get(), and _scv_open_table< _smartDataRecordT >::remove().

Referenced by scv_constraint_manager::wrapup().


Friends And Related Function Documentation

bddNodeT& _scv_bdd_and bddNodeT   bh,
bddNodeT   bs,
const scv_constraint_base   c
[friend]
 

Definition at line 3093 of file scv_constraint.cpp.

void _scv_set_value scv_extensions_if   e,
_scv_constraint_data   cdata_
[friend]
 

Definition at line 3047 of file scv_constraint.cpp.

void _scv_set_value scv_extensions_if   e,
scv_constraint_base   c,
scv_shared_ptr< scv_random   g
[friend]
 

Definition at line 3076 of file scv_constraint.cpp.


The documentation for this class was generated from the following files:
Generated on Sun Dec 12 19:22:35 2004 for SystemC2.0.1(excludingMSLib)(IncludingSCV) by doxygen1.2.18