112027Sjungma@eit.uni-kl.de/***************************************************************************** 212027Sjungma@eit.uni-kl.de 312027Sjungma@eit.uni-kl.de Licensed to Accellera Systems Initiative Inc. (Accellera) under one or 412027Sjungma@eit.uni-kl.de more contributor license agreements. See the NOTICE file distributed 512027Sjungma@eit.uni-kl.de with this work for additional information regarding copyright ownership. 612027Sjungma@eit.uni-kl.de Accellera licenses this file to you under the Apache License, Version 2.0 712027Sjungma@eit.uni-kl.de (the "License"); you may not use this file except in compliance with the 812027Sjungma@eit.uni-kl.de License. You may obtain a copy of the License at 912027Sjungma@eit.uni-kl.de 1012027Sjungma@eit.uni-kl.de http://www.apache.org/licenses/LICENSE-2.0 1112027Sjungma@eit.uni-kl.de 1212027Sjungma@eit.uni-kl.de Unless required by applicable law or agreed to in writing, software 1312027Sjungma@eit.uni-kl.de distributed under the License is distributed on an "AS IS" BASIS, 1412027Sjungma@eit.uni-kl.de WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 1512027Sjungma@eit.uni-kl.de implied. See the License for the specific language governing 1612027Sjungma@eit.uni-kl.de permissions and limitations under the License. 1712027Sjungma@eit.uni-kl.de 1812027Sjungma@eit.uni-kl.de *****************************************************************************/ 1912027Sjungma@eit.uni-kl.de 2012027Sjungma@eit.uni-kl.de/***************************************************************************** 2112027Sjungma@eit.uni-kl.de 2212027Sjungma@eit.uni-kl.de scfx_other_defs.h - 2312027Sjungma@eit.uni-kl.de 2412027Sjungma@eit.uni-kl.de Original Author: Martin Janssen, Synopsys, Inc. 2512027Sjungma@eit.uni-kl.de 2612027Sjungma@eit.uni-kl.de *****************************************************************************/ 2712027Sjungma@eit.uni-kl.de 2812027Sjungma@eit.uni-kl.de/***************************************************************************** 2912027Sjungma@eit.uni-kl.de 3012027Sjungma@eit.uni-kl.de MODIFICATION LOG - modifiers, enter your name, affiliation, date and 3112027Sjungma@eit.uni-kl.de changes you are making here. 3212027Sjungma@eit.uni-kl.de 3312027Sjungma@eit.uni-kl.de Name, Affiliation, Date: 3412027Sjungma@eit.uni-kl.de Description of Modification: 3512027Sjungma@eit.uni-kl.de 3612027Sjungma@eit.uni-kl.de *****************************************************************************/ 3712027Sjungma@eit.uni-kl.de 3812027Sjungma@eit.uni-kl.de// $Log: scfx_other_defs.h,v $ 3912027Sjungma@eit.uni-kl.de// Revision 1.1.1.1 2006/12/15 20:20:04 acg 4012027Sjungma@eit.uni-kl.de// SystemC 2.3 4112027Sjungma@eit.uni-kl.de// 4212027Sjungma@eit.uni-kl.de// Revision 1.3 2006/01/13 18:53:58 acg 4312027Sjungma@eit.uni-kl.de// Andy Goodrich: added $Log command so that CVS comments are reproduced in 4412027Sjungma@eit.uni-kl.de// the source. 4512027Sjungma@eit.uni-kl.de// 4612027Sjungma@eit.uni-kl.de 4712027Sjungma@eit.uni-kl.de#ifndef SCFX_OTHER_DEFS_H 4812027Sjungma@eit.uni-kl.de#define SCFX_OTHER_DEFS_H 4912027Sjungma@eit.uni-kl.de 5012027Sjungma@eit.uni-kl.de 5112027Sjungma@eit.uni-kl.de#include "sysc/datatypes/fx/sc_fx_ids.h" 5212027Sjungma@eit.uni-kl.de#include "sysc/datatypes/int/sc_signed.h" 5312027Sjungma@eit.uni-kl.de#include "sysc/datatypes/int/sc_unsigned.h" 5412027Sjungma@eit.uni-kl.de#include "sysc/datatypes/int/sc_int_base.h" 5512027Sjungma@eit.uni-kl.de#include "sysc/datatypes/int/sc_uint_base.h" 5612027Sjungma@eit.uni-kl.de#include "sysc/tracing/sc_trace.h" 5712027Sjungma@eit.uni-kl.de 5812027Sjungma@eit.uni-kl.de 5912027Sjungma@eit.uni-kl.denamespace sc_dt 6012027Sjungma@eit.uni-kl.de{ 6112027Sjungma@eit.uni-kl.de 6212027Sjungma@eit.uni-kl.de#ifdef SC_INCLUDE_FX 6312027Sjungma@eit.uni-kl.de 6412027Sjungma@eit.uni-kl.de// ---------------------------------------------------------------------------- 6512027Sjungma@eit.uni-kl.de// CLASS : sc_signed 6612027Sjungma@eit.uni-kl.de// ---------------------------------------------------------------------------- 6712027Sjungma@eit.uni-kl.de 6812027Sjungma@eit.uni-kl.de// assignment operators 6912027Sjungma@eit.uni-kl.de 7012027Sjungma@eit.uni-kl.deinline 7112027Sjungma@eit.uni-kl.deconst sc_signed& 7212027Sjungma@eit.uni-kl.desc_signed::operator = ( const sc_fxval& v ) 7312027Sjungma@eit.uni-kl.de{ 7412027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) /* also triggers OBSERVER_READ call */ 7512027Sjungma@eit.uni-kl.de { 7612027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 7712027Sjungma@eit.uni-kl.de "sc_signed::operator = ( const sc_fxval& )" ); 7812027Sjungma@eit.uni-kl.de } 7912027Sjungma@eit.uni-kl.de 8012027Sjungma@eit.uni-kl.de for( int i = 0; i < length(); ++ i ) 8112027Sjungma@eit.uni-kl.de (*this)[i] = v.get_bit( i ); 8212027Sjungma@eit.uni-kl.de 8312027Sjungma@eit.uni-kl.de return *this; 8412027Sjungma@eit.uni-kl.de} 8512027Sjungma@eit.uni-kl.de 8612027Sjungma@eit.uni-kl.deinline 8712027Sjungma@eit.uni-kl.deconst sc_signed& 8812027Sjungma@eit.uni-kl.desc_signed::operator = ( const sc_fxval_fast& v ) 8912027Sjungma@eit.uni-kl.de{ 9012027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) /* also triggers OBSERVER_READ call */ 9112027Sjungma@eit.uni-kl.de { 9212027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 9312027Sjungma@eit.uni-kl.de "sc_signed::operator = ( const sc_fxval_fast& )" ); 9412027Sjungma@eit.uni-kl.de } 9512027Sjungma@eit.uni-kl.de 9612027Sjungma@eit.uni-kl.de for( int i = 0; i < length(); ++ i ) 9712027Sjungma@eit.uni-kl.de (*this)[i] = v.get_bit( i ); 9812027Sjungma@eit.uni-kl.de 9912027Sjungma@eit.uni-kl.de return *this; 10012027Sjungma@eit.uni-kl.de} 10112027Sjungma@eit.uni-kl.de 10212027Sjungma@eit.uni-kl.deinline 10312027Sjungma@eit.uni-kl.deconst sc_signed& 10412027Sjungma@eit.uni-kl.desc_signed::operator = ( const sc_fxnum& v ) 10512027Sjungma@eit.uni-kl.de{ 10612027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) /* also triggers OBSERVER_READ call */ 10712027Sjungma@eit.uni-kl.de { 10812027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 10912027Sjungma@eit.uni-kl.de "sc_signed::operator = ( const sc_fxnum& )" ); 11012027Sjungma@eit.uni-kl.de } 11112027Sjungma@eit.uni-kl.de 11212027Sjungma@eit.uni-kl.de for( int i = 0; i < length(); ++ i ) 11312027Sjungma@eit.uni-kl.de (*this)[i] = v.get_bit( i ); 11412027Sjungma@eit.uni-kl.de 11512027Sjungma@eit.uni-kl.de return *this; 11612027Sjungma@eit.uni-kl.de} 11712027Sjungma@eit.uni-kl.de 11812027Sjungma@eit.uni-kl.deinline 11912027Sjungma@eit.uni-kl.deconst sc_signed& 12012027Sjungma@eit.uni-kl.desc_signed::operator = ( const sc_fxnum_fast& v ) 12112027Sjungma@eit.uni-kl.de{ 12212027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) /* also triggers OBSERVER_READ call */ 12312027Sjungma@eit.uni-kl.de { 12412027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 12512027Sjungma@eit.uni-kl.de "sc_signed::operator = ( const sc_fxnum_fast& )" ); 12612027Sjungma@eit.uni-kl.de } 12712027Sjungma@eit.uni-kl.de 12812027Sjungma@eit.uni-kl.de for( int i = 0; i < length(); ++ i ) 12912027Sjungma@eit.uni-kl.de (*this)[i] = v.get_bit( i ); 13012027Sjungma@eit.uni-kl.de 13112027Sjungma@eit.uni-kl.de return *this; 13212027Sjungma@eit.uni-kl.de} 13312027Sjungma@eit.uni-kl.de 13412027Sjungma@eit.uni-kl.de 13512027Sjungma@eit.uni-kl.de// ---------------------------------------------------------------------------- 13612027Sjungma@eit.uni-kl.de// CLASS : sc_unsigned 13712027Sjungma@eit.uni-kl.de// ---------------------------------------------------------------------------- 13812027Sjungma@eit.uni-kl.de 13912027Sjungma@eit.uni-kl.de// assignment operators 14012027Sjungma@eit.uni-kl.de 14112027Sjungma@eit.uni-kl.deinline 14212027Sjungma@eit.uni-kl.deconst sc_unsigned& 14312027Sjungma@eit.uni-kl.desc_unsigned::operator = ( const sc_fxval& v ) 14412027Sjungma@eit.uni-kl.de{ 14512027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) /* also triggers OBSERVER_READ call */ 14612027Sjungma@eit.uni-kl.de { 14712027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 14812027Sjungma@eit.uni-kl.de "sc_unsigned::operator = ( const sc_fxval& )" ); 14912027Sjungma@eit.uni-kl.de } 15012027Sjungma@eit.uni-kl.de 15112027Sjungma@eit.uni-kl.de for( int i = 0; i < length(); ++ i ) 15212027Sjungma@eit.uni-kl.de (*this)[i] = v.get_bit( i ); 15312027Sjungma@eit.uni-kl.de 15412027Sjungma@eit.uni-kl.de return *this; 15512027Sjungma@eit.uni-kl.de} 15612027Sjungma@eit.uni-kl.de 15712027Sjungma@eit.uni-kl.deinline 15812027Sjungma@eit.uni-kl.deconst sc_unsigned& 15912027Sjungma@eit.uni-kl.desc_unsigned::operator = ( const sc_fxval_fast& v ) 16012027Sjungma@eit.uni-kl.de{ 16112027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) /* also triggers OBSERVER_READ call */ 16212027Sjungma@eit.uni-kl.de { 16312027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 16412027Sjungma@eit.uni-kl.de "sc_unsigned::operator = ( const sc_fxval_fast& )" ); 16512027Sjungma@eit.uni-kl.de } 16612027Sjungma@eit.uni-kl.de 16712027Sjungma@eit.uni-kl.de for( int i = 0; i < length(); ++ i ) 16812027Sjungma@eit.uni-kl.de (*this)[i] = v.get_bit( i ); 16912027Sjungma@eit.uni-kl.de 17012027Sjungma@eit.uni-kl.de return *this; 17112027Sjungma@eit.uni-kl.de} 17212027Sjungma@eit.uni-kl.de 17312027Sjungma@eit.uni-kl.deinline 17412027Sjungma@eit.uni-kl.deconst sc_unsigned& 17512027Sjungma@eit.uni-kl.desc_unsigned::operator = ( const sc_fxnum& v ) 17612027Sjungma@eit.uni-kl.de{ 17712027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) /* also triggers OBSERVER_READ call */ 17812027Sjungma@eit.uni-kl.de { 17912027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 18012027Sjungma@eit.uni-kl.de "sc_unsigned::operator = ( const sc_fxnum& )" ); 18112027Sjungma@eit.uni-kl.de } 18212027Sjungma@eit.uni-kl.de 18312027Sjungma@eit.uni-kl.de for( int i = 0; i < length(); ++ i ) 18412027Sjungma@eit.uni-kl.de (*this)[i] = v.get_bit( i ); 18512027Sjungma@eit.uni-kl.de 18612027Sjungma@eit.uni-kl.de return *this; 18712027Sjungma@eit.uni-kl.de} 18812027Sjungma@eit.uni-kl.de 18912027Sjungma@eit.uni-kl.deinline 19012027Sjungma@eit.uni-kl.deconst sc_unsigned& 19112027Sjungma@eit.uni-kl.desc_unsigned::operator = ( const sc_fxnum_fast& v ) 19212027Sjungma@eit.uni-kl.de{ 19312027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) /* also triggers OBSERVER_READ call */ 19412027Sjungma@eit.uni-kl.de { 19512027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 19612027Sjungma@eit.uni-kl.de "sc_unsigned::operator = ( const sc_fxnum_fast& )" ); 19712027Sjungma@eit.uni-kl.de } 19812027Sjungma@eit.uni-kl.de 19912027Sjungma@eit.uni-kl.de for( int i = 0; i < length(); ++ i ) 20012027Sjungma@eit.uni-kl.de (*this)[i] = v.get_bit( i ); 20112027Sjungma@eit.uni-kl.de 20212027Sjungma@eit.uni-kl.de return *this; 20312027Sjungma@eit.uni-kl.de} 20412027Sjungma@eit.uni-kl.de 20512027Sjungma@eit.uni-kl.de 20612027Sjungma@eit.uni-kl.de// ---------------------------------------------------------------------------- 20712027Sjungma@eit.uni-kl.de// CLASS : sc_int_base 20812027Sjungma@eit.uni-kl.de// ---------------------------------------------------------------------------- 20912027Sjungma@eit.uni-kl.de 21012027Sjungma@eit.uni-kl.de#ifndef _32BIT_ 21112027Sjungma@eit.uni-kl.de#define NUM_WIDTH LLWIDTH 21212027Sjungma@eit.uni-kl.de#else 21312027Sjungma@eit.uni-kl.de#define NUM_WIDTH INTWIDTH 21412027Sjungma@eit.uni-kl.de#endif 21512027Sjungma@eit.uni-kl.de 21612027Sjungma@eit.uni-kl.de 21712027Sjungma@eit.uni-kl.de// assignment operators 21812027Sjungma@eit.uni-kl.de 21912027Sjungma@eit.uni-kl.deinline 22012027Sjungma@eit.uni-kl.desc_int_base& 22112027Sjungma@eit.uni-kl.desc_int_base::operator = ( const sc_fxval& v ) 22212027Sjungma@eit.uni-kl.de{ 22312027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) { /* also triggers OBSERVER_READ call */ 22412027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 22512027Sjungma@eit.uni-kl.de "sc_int_base::operator = ( const sc_fxval& )" ); 22612027Sjungma@eit.uni-kl.de } 22712027Sjungma@eit.uni-kl.de for( int i = 0; i < m_len; ++ i ) { 22812027Sjungma@eit.uni-kl.de set( i, v.get_bit( i ) ); 22912027Sjungma@eit.uni-kl.de } 23012027Sjungma@eit.uni-kl.de extend_sign(); 23112027Sjungma@eit.uni-kl.de return *this; 23212027Sjungma@eit.uni-kl.de} 23312027Sjungma@eit.uni-kl.de 23412027Sjungma@eit.uni-kl.deinline 23512027Sjungma@eit.uni-kl.desc_int_base& 23612027Sjungma@eit.uni-kl.desc_int_base::operator = ( const sc_fxval_fast& v ) 23712027Sjungma@eit.uni-kl.de{ 23812027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) { /* also triggers OBSERVER_READ call */ 23912027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 24012027Sjungma@eit.uni-kl.de "sc_int_base::operator = ( const sc_fxval_fast& )" ); 24112027Sjungma@eit.uni-kl.de } 24212027Sjungma@eit.uni-kl.de for( int i = 0; i < m_len; ++ i ) { 24312027Sjungma@eit.uni-kl.de set( i, v.get_bit( i ) ); 24412027Sjungma@eit.uni-kl.de } 24512027Sjungma@eit.uni-kl.de extend_sign(); 24612027Sjungma@eit.uni-kl.de return *this; 24712027Sjungma@eit.uni-kl.de} 24812027Sjungma@eit.uni-kl.de 24912027Sjungma@eit.uni-kl.deinline 25012027Sjungma@eit.uni-kl.desc_int_base& 25112027Sjungma@eit.uni-kl.desc_int_base::operator = ( const sc_fxnum& v ) 25212027Sjungma@eit.uni-kl.de{ 25312027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) { /* also triggers OBSERVER_READ call */ 25412027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 25512027Sjungma@eit.uni-kl.de "sc_int_base::operator = ( const sc_fxnum& )" ); 25612027Sjungma@eit.uni-kl.de } 25712027Sjungma@eit.uni-kl.de for( int i = 0; i < m_len; ++ i ) { 25812027Sjungma@eit.uni-kl.de set( i, v.get_bit( i ) ); 25912027Sjungma@eit.uni-kl.de } 26012027Sjungma@eit.uni-kl.de extend_sign(); 26112027Sjungma@eit.uni-kl.de return *this; 26212027Sjungma@eit.uni-kl.de} 26312027Sjungma@eit.uni-kl.de 26412027Sjungma@eit.uni-kl.deinline 26512027Sjungma@eit.uni-kl.desc_int_base& 26612027Sjungma@eit.uni-kl.desc_int_base::operator = ( const sc_fxnum_fast& v ) 26712027Sjungma@eit.uni-kl.de{ 26812027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) { /* also triggers OBSERVER_READ call */ 26912027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 27012027Sjungma@eit.uni-kl.de "sc_int_base::operator = ( const sc_fxnum_fast& )" ); 27112027Sjungma@eit.uni-kl.de } 27212027Sjungma@eit.uni-kl.de for( int i = 0; i < m_len; ++ i ) { 27312027Sjungma@eit.uni-kl.de set( i, v.get_bit( i ) ); 27412027Sjungma@eit.uni-kl.de } 27512027Sjungma@eit.uni-kl.de extend_sign(); 27612027Sjungma@eit.uni-kl.de return *this; 27712027Sjungma@eit.uni-kl.de} 27812027Sjungma@eit.uni-kl.de 27912027Sjungma@eit.uni-kl.de#undef NUM_WIDTH 28012027Sjungma@eit.uni-kl.de 28112027Sjungma@eit.uni-kl.de 28212027Sjungma@eit.uni-kl.de// ---------------------------------------------------------------------------- 28312027Sjungma@eit.uni-kl.de// CLASS : sc_uint_base 28412027Sjungma@eit.uni-kl.de// ---------------------------------------------------------------------------- 28512027Sjungma@eit.uni-kl.de 28612027Sjungma@eit.uni-kl.de// assignment operators 28712027Sjungma@eit.uni-kl.de 28812027Sjungma@eit.uni-kl.deinline 28912027Sjungma@eit.uni-kl.desc_uint_base& 29012027Sjungma@eit.uni-kl.desc_uint_base::operator = ( const sc_fxval& v ) 29112027Sjungma@eit.uni-kl.de{ 29212027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) { /* also triggers OBSERVER_READ call */ 29312027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 29412027Sjungma@eit.uni-kl.de "sc_uint_base::operator = ( const sc_fxval& )" ); 29512027Sjungma@eit.uni-kl.de } 29612027Sjungma@eit.uni-kl.de for( int i = 0; i < m_len; ++ i ) { 29712027Sjungma@eit.uni-kl.de set( i, v.get_bit( i ) ); 29812027Sjungma@eit.uni-kl.de } 29912027Sjungma@eit.uni-kl.de extend_sign(); 30012027Sjungma@eit.uni-kl.de return *this; 30112027Sjungma@eit.uni-kl.de} 30212027Sjungma@eit.uni-kl.de 30312027Sjungma@eit.uni-kl.deinline 30412027Sjungma@eit.uni-kl.desc_uint_base& 30512027Sjungma@eit.uni-kl.desc_uint_base::operator = ( const sc_fxval_fast& v ) 30612027Sjungma@eit.uni-kl.de{ 30712027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) { /* also triggers OBSERVER_READ call */ 30812027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 30912027Sjungma@eit.uni-kl.de "sc_uint_base::operator = ( const sc_fxval_fast& )" ); 31012027Sjungma@eit.uni-kl.de } 31112027Sjungma@eit.uni-kl.de for( int i = 0; i < m_len; ++ i ) { 31212027Sjungma@eit.uni-kl.de set( i, v.get_bit( i ) ); 31312027Sjungma@eit.uni-kl.de } 31412027Sjungma@eit.uni-kl.de extend_sign(); 31512027Sjungma@eit.uni-kl.de return *this; 31612027Sjungma@eit.uni-kl.de} 31712027Sjungma@eit.uni-kl.de 31812027Sjungma@eit.uni-kl.deinline 31912027Sjungma@eit.uni-kl.desc_uint_base& 32012027Sjungma@eit.uni-kl.desc_uint_base::operator = ( const sc_fxnum& v ) 32112027Sjungma@eit.uni-kl.de{ 32212027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) { /* also triggers OBSERVER_READ call */ 32312027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 32412027Sjungma@eit.uni-kl.de "sc_uint_base::operator = ( const sc_fxnum& )" ); 32512027Sjungma@eit.uni-kl.de } 32612027Sjungma@eit.uni-kl.de for( int i = 0; i < m_len; ++ i ) { 32712027Sjungma@eit.uni-kl.de set( i, v.get_bit( i ) ); 32812027Sjungma@eit.uni-kl.de } 32912027Sjungma@eit.uni-kl.de extend_sign(); 33012027Sjungma@eit.uni-kl.de return *this; 33112027Sjungma@eit.uni-kl.de} 33212027Sjungma@eit.uni-kl.de 33312027Sjungma@eit.uni-kl.deinline 33412027Sjungma@eit.uni-kl.desc_uint_base& 33512027Sjungma@eit.uni-kl.desc_uint_base::operator = ( const sc_fxnum_fast& v ) 33612027Sjungma@eit.uni-kl.de{ 33712027Sjungma@eit.uni-kl.de if( ! v.is_normal() ) { /* also triggers OBSERVER_READ call */ 33812027Sjungma@eit.uni-kl.de SC_REPORT_ERROR( sc_core::SC_ID_INVALID_FX_VALUE_, 33912027Sjungma@eit.uni-kl.de "sc_uint_base::operator = ( const sc_fxnum_fast& )" ); 34012027Sjungma@eit.uni-kl.de } 34112027Sjungma@eit.uni-kl.de for( int i = 0; i < m_len; ++ i ) { 34212027Sjungma@eit.uni-kl.de set( i, v.get_bit( i ) ); 34312027Sjungma@eit.uni-kl.de } 34412027Sjungma@eit.uni-kl.de extend_sign(); 34512027Sjungma@eit.uni-kl.de return *this; 34612027Sjungma@eit.uni-kl.de} 34712027Sjungma@eit.uni-kl.de 34812027Sjungma@eit.uni-kl.de 34912027Sjungma@eit.uni-kl.de#endif 35012027Sjungma@eit.uni-kl.de 35112027Sjungma@eit.uni-kl.de 35212027Sjungma@eit.uni-kl.de// ---------------------------------------------------------------------------- 35312027Sjungma@eit.uni-kl.de// FUNCTION : sc_trace 35412027Sjungma@eit.uni-kl.de// ---------------------------------------------------------------------------- 35512027Sjungma@eit.uni-kl.de 35612027Sjungma@eit.uni-kl.deinline 35712027Sjungma@eit.uni-kl.devoid 35812027Sjungma@eit.uni-kl.desc_trace( sc_core::sc_trace_file* tf, 35912027Sjungma@eit.uni-kl.de const sc_fxval& object, const std::string& name ) 36012027Sjungma@eit.uni-kl.de{ 36112027Sjungma@eit.uni-kl.de if( tf ) 36212027Sjungma@eit.uni-kl.de tf->trace( object, name ); 36312027Sjungma@eit.uni-kl.de} 36412027Sjungma@eit.uni-kl.de 36512027Sjungma@eit.uni-kl.deinline 36612027Sjungma@eit.uni-kl.devoid 36712027Sjungma@eit.uni-kl.desc_trace( sc_core::sc_trace_file* tf, 36812027Sjungma@eit.uni-kl.de const sc_fxval* object, const std::string& name ) 36912027Sjungma@eit.uni-kl.de{ 37012027Sjungma@eit.uni-kl.de if( tf ) 37112027Sjungma@eit.uni-kl.de tf->trace( *object, name ); 37212027Sjungma@eit.uni-kl.de} 37312027Sjungma@eit.uni-kl.de 37412027Sjungma@eit.uni-kl.deinline 37512027Sjungma@eit.uni-kl.devoid 37612027Sjungma@eit.uni-kl.desc_trace( sc_core::sc_trace_file* tf, 37712027Sjungma@eit.uni-kl.de const sc_fxval_fast& object, const std::string& name ) 37812027Sjungma@eit.uni-kl.de{ 37912027Sjungma@eit.uni-kl.de if( tf ) 38012027Sjungma@eit.uni-kl.de tf->trace( object, name ); 38112027Sjungma@eit.uni-kl.de} 38212027Sjungma@eit.uni-kl.de 38312027Sjungma@eit.uni-kl.deinline 38412027Sjungma@eit.uni-kl.devoid 38512027Sjungma@eit.uni-kl.desc_trace( sc_core::sc_trace_file* tf, 38612027Sjungma@eit.uni-kl.de const sc_fxval_fast* object, const std::string& name ) 38712027Sjungma@eit.uni-kl.de{ 38812027Sjungma@eit.uni-kl.de if( tf ) 38912027Sjungma@eit.uni-kl.de tf->trace( *object, name ); 39012027Sjungma@eit.uni-kl.de} 39112027Sjungma@eit.uni-kl.de 39212027Sjungma@eit.uni-kl.deinline 39312027Sjungma@eit.uni-kl.devoid 39412027Sjungma@eit.uni-kl.desc_trace( sc_core::sc_trace_file* tf, 39512027Sjungma@eit.uni-kl.de const sc_fxnum& object, const std::string& name ) 39612027Sjungma@eit.uni-kl.de{ 39712027Sjungma@eit.uni-kl.de if( tf ) 39812027Sjungma@eit.uni-kl.de tf->trace( object, name ); 39912027Sjungma@eit.uni-kl.de} 40012027Sjungma@eit.uni-kl.de 40112027Sjungma@eit.uni-kl.deinline 40212027Sjungma@eit.uni-kl.devoid 40312027Sjungma@eit.uni-kl.desc_trace( sc_core::sc_trace_file* tf, 40412027Sjungma@eit.uni-kl.de const sc_fxnum* object, const std::string& name ) 40512027Sjungma@eit.uni-kl.de{ 40612027Sjungma@eit.uni-kl.de if( tf ) 40712027Sjungma@eit.uni-kl.de tf->trace( *object, name ); 40812027Sjungma@eit.uni-kl.de} 40912027Sjungma@eit.uni-kl.de 41012027Sjungma@eit.uni-kl.deinline 41112027Sjungma@eit.uni-kl.devoid 41212027Sjungma@eit.uni-kl.desc_trace( sc_core::sc_trace_file* tf, 41312027Sjungma@eit.uni-kl.de const sc_fxnum_fast& object, const std::string& name ) 41412027Sjungma@eit.uni-kl.de{ 41512027Sjungma@eit.uni-kl.de if( tf ) 41612027Sjungma@eit.uni-kl.de tf->trace( object, name ); 41712027Sjungma@eit.uni-kl.de} 41812027Sjungma@eit.uni-kl.de 41912027Sjungma@eit.uni-kl.deinline 42012027Sjungma@eit.uni-kl.devoid 42112027Sjungma@eit.uni-kl.desc_trace( sc_core::sc_trace_file* tf, 42212027Sjungma@eit.uni-kl.de const sc_fxnum_fast* object, const std::string& name ) 42312027Sjungma@eit.uni-kl.de{ 42412027Sjungma@eit.uni-kl.de if( tf ) 42512027Sjungma@eit.uni-kl.de tf->trace( *object, name ); 42612027Sjungma@eit.uni-kl.de} 42712027Sjungma@eit.uni-kl.de 42812027Sjungma@eit.uni-kl.de} // namespace sc_dt 42912027Sjungma@eit.uni-kl.de 43012027Sjungma@eit.uni-kl.de 43112027Sjungma@eit.uni-kl.de#endif 43212027Sjungma@eit.uni-kl.de 43312027Sjungma@eit.uni-kl.de// Taf! 434