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

_scv_randomization.h File Reference

#include "scv/scv_shared_ptr.h"
#include "scv/scv_constraint_range.h"
#include <float.h>

Include dependency graph for _scv_randomization.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Compounds

class  _scv_constraint_data
class  _scv_distribution
class  _scv_distribution_base

Defines

#define GET_RANDOM()
#define _SCV_DISTRIBUTION(typename)
#define _SCV_CHECK_DATA()   _scv_constraint_data* cd = e->get_constraint_data();
#define _SCV_ONLY_OR_OUT(dummy_values, exclude, gen, lb, ub)
#define _SCV_KEEP_RANGE_TYPE(_typename)
#define _SCV_KEEP_RANGE_TYPE_NO_W(_typename)
#define _SCV_KEEP_RANGE_INT(_typename)
#define _SCV_SC_UNSIGNED_VALUE(dummy_values, W, lb, ub)
#define _SCV_KEEP_RANGE_BIT(_typename)
#define _SCV_UNSIGNED_VALUE(lb, ub)
#define _SCV_KEEP_RANGE_LOGIC(_typename)
#define _SCV_KEEP_RANGE_FLOAT(_typename)
#define _SCV_KEEP_RANGE_BASE_TYPE(_typename)
#define _SCV_KEEP_RANGE_BASE_BIG_TYPE(_typename)
#define _SCV_KEEP_RANGE_BASE_LOGIC_TYPE(_typename)
#define _SCV_KEEP_RANGE_ERROR(_typename)
#define _SCV_KEEP_RANGE_LIST_HEADER(_typename)
#define _SCV_KEEP_RANGE_SC_HEADER(_typename)
#define _SCV_KEEP_RANGE_SET_LIST(tlist)
#define _SCV_KEEP_RANGE_LIST_INT_TYPE(_typename)
#define _SCV_KEEP_RANGE_LIST_INT64_TYPE(_typename)
#define _SCV_KEEP_RANGE_LIST_SC_INT_TYPE(_typename)
#define _SCV_KEEP_RANGE_LIST_UNSIGNED_TYPE(_typename)
#define _SCV_KEEP_RANGE_LIST_UNSIGNED64_TYPE(_typename)
#define _SCV_KEEP_RANGE_LIST_SC_UINT_TYPE(_typename)
#define _SCV_KEEP_RANGE_LIST_FLOAT_TYPE(_typename)
#define _SCV_KEEP_RANGE_LIST_SC_SIGNED_TYPE(_typename)
#define _SCV_KEEP_RANGE_LIST_SC_UNSIGNED_TYPE(_typename)
#define _SCV_KEEP_RANGE_LIST_BASE_UNSIGNED_TYPE(_typename)
#define _SCV_KEEP_RANGE_LIST_BASE_SIGNED_TYPE(_typename)
#define _SCV_KEEP_RANGE_LIST_BASE_SC_SIGNED_TYPE(_typename)
#define _SCV_KEEP_RANGE_LIST_BASE_SC_UNSIGNED_TYPE(_typename)
#define _SCV_KEEP_RANGE_LIST_LOGIC_TYPE(_typename)

Functions

scv_constraint_base_scv_new_constraint (scv_constraint_base *c)
void _scv_delete_constraint (scv_constraint_base *c)
void _scv_assign_enum_value (scv_extensions_if *e, _scv_constraint_data *cdata_, int e1_val, int e2_val)
scv_extensions_if_scv_find_extension (scv_constraint_base *c, scv_extensions_if *e)
bool create_random (scv_extensions_if *e)
void _scv_set_value (scv_extensions_if *e, _scv_constraint_data *cdata_)
void _scv_set_value (scv_extensions_if *e, scv_constraint_base *c, scv_shared_ptr< scv_random > g)
_scv_constraint_data_get_constraint_data_enum (_scv_extension_rand_enum *data)
void _set_mode_enum (_scv_extension_rand_enum *data, _scv_constraint_data::gen_mode m)
scv_shared_ptr< scv_random_get_random_enum (_scv_extension_rand_enum *data)
template<typename T> void generate_value_distribution (scv_extensions_if *, scv_bag< T > *)
template<typename T> void generate_value_distribution_range (scv_extensions_if *, scv_bag< pair< T, T > > *, _scv_constraint_data *)
void generate_value_no_constraint (scv_extensions_if *, _scv_constraint_data *)
void generate_value_extension (scv_extensions_if *, _scv_constraint_data *)
void generate_value_range_constraint (scv_extensions_if *, _scv_constraint_data *)
template<typename T> void generate_value_distribution_bigvalue (scv_extensions_if *, scv_bag< T > *)
template<typename T> void generate_value_distribution_range_bigvalue (scv_extensions_if *, scv_bag< pair< T, T > > *, _scv_constraint_data *, sc_unsigned *)
template<typename T> bool check_mode (scv_extensions_if::mode_t t, scv_extensions_if *e, const string &name, _scv_distribution< T > *dist)
void _scv_rand_util_get_list (scv_extensions_if *e, int lb, int ub, unsigned &mth, unsigned &nth)
bool _scv_has_complex_constraint (scv_extensions_if *)
template<typename T> void _scv_keep_range (scv_extensions_if *e, const T &lb, const T &ub, bool exclude, bool dummy_values=false)
template<typename T> void _scv_keep_range_list_enum (scv_extensions_if *e, const list< T > &vlist, bool exclude)
template<typename T1, typename T2> void _scv_get_list (const list< T2 > &vlist, list< T1 > &tlist)
template<typename T1, typename T2> void _scv_get_base_unsigned_list (const list< T2 > &vlist, list< T1 > &tlist)
template<typename T1, typename T2> void _scv_get_base_signed_list (const list< T2 > &vlist, list< T1 > &tlist)
template<typename T1, typename T2> void _scv_get_list_sc (int W, const list< T2 > &vlist, list< T1 > &tlist)
template<typename T1, typename T2> void _scv_get_sc_list (int W, const list< T2 > &vlist, list< T1 > &tlist)
template<typename T1, typename T2> void _scv_get_logic_list (const list< T2 > &vlist, list< T1 > &tlist)
template<typename T> void _scv_keep_range (scv_extensions_if *e, const list< T > &vlist)


Define Documentation

 
#define _SCV_CHECK_DATA      _scv_constraint_data* cd = e->get_constraint_data();
 

Definition at line 731 of file _scv_randomization.h.

Referenced by _scv_keep_range().

#define _SCV_DISTRIBUTION typename   
 

Definition at line 305 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_BASE_BIG_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_TYPE_NO_W(_typename)                                     \
  _SCV_CHECK_DATA()                                                        \
  if (e->is_integer()) {                                                  \
    _scv_constraint_range_generator_signed_big *gen = NULL;               \
    gen = cd->get_signed_big_generator(e);                             \
    _SCV_ONLY_OR_OUT(dummy_values, exclude, gen, lb, ub)                 \
  } else if (e->is_unsigned()) {                                          \
    _scv_constraint_range_generator_unsigned_big *ugen = NULL;               \
    ugen = cd->get_unsigned_big_generator(e);                             \
    _SCV_ONLY_OR_OUT(dummy_values, exclude, ugen, lb, ub)                 \
  } \
  cd->set_mode(_scv_constraint_data::RANGE_CONSTRAINT);                    \
}                                                                         \

Definition at line 829 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_BASE_LOGIC_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_TYPE_NO_W(_typename)                                   \
  _SCV_CHECK_DATA()                                                      \
  _scv_constraint_range_generator_unsigned_big *ugen = NULL;               \
  ugen = cd->get_unsigned_big_generator(e);                             \
  _SCV_SC_UNSIGNED_VALUE(dummy_values, e->get_bitwidth(), lb, ub)       \
  _SCV_ONLY_OR_OUT(dummy_values, exclude, ugen, lbv, ubv)                 \
  cd->set_mode(_scv_constraint_data::RANGE_CONSTRAINT);                    \
}                                                                  \

Definition at line 844 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_BASE_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_TYPE_NO_W(_typename)                                     \
  _SCV_CHECK_DATA()                                                        \
  if (e->is_integer()) {                                                  \
    if (e->get_bitwidth() <= 64) {   \
      _scv_constraint_range_generator_int_ll * gen =  \
        cd->get_int_ll_generator(e); \
      _SCV_ONLY_OR_OUT(dummy_values, exclude, gen, lb.to_int64(), \
        ub.to_int64()) \
    } else { \
      _scv_message::message(_scv_message::INTERNAL_ERROR, "_scv_keep_range (sc_signed), unsupported bitwidth."); \
    } \
  } else if (e->is_unsigned()) {                                          \
    if (e->get_bitwidth() <= 64) { \
      _scv_constraint_range_generator_unsigned_ll * gen =  \
        cd->get_unsigned_ll_generator(e); \
      _SCV_ONLY_OR_OUT(dummy_values, exclude, gen, lb.to_uint64(), \
        ub.to_uint64()) \
    } else { \
      _scv_message::message(_scv_message::INTERNAL_ERROR, "_scv_keep_range (sc_unsigned), unsupported bitwidth."); \
    } \
  }                                                                       \
  cd->set_mode(_scv_constraint_data::RANGE_CONSTRAINT);                    \
}                                                                         \

Definition at line 804 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_BIT _typename   
 

Value:

_SCV_KEEP_RANGE_TYPE(_typename)                                          \
  _SCV_CHECK_DATA()                                                        \
  _scv_constraint_range_generator_unsigned_big *ugen = NULL;               \
  ugen = cd->get_unsigned_big_generator(e);                               \
  _SCV_SC_UNSIGNED_VALUE(dummy_values, W, lb, ub)        \
  _SCV_ONLY_OR_OUT(dummy_values, exclude, ugen, lbv, ubv)                                \
  cd->set_mode(_scv_constraint_data::RANGE_CONSTRAINT);                    \
}

Definition at line 771 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_ERROR _typename   
 

Value:

_SCV_KEEP_RANGE_TYPE_NO_W(_typename)                                     \
  _scv_message::message(_scv_message::RANDOM_TYPE_NOT_SUPPORTED, #_typename);  \
}                                                                         \

Definition at line 854 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_FLOAT _typename   
 

Value:

_SCV_KEEP_RANGE_TYPE_NO_W(_typename)                                     \
  _SCV_CHECK_DATA()                                                        \
  _scv_constraint_range_generator_double *dgen = NULL;                     \
  dgen = cd->get_double_generator(e);                                     \
  _SCV_ONLY_OR_OUT(dummy_values, exclude, dgen, lb, ub)                                  \
  cd->set_mode(_scv_constraint_data::RANGE_CONSTRAINT);                    \
}                                                                         \

Definition at line 795 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_INT _typename   
 

Value:

_SCV_KEEP_RANGE_TYPE(_typename)                                          \
  _SCV_CHECK_DATA()                                                        \
  _scv_constraint_range_generator_unsigned_big *ugen = NULL;               \
  _scv_constraint_range_generator_signed_big *sgen = NULL;                 \
  if (e->is_integer()) {                                                  \
    sgen = cd->get_signed_big_generator(e);                               \
    _SCV_ONLY_OR_OUT(dummy_values, exclude, sgen, lb, ub)                                \
  } else if (e->is_unsigned()) {                                          \
    ugen = cd->get_unsigned_big_generator(e);                             \
    _SCV_ONLY_OR_OUT(dummy_values, exclude, ugen, lb, ub)                                \
  }                                                                       \
  cd->set_mode(_scv_constraint_data::RANGE_CONSTRAINT);                    \
}

Definition at line 751 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_BASE_SC_SIGNED_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_LIST_HEADER(_typename)                                     \
  _scv_constraint_range_generator_signed_big * gen =                          \
  cd->get_signed_big_generator(e);                                           \
  list<sc_signed> tlist; \
  _scv_get_sc_list(e->get_bitwidth(), vlist, tlist);                         \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                \
}

Definition at line 1130 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_BASE_SC_UNSIGNED_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_LIST_HEADER(_typename)                                     \
  _scv_constraint_range_generator_unsigned_big * gen =                          \
  cd->get_unsigned_big_generator(e);                                           \
  list<sc_unsigned> tlist; \
  _scv_get_sc_list(e->get_bitwidth(), vlist, tlist);                         \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                \
}

Definition at line 1139 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_BASE_SIGNED_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_LIST_HEADER(_typename)                                  \
  _scv_constraint_range_generator_int_ll * gen =                        \
  cd->get_int_ll_generator(e);                                          \
  list<long long> tlist; \
  _scv_get_base_signed_list(vlist, tlist)      ;                    \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                \
}

Definition at line 1121 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_BASE_UNSIGNED_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_LIST_HEADER(_typename)                                  \
  _scv_constraint_range_generator_unsigned_ll * gen =                        \
  cd->get_unsigned_ll_generator(e);                                          \
  list<unsigned long long> tlist; \
  _scv_get_base_unsigned_list(vlist, tlist)      ;                    \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                \
}

Definition at line 1112 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_FLOAT_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_LIST_HEADER(_typename)                                        \
  _scv_constraint_range_generator_double * gen =                                \
  cd->get_double_generator(e);                                                 \
  list<double> tlist; \
  _scv_get_list(vlist, tlist) ;                                      \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                \
}

Definition at line 1085 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_HEADER _typename   
 

Value:

template <>                                                                    \
inline void _scv_keep_range(scv_extensions_if* e, const list<_typename>& vlist) {       \
  _SCV_CHECK_DATA()                                                             \

Definition at line 1017 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_INT64_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_LIST_HEADER(_typename)                                        \
  _scv_constraint_range_generator_int_ll * gen =                                \
  cd->get_int_ll_generator(e);                                                 \
  list<long long> tlist;                                                             \
  _scv_get_list(vlist, tlist);                                                   \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                                               \
}

Definition at line 1040 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_INT_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_LIST_HEADER(_typename)                                        \
  _scv_constraint_range_generator_int * gen =                                   \
  cd->get_int_generator(e);                                                    \
  list<int> tlist;                                                             \
  _scv_get_list(vlist, tlist);                                                  \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                                               \
}

Definition at line 1031 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_LOGIC_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_LIST_HEADER(_typename)                                        \
  _scv_constraint_range_generator_unsigned * gen =                              \
  cd->get_unsigned_generator(e);                                               \
  list<unsigned> tlist; \
  _scv_get_logic_list(vlist, tlist);                               \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                \
}

Definition at line 1148 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_SC_INT_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_SC_HEADER(_typename)                                     \
  _scv_constraint_range_generator_int_ll * gen =                                \
  cd->get_int_ll_generator(e); \
  list<long long> tlist;                                              \
  _scv_get_list_sc(W, vlist, tlist);                              \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                                               \
}

Definition at line 1049 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_SC_SIGNED_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_SC_HEADER(_typename)                                     \
  _scv_constraint_range_generator_signed_big * gen =                            \
  cd->get_signed_big_generator(e);                                             \
  list<sc_signed> tlist; \
  _scv_get_sc_list(W, vlist, tlist);                              \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                \
}

Definition at line 1094 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_SC_UINT_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_SC_HEADER(_typename)                                     \
  _scv_constraint_range_generator_unsigned_ll * gen =                           \
  cd->get_unsigned_ll_generator(e);                                            \
  list<unsigned long long> tlist; \
  _scv_get_list_sc(W, vlist, tlist);                     \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                \
}

Definition at line 1076 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_SC_UNSIGNED_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_SC_HEADER(_typename)                                     \
  _scv_constraint_range_generator_unsigned_big * gen =                          \
  cd->get_unsigned_big_generator(e);                                           \
  list<sc_unsigned> tlist; \
  _scv_get_sc_list(e->get_bitwidth(), vlist, tlist);                         \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                \
}

Definition at line 1103 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_UNSIGNED64_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_LIST_HEADER(_typename)                                        \
  _scv_constraint_range_generator_unsigned_ll * gen =                           \
  cd->get_unsigned_ll_generator(e);                                            \
  list<unsigned long long> tlist; \
  _scv_get_list(vlist, tlist) ;                          \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                                               \
}

Definition at line 1067 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LIST_UNSIGNED_TYPE _typename   
 

Value:

_SCV_KEEP_RANGE_LIST_HEADER(_typename)                                        \
  _scv_constraint_range_generator_unsigned * gen =                              \
  cd->get_unsigned_generator(e);                                               \
  list<unsigned> tlist; \
  _scv_get_list(vlist, tlist)      ;                               \
  _SCV_KEEP_RANGE_SET_LIST(tlist)                                               \
}

Definition at line 1058 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_LOGIC _typename   
 

Value:

_SCV_KEEP_RANGE_TYPE_NO_W(_typename)                                     \
  _SCV_CHECK_DATA()                                                        \
  _scv_constraint_range_generator_unsigned *ugen = NULL;                   \
  ugen = cd->get_unsigned_generator(e);                                   \
  _SCV_UNSIGNED_VALUE(lb, ub)                                              \
  _SCV_ONLY_OR_OUT(dummy_values, exclude, ugen, lbv, ubv)                                \
  cd->set_mode(_scv_constraint_data::RANGE_CONSTRAINT);                    \
}                                                                         \

Definition at line 785 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_SC_HEADER _typename   
 

Value:

template <int W>                                                               \
inline void _scv_keep_range(scv_extensions_if* e, const list<_typename<W> >& vlist) {   \
  _SCV_CHECK_DATA()                                                             \

Definition at line 1022 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_SET_LIST tlist   
 

Value:

gen->keepOnly(tlist);                                                        \
  cd->set_mode(_scv_constraint_data::RANGE_CONSTRAINT);                         \

Definition at line 1027 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_TYPE _typename   
 

Value:

template <int W>                                                          \
inline void _scv_keep_range(scv_extensions_if* e, const _typename<W>& lb,          \
  const _typename<W>& ub, bool exclude, bool dummy_values = false) {

Definition at line 742 of file _scv_randomization.h.

#define _SCV_KEEP_RANGE_TYPE_NO_W _typename   
 

Value:

inline void _scv_keep_range(scv_extensions_if* e, const _typename& lb,      \
  const _typename& ub, bool exclude, bool dummy_values = false) {

Definition at line 747 of file _scv_randomization.h.

#define _SCV_ONLY_OR_OUT dummy_values,
exclude,
gen,
lb,
ub   
 

Value:

if (!dummy_values) {                                                  \
      if (!exclude)                                                       \
        gen->keepOnly(lb, ub);                                            \
      else                                                                \
        gen->keepOut(lb, ub);                                             \
    }

Definition at line 734 of file _scv_randomization.h.

Referenced by _scv_keep_range().

#define _SCV_SC_UNSIGNED_VALUE dummy_values,
W,
lb,
ub   
 

Value:

sc_unsigned lbv(W), ubv(W);                                             \
  if (dummy_values) { lbv = 0; ubv = 0; }                                 \
  else { lbv = lb; ubv = ub; }

Definition at line 766 of file _scv_randomization.h.

#define _SCV_UNSIGNED_VALUE lb,
ub   
 

Value:

unsigned lbv, ubv;                                                      \
  lbv = (unsigned)lb.to_bool(); ubv = (unsigned)ub.to_bool();

Definition at line 781 of file _scv_randomization.h.

 
#define GET_RANDOM  
 

Value:

static bool dummy = create_random(this); \
  if (0) cout << dummy << endl;

Definition at line 60 of file _scv_randomization.h.

Referenced by scv_extension_rand< T[N]>::next(), and scv_extension_rand< T >::next().


Function Documentation

_scv_constraint_data* _get_constraint_data_enum _scv_extension_rand_enum   data [inline]
 

Definition at line 101 of file _scv_ext_rand.h.

References _scv_extension_rand_enum::get_constraint_data().

scv_shared_ptr<scv_random> _get_random_enum _scv_extension_rand_enum   data [inline]
 

Definition at line 111 of file _scv_ext_rand.h.

References _scv_extension_rand_enum::get_constraint_data(), and _scv_constraint_data::get_random().

Referenced by _scv_distribution_base< T >::set_mode().

void _scv_assign_enum_value scv_extensions_if   e,
_scv_constraint_data   cdata_,
int    e1_val,
int    e2_val
 

Definition at line 3162 of file scv_constraint.cpp.

References _scv_constraint_data::get_random(), and _scv_message::message().

Referenced by generate_value_distribution_range().

void _scv_delete_constraint scv_constraint_base   c
 

Definition at line 3157 of file scv_constraint.cpp.

scv_extensions_if* _scv_find_extension scv_constraint_base   c,
scv_extensions_if   e
 

Definition at line 3108 of file scv_constraint.cpp.

References assert, and scv_constraint_base::get_members().

Referenced by _scv_use_constraint().

template<typename T1, typename T2>
void _scv_get_base_signed_list const list< T2 > &    vlist,
list< T1 > &    tlist
 

Definition at line 982 of file _scv_randomization.h.

template<typename T1, typename T2>
void _scv_get_base_unsigned_list const list< T2 > &    vlist,
list< T1 > &    tlist
 

Definition at line 975 of file _scv_randomization.h.

template<typename T1, typename T2>
void _scv_get_list const list< T2 > &    vlist,
list< T1 > &    tlist
 

Definition at line 968 of file _scv_randomization.h.

template<typename T1, typename T2>
void _scv_get_list_sc int    W,
const list< T2 > &    vlist,
list< T1 > &    tlist
 

Definition at line 989 of file _scv_randomization.h.

template<typename T1, typename T2>
void _scv_get_logic_list const list< T2 > &    vlist,
list< T1 > &    tlist
 

Definition at line 1006 of file _scv_randomization.h.

template<typename T1, typename T2>
void _scv_get_sc_list int    W,
const list< T2 > &    vlist,
list< T1 > &    tlist
 

Definition at line 996 of file _scv_randomization.h.

bool _scv_has_complex_constraint scv_extensions_if  
 

template<typename T>
void _scv_keep_range scv_extensions_if   e,
const list< T > &    vlist
[inline]
 

Definition at line 1013 of file _scv_randomization.h.

References _scv_message::message().

Referenced by _scv_extension_rand_N< T >::get_generator(), scv_enum_base< T >::keep_only(), _scv_extension_rand_N< T >::keep_only(), scv_enum_base< T >::keep_out(), and _scv_extension_rand_N< T >::keep_out().

template<typename T>
void _scv_keep_range scv_extensions_if   e,
const T &    lb,
const T &    ub,
bool    exclude,
bool    dummy_values = false
[inline]
 

Definition at line 882 of file _scv_randomization.h.

References _SCV_CHECK_DATA, _scv_constraint_range_generator_int, _scv_constraint_range_generator_int_ll, _scv_constraint_range_generator_unsigned, _scv_constraint_range_generator_unsigned_ll, _SCV_ONLY_OR_OUT, _scv_rand_util_get_list(), _scv_message::message(), and _scv_constraint_data::RANGE_CONSTRAINT.

template<typename T>
void _scv_keep_range_list_enum scv_extensions_if   e,
const list< T > &    vlist,
bool    exclude
[inline]
 

Definition at line 935 of file _scv_randomization.h.

References _scv_constraint_range_generator_unsigned, and _scv_constraint_data::RANGE_CONSTRAINT.

Referenced by scv_enum_base< T >::keep_only(), and scv_enum_base< T >::keep_out().

scv_constraint_base* _scv_new_constraint scv_constraint_base   c
 

Definition at line 3151 of file scv_constraint.cpp.

References scv_constraint_base::get_copy().

Referenced by _scv_use_constraint().

void _scv_rand_util_get_list scv_extensions_if   e,
int    lb,
int    ub,
unsigned &    mth,
unsigned &    nth
[inline]
 

Definition at line 706 of file _scv_randomization.h.

References _scv_message::message().

Referenced by _scv_keep_range().

void _scv_set_value scv_extensions_if   e,
scv_constraint_base   c,
scv_shared_ptr< scv_random   g
 

Definition at line 3076 of file scv_constraint.cpp.

References assert, _scv_constraint_manager::assignRandomValue(), bddNodeT, scv_constraint_manager::getConstraintManagerP(), _scv_constraint_manager::setDoubleValue(), and _scv_constraint_manager::simplifyConstraint().

Referenced by _scv_distribution< T >::generate_value_(), generate_value_extension(), and generate_value_no_constraint().

void _scv_set_value scv_extensions_if   e,
_scv_constraint_data   cdata_
 

Definition at line 3047 of file scv_constraint.cpp.

void _set_mode_enum _scv_extension_rand_enum   data,
_scv_constraint_data::gen_mode    m
[inline]
 

Definition at line 106 of file _scv_ext_rand.h.

References _scv_constraint_data::gen_mode, and _scv_extension_rand_enum::set_value_mode().

Referenced by _scv_distribution_base< T >::set_mode().

template<typename T>
bool check_mode scv_extensions_if::mode_t    t,
scv_extensions_if   e,
const string &    name,
_scv_distribution< T > *    dist
 

Definition at line 677 of file _scv_randomization.h.

References _scv_constraint_data::CONSTRAINT, _scv_constraint_data::DISTRIBUTION, _scv_constraint_data::DISTRIBUTION_RANGE, _scv_constraint_data::EMPTY, _scv_constraint_data::EXTENSION, _scv_constraint_data::get_constraint(), _scv_distribution_base< T >::get_distribution(), _scv_distribution_base< T >::get_distribution_range(), _scv_constraint_data::get_extension(), _scv_constraint_data::get_gen_type(), _scv_message::message(), _scv_constraint_data::NO_CONSTRAINT, _scv_constraint_data::RANGE_CONSTRAINT, and _scv_constraint_data::set_mode().

Referenced by _scv_extension_rand_N< T >::set_mode(), and scv_enum_base< T >::set_mode().

bool create_random scv_extensions_if   e [inline]
 

Definition at line 64 of file _scv_randomization.h.

template<typename T>
void generate_value_distribution scv_extensions_if  ,
scv_bag< T > *   
 

Definition at line 365 of file _scv_randomization.h.

References scv_bag< T >::peekRandom(), and scv_get_const_extensions().

Referenced by _scv_distribution< T >::generate_value_().

template<typename T>
void generate_value_distribution_bigvalue scv_extensions_if  ,
scv_bag< T > *   
 

Definition at line 514 of file _scv_randomization.h.

References _scv_message::message(), and scv_bag< T >::peekRandom().

template<typename T>
void generate_value_distribution_range scv_extensions_if  ,
scv_bag< pair< T, T > > *   ,
_scv_constraint_data  
 

Definition at line 409 of file _scv_randomization.h.

References _scv_assign_enum_value(), _scv_constraint_data::get_random(), _scv_message::message(), and scv_get_const_extensions().

Referenced by _scv_distribution< T >::generate_value_().

template<typename T>
void generate_value_distribution_range_bigvalue scv_extensions_if  ,
scv_bag< pair< T, T > > *   ,
_scv_constraint_data  ,
sc_unsigned *   
 

Definition at line 542 of file _scv_randomization.h.

References _scv_constraint_data::get_random(), and _scv_message::message().

void generate_value_extension scv_extensions_if  ,
_scv_constraint_data  
 

Definition at line 3349 of file scv_constraint.cpp.

References _scv_set_value(), _scv_constraint_data::get_extension(), _scv_constraint_data::get_random(), and _scv_message::message().

Referenced by _scv_distribution< T >::generate_value_().

void generate_value_no_constraint scv_extensions_if  ,
_scv_constraint_data  
 

Definition at line 3339 of file scv_constraint.cpp.

References _scv_set_value(), and generate_value_range_constraint().

Referenced by _scv_distribution< T >::generate_value_().

void generate_value_range_constraint scv_extensions_if  ,
_scv_constraint_data  
 

Definition at line 3256 of file scv_constraint.cpp.

References _scv_constraint_range_generator_double, _scv_constraint_range_generator_int, _scv_constraint_range_generator_int_ll, _scv_constraint_range_generator_signed_big, _scv_constraint_range_generator_unsigned, _scv_constraint_range_generator_unsigned_big, _scv_constraint_range_generator_unsigned_ll, _SCV_OBTAIN_VALUE, _SCV_OBTAIN_VALUE_SC_BV_BASE, _scv_constraint_data::DGEN, _scv_constraint_data::EMPTY, _scv_constraint_data::get_double_generator(), _scv_constraint_data::get_ext_mode(), _scv_constraint_data::get_gen_type(), _scv_constraint_data::get_int_generator(), _scv_constraint_data::get_int_ll_generator(), _scv_constraint_data::get_signed_big_generator(), _scv_constraint_data::get_unsigned_big_generator(), _scv_constraint_data::get_unsigned_generator(), _scv_constraint_data::get_unsigned_ll_generator(), _scv_constraint_data::IBGEN, _scv_constraint_data::IGEN, _scv_constraint_data::ILGEN, _scv_constraint_data::UBGEN, _scv_constraint_data::UGEN, and _scv_constraint_data::ULGEN.

Referenced by _scv_set_value(), _scv_constraint_manager::assignRandomValue(), _scv_distribution< T >::generate_value_(), and generate_value_no_constraint().


Generated on Sun Dec 12 19:21:03 2004 for SystemC2.0.1(excludingMSLib)(IncludingSCV) by doxygen1.2.18