#include "sysc/kernel/sc_object.h"
#include "sysc/datatypes/misc/sc_value_base.h"
#include "sysc/utils/sc_temporary.h"
#include "sysc/utils/sc_string.h"
#include "sysc/datatypes/bit/sc_bv.h"
#include "sysc/datatypes/bit/sc_lv.h"
#include "sysc/datatypes/int/sc_int_base.h"
#include "sysc/datatypes/int/sc_uint_base.h"
#include "sysc/datatypes/int/sc_signed.h"
#include "sysc/datatypes/int/sc_unsigned.h"
#define SC_CONCAT_OP | ( | RESULT, | |||
OP | ) |
値:
inline RESULT operator OP ( const sc_concatref& a, const sc_concatref& b ) \ { \ return a.value() OP b.value(); \ } \ SC_CONCAT_OP_TYPE(RESULT,OP,int) \ SC_CONCAT_OP_TYPE(RESULT,OP,long) \ SC_CONCAT_OP_TYPE(RESULT,OP,int64) \ SC_CONCAT_OP_TYPE(RESULT,OP,unsigned int) \ SC_CONCAT_OP_TYPE(RESULT,OP,unsigned long) \ SC_CONCAT_OP_TYPE(RESULT,OP,uint64) \ SC_CONCAT_OP_TYPE(RESULT,OP,const sc_int_base&) \ SC_CONCAT_OP_TYPE(RESULT,OP,const sc_uint_base&) \ SC_CONCAT_OP_TYPE(RESULT,OP,const sc_signed&) \ SC_CONCAT_OP_TYPE(RESULT,OP,const sc_unsigned&) \ inline RESULT operator OP ( const sc_concatref& a, bool b ) \ { \ return a.value() OP (int)b; \ } \ inline RESULT operator OP ( bool a, const sc_concatref& b ) \ { \ return (int)a OP b.value(); \ }
#define SC_CONCAT_OP_TYPE | ( | RESULT, | |||
OP, | |||||
OTHER_TYPE | ) |
値:
inline RESULT operator OP ( const sc_concatref& a, OTHER_TYPE b ) \ { \ return a.value() OP b; \ } \ inline RESULT operator OP ( OTHER_TYPE a, const sc_concatref& b ) \ { \ return a OP b.value(); \ }