112854Sgabeblack@google.com/*****************************************************************************
212854Sgabeblack@google.com
312854Sgabeblack@google.com  Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
412854Sgabeblack@google.com  more contributor license agreements.  See the NOTICE file distributed
512854Sgabeblack@google.com  with this work for additional information regarding copyright ownership.
612854Sgabeblack@google.com  Accellera licenses this file to you under the Apache License, Version 2.0
712854Sgabeblack@google.com  (the "License"); you may not use this file except in compliance with the
812854Sgabeblack@google.com  License.  You may obtain a copy of the License at
912854Sgabeblack@google.com
1012854Sgabeblack@google.com    http://www.apache.org/licenses/LICENSE-2.0
1112854Sgabeblack@google.com
1212854Sgabeblack@google.com  Unless required by applicable law or agreed to in writing, software
1312854Sgabeblack@google.com  distributed under the License is distributed on an "AS IS" BASIS,
1412854Sgabeblack@google.com  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
1512854Sgabeblack@google.com  implied.  See the License for the specific language governing
1612854Sgabeblack@google.com  permissions and limitations under the License.
1712854Sgabeblack@google.com
1812854Sgabeblack@google.com *****************************************************************************/
1912854Sgabeblack@google.com
2012854Sgabeblack@google.com/*****************************************************************************
2112854Sgabeblack@google.com
2212854Sgabeblack@google.com  sc_fxtype_params.cpp -
2312854Sgabeblack@google.com
2412854Sgabeblack@google.com  Original Author: Martin Janssen, Synopsys, Inc.
2512854Sgabeblack@google.com
2612854Sgabeblack@google.com *****************************************************************************/
2712854Sgabeblack@google.com
2812854Sgabeblack@google.com/*****************************************************************************
2912854Sgabeblack@google.com
3012854Sgabeblack@google.com  MODIFICATION LOG - modifiers, enter your name, affiliation, date and
3112854Sgabeblack@google.com  changes you are making here.
3212854Sgabeblack@google.com
3312854Sgabeblack@google.com      Name, Affiliation, Date:
3412854Sgabeblack@google.com  Description of Modification:
3512854Sgabeblack@google.com
3612854Sgabeblack@google.com *****************************************************************************/
3712854Sgabeblack@google.com
3812854Sgabeblack@google.com
3912854Sgabeblack@google.com// $Log: sc_fxtype_params.cpp,v $
4012854Sgabeblack@google.com// Revision 1.1.1.1  2006/12/15 20:20:04  acg
4112854Sgabeblack@google.com// SystemC 2.3
4212854Sgabeblack@google.com//
4312854Sgabeblack@google.com// Revision 1.3  2006/01/13 18:53:58  acg
4412854Sgabeblack@google.com// Andy Goodrich: added $Log command so that CVS comments are reproduced in
4512854Sgabeblack@google.com// the source.
4612854Sgabeblack@google.com//
4712854Sgabeblack@google.com
4812854Sgabeblack@google.com#include <sstream>
4912854Sgabeblack@google.com
5012854Sgabeblack@google.com#include "systemc/ext/dt/fx/sc_fxtype_params.hh"
5112854Sgabeblack@google.com
5212854Sgabeblack@google.comnamespace sc_dt
5312854Sgabeblack@google.com{
5412854Sgabeblack@google.com
5512854Sgabeblack@google.comtemplate class sc_global<sc_fxtype_params>;
5612854Sgabeblack@google.comtemplate class sc_context<sc_fxtype_params>;
5712854Sgabeblack@google.com
5812854Sgabeblack@google.com// ----------------------------------------------------------------------------
5912854Sgabeblack@google.com//  CLASS : sc_fxtype_params
6012854Sgabeblack@google.com//
6112854Sgabeblack@google.com//  Fixed-point type parameters class.
6212854Sgabeblack@google.com// ----------------------------------------------------------------------------
6312854Sgabeblack@google.com
6412854Sgabeblack@google.comconst std::string
6512854Sgabeblack@google.comsc_fxtype_params::to_string() const
6612854Sgabeblack@google.com{
6712854Sgabeblack@google.com    std::stringstream ss;
6812854Sgabeblack@google.com    print(ss);
6912854Sgabeblack@google.com    return ss.str();
7012854Sgabeblack@google.com}
7112854Sgabeblack@google.com
7212854Sgabeblack@google.comvoid
7312854Sgabeblack@google.comsc_fxtype_params::print(::std::ostream &os) const
7412854Sgabeblack@google.com{
7512854Sgabeblack@google.com    os << "("
7612854Sgabeblack@google.com       << m_wl << ","
7712854Sgabeblack@google.com       << m_iwl << ","
7812854Sgabeblack@google.com       << m_q_mode << ","
7912854Sgabeblack@google.com       << m_o_mode << ","
8012854Sgabeblack@google.com       << m_n_bits
8112854Sgabeblack@google.com       << ")";
8212854Sgabeblack@google.com}
8312854Sgabeblack@google.com
8412854Sgabeblack@google.comvoid
8512854Sgabeblack@google.comsc_fxtype_params::dump(::std::ostream &os) const
8612854Sgabeblack@google.com{
8712854Sgabeblack@google.com    os << "sc_fxtype_params" << ::std::endl;
8812854Sgabeblack@google.com    os << "(" << ::std::endl;
8912854Sgabeblack@google.com    os << "wl = " << m_wl << ::std::endl;
9012854Sgabeblack@google.com    os << "iwl = " << m_iwl << ::std::endl;
9112854Sgabeblack@google.com    os << "q_mode = " << m_q_mode << ::std::endl;
9212854Sgabeblack@google.com    os << "o_mode = " << m_o_mode << ::std::endl;
9312854Sgabeblack@google.com    os << "n_bits = " << m_n_bits << ::std::endl;
9412854Sgabeblack@google.com    os << ")" << ::std::endl;
9512854Sgabeblack@google.com}
9612854Sgabeblack@google.com
9712854Sgabeblack@google.com} // namespace sc_dt
98