1/***************************************************************************** 2 3 Licensed to Accellera Systems Initiative Inc. (Accellera) under one or 4 more contributor license agreements. See the NOTICE file distributed 5 with this work for additional information regarding copyright ownership. 6 Accellera licenses this file to you under the Apache License, Version 2.0 7 (the "License"); you may not use this file except in compliance with the 8 License. You may obtain a copy of the License at 9 10 http://www.apache.org/licenses/LICENSE-2.0 11 12 Unless required by applicable law or agreed to in writing, software 13 distributed under the License is distributed on an "AS IS" BASIS, 14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 15 implied. See the License for the specific language governing 16 permissions and limitations under the License. 17 18 *****************************************************************************/ 19 20/***************************************************************************** 21 22 sc_value_base.cpp -- Base class for all SystemC data values. 23 24 Original Author: Andy Goodrich, Forte Design Systems 25 26 *****************************************************************************/ 27 28/***************************************************************************** 29 30 MODIFICATION LOG - modifiers, enter your name, affiliation, date and 31 changes you are making here. 32 33 Name, Affiliation, Date: 34 Description of Modification: 35 36 *****************************************************************************/ 37 38 39// $Log: sc_value_base.cpp,v $ 40// Revision 1.2 2011/08/15 16:43:24 acg 41// Torsten Maehne: changes to remove unused argument warnings. 42// 43// Revision 1.1.1.1 2006/12/15 20:20:05 acg 44// SystemC 2.3 45// 46// Revision 1.3 2006/01/13 18:54:01 acg 47// Andy Goodrich: added $Log command so that CVS comments are reproduced in 48// the source. 49// 50 51#include <cstdlib> 52#include <assert.h> 53#include <ctype.h> 54#include <cstdio> 55 56#include "sysc/datatypes/int/sc_int_ids.h" 57#include "sysc/datatypes/misc/sc_value_base.h" 58 59namespace sc_dt 60{ 61 62void sc_value_base::concat_clear_data( bool /* to_ones */ ) 63{ 64 char error_message[128]; 65 std::sprintf(error_message, 66 "concat_clear_data method not supported by this type"); 67 SC_REPORT_ERROR( sc_core::SC_ID_OPERATION_FAILED_, error_message ); 68} 69 70bool sc_value_base::concat_get_ctrl( sc_digit* /*dst_p*/, int /*low_i*/ ) const 71{ 72 char error_message[128]; 73 std::sprintf(error_message, 74 "concat_get_ctrl method not supported by this type"); 75 SC_REPORT_ERROR( sc_core::SC_ID_OPERATION_FAILED_, error_message ); 76 return false; 77} 78 79bool sc_value_base::concat_get_data( sc_digit* /*dst_p*/, int /*low_i*/ ) const 80{ 81 char error_message[128]; 82 std::sprintf(error_message, 83 "concat_get_data method not supported by this type"); 84 SC_REPORT_ERROR( sc_core::SC_ID_OPERATION_FAILED_, error_message ); 85 return false; 86} 87 88sc_dt::uint64 sc_value_base::concat_get_uint64() const 89{ 90 char error_message[128]; 91 std::sprintf(error_message, 92 "concat_get_uint64 method not supported by this type"); 93 SC_REPORT_ERROR( sc_core::SC_ID_OPERATION_FAILED_, error_message ); 94 return 0; 95} 96 97int sc_value_base::concat_length(bool* /*xz_present_p*/) const 98{ 99 char error_message[128]; 100 std::sprintf(error_message, 101 "concat_length method not supported by this type"); 102 SC_REPORT_ERROR( sc_core::SC_ID_OPERATION_FAILED_, error_message ); 103 return 0; 104} 105 106void sc_value_base::concat_set( int64 /*src*/, int /*low_i*/ ) 107{ 108 char error_message[128]; 109 std::sprintf(error_message, 110 "concat_set(int64) method not supported by this type"); 111 SC_REPORT_ERROR( sc_core::SC_ID_OPERATION_FAILED_, error_message ); 112} 113 114void sc_value_base::concat_set( const sc_signed& /*src*/, int /*low_i*/ ) 115{ 116 char error_message[128]; 117 std::sprintf(error_message, 118 "concat_set(sc_signed) method not supported by this type"); 119 SC_REPORT_ERROR( sc_core::SC_ID_OPERATION_FAILED_, error_message ); 120} 121 122void sc_value_base::concat_set( const sc_unsigned& /*src*/, int /*low_i*/ ) 123{ 124 char error_message[128]; 125 std::sprintf(error_message, 126 "concat_set(sc_unsigned) method not supported by this type"); 127 SC_REPORT_ERROR( sc_core::SC_ID_OPERATION_FAILED_, error_message ); 128} 129 130void sc_value_base::concat_set( uint64 /*src*/, int /*low_i*/ ) 131{ 132 char error_message[128]; 133 std::sprintf(error_message, 134 "concat_set(uint64) method not supported by this type"); 135 SC_REPORT_ERROR( sc_core::SC_ID_OPERATION_FAILED_, error_message ); 136} 137 138} // namespace sc_dt 139