112855Sgabeblack@google.com/***************************************************************************** 212855Sgabeblack@google.com 312855Sgabeblack@google.com Licensed to Accellera Systems Initiative Inc. (Accellera) under one or 412855Sgabeblack@google.com more contributor license agreements. See the NOTICE file distributed 512855Sgabeblack@google.com with this work for additional information regarding copyright ownership. 612855Sgabeblack@google.com Accellera licenses this file to you under the Apache License, Version 2.0 712855Sgabeblack@google.com (the "License"); you may not use this file except in compliance with the 812855Sgabeblack@google.com License. You may obtain a copy of the License at 912855Sgabeblack@google.com 1012855Sgabeblack@google.com http://www.apache.org/licenses/LICENSE-2.0 1112855Sgabeblack@google.com 1212855Sgabeblack@google.com Unless required by applicable law or agreed to in writing, software 1312855Sgabeblack@google.com distributed under the License is distributed on an "AS IS" BASIS, 1412855Sgabeblack@google.com WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 1512855Sgabeblack@google.com implied. See the License for the specific language governing 1612855Sgabeblack@google.com permissions and limitations under the License. 1712855Sgabeblack@google.com 1812855Sgabeblack@google.com *****************************************************************************/ 1912855Sgabeblack@google.com 2012855Sgabeblack@google.com/***************************************************************************** 2112855Sgabeblack@google.com 2212855Sgabeblack@google.com default_constructor.cpp -- 2312855Sgabeblack@google.com 2412855Sgabeblack@google.com Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 2512855Sgabeblack@google.com 2612855Sgabeblack@google.com *****************************************************************************/ 2712855Sgabeblack@google.com 2812855Sgabeblack@google.com/***************************************************************************** 2912855Sgabeblack@google.com 3012855Sgabeblack@google.com MODIFICATION LOG - modifiers, enter your name, affiliation, date and 3112855Sgabeblack@google.com changes you are making here. 3212855Sgabeblack@google.com 3312855Sgabeblack@google.com Name, Affiliation, Date: 3412855Sgabeblack@google.com Description of Modification: 3512855Sgabeblack@google.com 3612855Sgabeblack@google.com *****************************************************************************/ 3712855Sgabeblack@google.com 3812855Sgabeblack@google.com// This may look like C code, but it is really -*- C++ -*- 3912855Sgabeblack@google.com// 4012855Sgabeblack@google.com// default_constructor.cxx -- 4112855Sgabeblack@google.com// Copyright Synopsys 1998 4212855Sgabeblack@google.com// Author : Ric Hilderink 4312855Sgabeblack@google.com// Created On : Wed Dec 30 09:38:31 1998 4412855Sgabeblack@google.com// Status : none 4512855Sgabeblack@google.com// 4612855Sgabeblack@google.com 4712855Sgabeblack@google.com#include <limits.h> 4812855Sgabeblack@google.com#include <float.h> 4912855Sgabeblack@google.com#define SC_INCLUDE_FX 5012855Sgabeblack@google.com#include "systemc.h" 5112855Sgabeblack@google.com 5212855Sgabeblack@google.comtypedef unsigned int uint; 5312855Sgabeblack@google.comtypedef unsigned short ushort; 5412855Sgabeblack@google.comtypedef unsigned long ulong; 5512855Sgabeblack@google.com 5612855Sgabeblack@google.com#define SHOW(a) cerr << #a << " : " << double(a) << " : " << a.to_string(SC_HEX) << "\n" 5712855Sgabeblack@google.com#define IDENT(a) cerr << "--default_constructor-Inf-Inf-Inf-Inf-Inf- " << a << "\n" 5812855Sgabeblack@google.com 5912855Sgabeblack@google.com#define T_CHAR_MAX "0b010101110100110111001011" 6012855Sgabeblack@google.com#define T_CHAR_MIN "-0xsmdeadbeafe-101" 6112855Sgabeblack@google.com#define T_UCHAR_MAX "0b010101110100110111001011e+101" 6212855Sgabeblack@google.com#define T_UCHAR_MIN "0xdeadbeafe-101" 6312855Sgabeblack@google.com 6412855Sgabeblack@google.comstatic void test_fx_float_char() 6512855Sgabeblack@google.com{ 6612855Sgabeblack@google.com IDENT("test_fx_float_char"); 6712855Sgabeblack@google.com 6812855Sgabeblack@google.com sc_fxval a("0"); 6912855Sgabeblack@google.com sc_fxval b("1"); 7012855Sgabeblack@google.com sc_fxval c("-1"); 7112855Sgabeblack@google.com sc_fxval d(T_CHAR_MAX); 7212855Sgabeblack@google.com sc_fxval e(T_CHAR_MIN); 7312855Sgabeblack@google.com 7412855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 7512855Sgabeblack@google.com} 7612855Sgabeblack@google.com 7712855Sgabeblack@google.comstatic void test_fx_float_int() 7812855Sgabeblack@google.com{ 7912855Sgabeblack@google.com IDENT("test_fx_float_int"); 8012855Sgabeblack@google.com 8112855Sgabeblack@google.com sc_fxval a(0); 8212855Sgabeblack@google.com sc_fxval b(1); 8312855Sgabeblack@google.com sc_fxval c(-1); 8412855Sgabeblack@google.com sc_fxval d(INT_MAX); 8512855Sgabeblack@google.com sc_fxval e(INT_MIN); 8612855Sgabeblack@google.com 8712855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 8812855Sgabeblack@google.com} 8912855Sgabeblack@google.com 9012855Sgabeblack@google.comstatic void test_fx_float_uint() 9112855Sgabeblack@google.com{ 9212855Sgabeblack@google.com IDENT("test_fx_float_uint"); 9312855Sgabeblack@google.com 9412855Sgabeblack@google.com sc_fxval a((uint)0); 9512855Sgabeblack@google.com sc_fxval b((uint)1); 9612855Sgabeblack@google.com sc_fxval c((uint)-1); 9712855Sgabeblack@google.com sc_fxval d(UINT_MAX); 9812855Sgabeblack@google.com sc_fxval e((uint)abs(INT_MIN)); 9912855Sgabeblack@google.com 10012855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 10112855Sgabeblack@google.com} 10212855Sgabeblack@google.com 10312855Sgabeblack@google.comstatic void test_fx_float_short() 10412855Sgabeblack@google.com{ 10512855Sgabeblack@google.com IDENT("test_fx_float_short"); 10612855Sgabeblack@google.com 10712855Sgabeblack@google.com sc_fxval a((short)0); 10812855Sgabeblack@google.com sc_fxval b((short)1); 10912855Sgabeblack@google.com sc_fxval c((short)-1); 11012855Sgabeblack@google.com sc_fxval d((short)SHRT_MAX); 11112855Sgabeblack@google.com sc_fxval e((short)SHRT_MIN); 11212855Sgabeblack@google.com 11312855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 11412855Sgabeblack@google.com} 11512855Sgabeblack@google.com 11612855Sgabeblack@google.comstatic void test_fx_float_ushort() 11712855Sgabeblack@google.com{ 11812855Sgabeblack@google.com IDENT("test_fx_float_ushort"); 11912855Sgabeblack@google.com 12012855Sgabeblack@google.com sc_fxval a((ushort)0); 12112855Sgabeblack@google.com sc_fxval b((ushort)1); 12212855Sgabeblack@google.com sc_fxval c((ushort)-1); 12312855Sgabeblack@google.com sc_fxval d(USHRT_MAX); 12412855Sgabeblack@google.com sc_fxval e((ushort)abs(SHRT_MIN)); 12512855Sgabeblack@google.com 12612855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 12712855Sgabeblack@google.com} 12812855Sgabeblack@google.com 12912855Sgabeblack@google.comstatic void test_fx_float_long() 13012855Sgabeblack@google.com{ 13112855Sgabeblack@google.com IDENT("test_fx_float_long"); 13212855Sgabeblack@google.com 13312855Sgabeblack@google.com sc_fxval a((long)0); 13412855Sgabeblack@google.com sc_fxval b((long)1); 13512855Sgabeblack@google.com sc_fxval c((long)-1); 13612855Sgabeblack@google.com sc_fxval d(LONG_MAX); 13712855Sgabeblack@google.com sc_fxval e(LONG_MIN); 13812855Sgabeblack@google.com 13912855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 14012855Sgabeblack@google.com} 14112855Sgabeblack@google.com 14212855Sgabeblack@google.comstatic void test_fx_float_ulong() 14312855Sgabeblack@google.com{ 14412855Sgabeblack@google.com IDENT("test_fx_float_ulong"); 14512855Sgabeblack@google.com 14612855Sgabeblack@google.com sc_fxval a((ulong)0); 14712855Sgabeblack@google.com sc_fxval b((ulong)1); 14812855Sgabeblack@google.com sc_fxval c((ulong)-1); 14912855Sgabeblack@google.com sc_fxval d(ULONG_MAX); 15012855Sgabeblack@google.com sc_fxval e((ulong)abs(LONG_MIN)); 15112855Sgabeblack@google.com 15212855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 15312855Sgabeblack@google.com} 15412855Sgabeblack@google.com 15512855Sgabeblack@google.comstatic void test_fx_float_float() 15612855Sgabeblack@google.com{ 15712855Sgabeblack@google.com IDENT("test_fx_float_float"); 15812855Sgabeblack@google.com 15912855Sgabeblack@google.com sc_fxval a(0.0); 16012855Sgabeblack@google.com sc_fxval b(1.0); 16112855Sgabeblack@google.com sc_fxval c(-1.0); 16212855Sgabeblack@google.com sc_fxval d(FLT_MAX); 16312855Sgabeblack@google.com sc_fxval e(FLT_MIN); 16412855Sgabeblack@google.com 16512855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 16612855Sgabeblack@google.com} 16712855Sgabeblack@google.com 16812855Sgabeblack@google.comstatic void test_fx_float_double() 16912855Sgabeblack@google.com{ 17012855Sgabeblack@google.com IDENT("test_fx_float_double"); 17112855Sgabeblack@google.com 17212855Sgabeblack@google.com sc_fxval a((double)0.0); 17312855Sgabeblack@google.com sc_fxval b((double)1.0); 17412855Sgabeblack@google.com sc_fxval c((double)-1.0); 17512855Sgabeblack@google.com sc_fxval d(DBL_MAX); 17612855Sgabeblack@google.com sc_fxval e(DBL_MIN); 17712855Sgabeblack@google.com 17812855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 17912855Sgabeblack@google.com} 18012855Sgabeblack@google.com 18112855Sgabeblack@google.com//----------------------------------------------------------------------- 18212855Sgabeblack@google.comstatic void test_fx_ufix_char() 18312855Sgabeblack@google.com{ 18412855Sgabeblack@google.com IDENT("test_fx_ufix_char"); 18512855Sgabeblack@google.com 18612855Sgabeblack@google.com sc_ufix a("0"); 18712855Sgabeblack@google.com sc_ufix b("1"); 18812855Sgabeblack@google.com sc_ufix c("-1"); 18912855Sgabeblack@google.com sc_ufix d(T_UCHAR_MAX); 19012855Sgabeblack@google.com sc_ufix e(T_UCHAR_MIN); 19112855Sgabeblack@google.com 19212855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 19312855Sgabeblack@google.com} 19412855Sgabeblack@google.com 19512855Sgabeblack@google.comstatic void test_fx_ufix_int() 19612855Sgabeblack@google.com{ 19712855Sgabeblack@google.com IDENT("test_fx_ufix_int"); 19812855Sgabeblack@google.com 19912855Sgabeblack@google.com sc_ufix a(0); 20012855Sgabeblack@google.com sc_ufix b(1); 20112855Sgabeblack@google.com sc_ufix c(-1); 20212855Sgabeblack@google.com sc_ufix d(INT_MAX); 20312855Sgabeblack@google.com sc_ufix e(INT_MIN); 20412855Sgabeblack@google.com 20512855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 20612855Sgabeblack@google.com} 20712855Sgabeblack@google.com 20812855Sgabeblack@google.comstatic void test_fx_ufix_uint() 20912855Sgabeblack@google.com{ 21012855Sgabeblack@google.com IDENT("test_fx_ufix_uint"); 21112855Sgabeblack@google.com 21212855Sgabeblack@google.com sc_ufix a((uint)0); 21312855Sgabeblack@google.com sc_ufix b((uint)1); 21412855Sgabeblack@google.com sc_ufix c((uint)-1); 21512855Sgabeblack@google.com sc_ufix d(UINT_MAX); 21612855Sgabeblack@google.com sc_ufix e((uint)abs(INT_MIN)); 21712855Sgabeblack@google.com 21812855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 21912855Sgabeblack@google.com} 22012855Sgabeblack@google.com 22112855Sgabeblack@google.comstatic void test_fx_ufix_short() 22212855Sgabeblack@google.com{ 22312855Sgabeblack@google.com IDENT("test_fx_ufix_short"); 22412855Sgabeblack@google.com 22512855Sgabeblack@google.com sc_ufix a((short)0); 22612855Sgabeblack@google.com sc_ufix b((short)1); 22712855Sgabeblack@google.com sc_ufix c((short)-1); 22812855Sgabeblack@google.com sc_ufix d(SHRT_MAX); 22912855Sgabeblack@google.com sc_ufix e(SHRT_MIN); 23012855Sgabeblack@google.com 23112855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 23212855Sgabeblack@google.com} 23312855Sgabeblack@google.com 23412855Sgabeblack@google.comstatic void test_fx_ufix_ushort() 23512855Sgabeblack@google.com{ 23612855Sgabeblack@google.com IDENT("test_fx_ufix_ushort"); 23712855Sgabeblack@google.com 23812855Sgabeblack@google.com sc_ufix a((ushort)0); 23912855Sgabeblack@google.com sc_ufix b((ushort)1); 24012855Sgabeblack@google.com sc_ufix c((ushort)-1); 24112855Sgabeblack@google.com sc_ufix d(USHRT_MAX); 24212855Sgabeblack@google.com sc_ufix e((ushort)abs(SHRT_MIN)); 24312855Sgabeblack@google.com 24412855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 24512855Sgabeblack@google.com} 24612855Sgabeblack@google.com 24712855Sgabeblack@google.comstatic void test_fx_ufix_long() 24812855Sgabeblack@google.com{ 24912855Sgabeblack@google.com IDENT("test_fx_ufix_long"); 25012855Sgabeblack@google.com 25112855Sgabeblack@google.com sc_ufix a((long)0); 25212855Sgabeblack@google.com sc_ufix b((long)1); 25312855Sgabeblack@google.com sc_ufix c((long)-1); 25412855Sgabeblack@google.com sc_ufix d(LONG_MAX); 25512855Sgabeblack@google.com sc_ufix e(LONG_MIN); 25612855Sgabeblack@google.com 25712855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 25812855Sgabeblack@google.com} 25912855Sgabeblack@google.com 26012855Sgabeblack@google.comstatic void test_fx_ufix_ulong() 26112855Sgabeblack@google.com{ 26212855Sgabeblack@google.com IDENT("test_fx_ufix_ulong"); 26312855Sgabeblack@google.com 26412855Sgabeblack@google.com sc_ufix a((ulong)0); 26512855Sgabeblack@google.com sc_ufix b((ulong)1); 26612855Sgabeblack@google.com sc_ufix c((ulong)-1); 26712855Sgabeblack@google.com sc_ufix d(ULONG_MAX); 26812855Sgabeblack@google.com sc_ufix e((ulong)abs(LONG_MIN)); 26912855Sgabeblack@google.com 27012855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 27112855Sgabeblack@google.com} 27212855Sgabeblack@google.com 27312855Sgabeblack@google.comstatic void test_fx_ufix_float() 27412855Sgabeblack@google.com{ 27512855Sgabeblack@google.com IDENT("test_fx_ufix_float"); 27612855Sgabeblack@google.com 27712855Sgabeblack@google.com sc_ufix a(0.0); 27812855Sgabeblack@google.com sc_ufix b(1.0); 27912855Sgabeblack@google.com sc_ufix c(-1.0); 28012855Sgabeblack@google.com sc_ufix d(FLT_MAX); 28112855Sgabeblack@google.com sc_ufix e(FLT_MIN); 28212855Sgabeblack@google.com 28312855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 28412855Sgabeblack@google.com} 28512855Sgabeblack@google.com 28612855Sgabeblack@google.comstatic void test_fx_ufix_double() 28712855Sgabeblack@google.com{ 28812855Sgabeblack@google.com IDENT("test_fx_ufix_double"); 28912855Sgabeblack@google.com 29012855Sgabeblack@google.com sc_ufix a((double)0.0); 29112855Sgabeblack@google.com sc_ufix b((double)1.0); 29212855Sgabeblack@google.com sc_ufix c((double)-1.0); 29312855Sgabeblack@google.com sc_ufix d(DBL_MAX); 29412855Sgabeblack@google.com sc_ufix e(DBL_MIN); 29512855Sgabeblack@google.com 29612855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 29712855Sgabeblack@google.com} 29812855Sgabeblack@google.com 29912855Sgabeblack@google.com//----------------------------------------------------------------------- 30012855Sgabeblack@google.comstatic void test_fx_fix_char() 30112855Sgabeblack@google.com{ 30212855Sgabeblack@google.com IDENT("test_fx_fix_char"); 30312855Sgabeblack@google.com 30412855Sgabeblack@google.com sc_fix a("0"); SHOW(a); 30512855Sgabeblack@google.com sc_fix b("1"); SHOW(b); 30612855Sgabeblack@google.com sc_fix c("-1"); SHOW(c); 30712855Sgabeblack@google.com sc_fix d(T_CHAR_MAX); SHOW(d); 30812855Sgabeblack@google.com sc_fix e(T_CHAR_MIN); SHOW(e); 30912855Sgabeblack@google.com 31012855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 31112855Sgabeblack@google.com} 31212855Sgabeblack@google.com 31312855Sgabeblack@google.comstatic void test_fx_fix_int() 31412855Sgabeblack@google.com{ 31512855Sgabeblack@google.com IDENT("test_fx_fix_int"); 31612855Sgabeblack@google.com 31712855Sgabeblack@google.com sc_fix a(0); 31812855Sgabeblack@google.com sc_fix b(1); 31912855Sgabeblack@google.com sc_fix c(-1); 32012855Sgabeblack@google.com sc_fix d(INT_MAX); 32112855Sgabeblack@google.com sc_fix e(INT_MIN); 32212855Sgabeblack@google.com 32312855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 32412855Sgabeblack@google.com} 32512855Sgabeblack@google.com 32612855Sgabeblack@google.comstatic void test_fx_fix_uint() 32712855Sgabeblack@google.com{ 32812855Sgabeblack@google.com IDENT("test_fx_fix_uint"); 32912855Sgabeblack@google.com 33012855Sgabeblack@google.com sc_fix a((uint)0); 33112855Sgabeblack@google.com sc_fix b((uint)1); 33212855Sgabeblack@google.com sc_fix c((uint)-1); 33312855Sgabeblack@google.com sc_fix d(UINT_MAX); 33412855Sgabeblack@google.com sc_fix e((uint)abs(INT_MIN)); 33512855Sgabeblack@google.com 33612855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 33712855Sgabeblack@google.com} 33812855Sgabeblack@google.comstatic void test_fx_fix_short() 33912855Sgabeblack@google.com{ 34012855Sgabeblack@google.com IDENT("test_fx_fix_short"); 34112855Sgabeblack@google.com 34212855Sgabeblack@google.com sc_fix a((short)0); 34312855Sgabeblack@google.com sc_fix b((short)1); 34412855Sgabeblack@google.com sc_fix c((short)-1); 34512855Sgabeblack@google.com sc_fix d(SHRT_MAX); 34612855Sgabeblack@google.com sc_fix e(SHRT_MIN); 34712855Sgabeblack@google.com 34812855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 34912855Sgabeblack@google.com} 35012855Sgabeblack@google.com 35112855Sgabeblack@google.comstatic void test_fx_fix_ushort() 35212855Sgabeblack@google.com{ 35312855Sgabeblack@google.com IDENT("test_fx_fix_ushort"); 35412855Sgabeblack@google.com 35512855Sgabeblack@google.com sc_fix a((ushort)0); 35612855Sgabeblack@google.com sc_fix b((ushort)1); 35712855Sgabeblack@google.com sc_fix c((ushort)-1); 35812855Sgabeblack@google.com sc_fix d(USHRT_MAX); 35912855Sgabeblack@google.com sc_fix e((ushort)abs(SHRT_MIN)); 36012855Sgabeblack@google.com 36112855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 36212855Sgabeblack@google.com} 36312855Sgabeblack@google.com 36412855Sgabeblack@google.comstatic void test_fx_fix_long() 36512855Sgabeblack@google.com{ 36612855Sgabeblack@google.com IDENT("test_fx_fix_long"); 36712855Sgabeblack@google.com 36812855Sgabeblack@google.com sc_fix a((long)0); 36912855Sgabeblack@google.com sc_fix b((long)1); 37012855Sgabeblack@google.com sc_fix c((long)-1); 37112855Sgabeblack@google.com sc_fix d(LONG_MAX); 37212855Sgabeblack@google.com sc_fix e(LONG_MIN); 37312855Sgabeblack@google.com 37412855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 37512855Sgabeblack@google.com} 37612855Sgabeblack@google.com 37712855Sgabeblack@google.comstatic void test_fx_fix_ulong() 37812855Sgabeblack@google.com{ 37912855Sgabeblack@google.com IDENT("test_fx_fix_ulong"); 38012855Sgabeblack@google.com 38112855Sgabeblack@google.com sc_fix a((ulong)0); 38212855Sgabeblack@google.com sc_fix b((ulong)1); 38312855Sgabeblack@google.com sc_fix c((ulong)-1); 38412855Sgabeblack@google.com sc_fix d(ULONG_MAX); 38512855Sgabeblack@google.com sc_fix e((ulong)abs(LONG_MIN)); 38612855Sgabeblack@google.com 38712855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 38812855Sgabeblack@google.com} 38912855Sgabeblack@google.com 39012855Sgabeblack@google.comstatic void test_fx_fix_float() 39112855Sgabeblack@google.com{ 39212855Sgabeblack@google.com IDENT("test_fx_fix_float"); 39312855Sgabeblack@google.com 39412855Sgabeblack@google.com sc_fix a(0.0); 39512855Sgabeblack@google.com sc_fix b(1.0); 39612855Sgabeblack@google.com sc_fix c(-1.0); 39712855Sgabeblack@google.com sc_fix d(FLT_MAX); 39812855Sgabeblack@google.com sc_fix e(FLT_MIN); 39912855Sgabeblack@google.com 40012855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 40112855Sgabeblack@google.com} 40212855Sgabeblack@google.com 40312855Sgabeblack@google.comstatic void test_fx_fix_double() 40412855Sgabeblack@google.com{ 40512855Sgabeblack@google.com IDENT("test_fx_fix_double"); 40612855Sgabeblack@google.com 40712855Sgabeblack@google.com sc_fix a((double)0.0); 40812855Sgabeblack@google.com sc_fix b((double)1.0); 40912855Sgabeblack@google.com sc_fix c((double)-1.0); 41012855Sgabeblack@google.com sc_fix d(DBL_MAX); 41112855Sgabeblack@google.com sc_fix e(DBL_MIN); 41212855Sgabeblack@google.com 41312855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 41412855Sgabeblack@google.com} 41512855Sgabeblack@google.com 41612855Sgabeblack@google.com//----------------------------------------------------------------------- 41712855Sgabeblack@google.comstatic void test_fx_fixed_char() 41812855Sgabeblack@google.com{ 41912855Sgabeblack@google.com IDENT("test_fx_fixed_char"); 42012855Sgabeblack@google.com 42112855Sgabeblack@google.com sc_fixed<8, 5> a("0"); 42212855Sgabeblack@google.com sc_fixed<8, 5> b("1"); 42312855Sgabeblack@google.com sc_fixed<8, 5> c("-1"); 42412855Sgabeblack@google.com sc_fixed<8, 5> d(T_CHAR_MAX); 42512855Sgabeblack@google.com sc_fixed<8, 5> e(T_CHAR_MIN); 42612855Sgabeblack@google.com 42712855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 42812855Sgabeblack@google.com} 42912855Sgabeblack@google.com 43012855Sgabeblack@google.comstatic void test_fx_fixed_int() 43112855Sgabeblack@google.com{ 43212855Sgabeblack@google.com IDENT("test_fx_fixed_int"); 43312855Sgabeblack@google.com 43412855Sgabeblack@google.com sc_fixed<8, 5> a(0); 43512855Sgabeblack@google.com sc_fixed<8, 5> b(1); 43612855Sgabeblack@google.com sc_fixed<8, 5> c(-1); 43712855Sgabeblack@google.com sc_fixed<8, 5> d(INT_MAX); 43812855Sgabeblack@google.com sc_fixed<8, 5> e(INT_MIN); 43912855Sgabeblack@google.com 44012855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 44112855Sgabeblack@google.com} 44212855Sgabeblack@google.com 44312855Sgabeblack@google.comstatic void test_fx_fixed_uint() 44412855Sgabeblack@google.com{ 44512855Sgabeblack@google.com IDENT("test_sc_fixed_uint"); 44612855Sgabeblack@google.com 44712855Sgabeblack@google.com sc_fixed<8, 5> a((uint)0); 44812855Sgabeblack@google.com sc_fixed<8, 5> b((uint)1); 44912855Sgabeblack@google.com sc_fixed<8, 5> c((uint)-1); 45012855Sgabeblack@google.com sc_fixed<8, 5> d(UINT_MAX); 45112855Sgabeblack@google.com sc_fixed<8, 5> e((uint)abs(INT_MIN)); 45212855Sgabeblack@google.com 45312855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 45412855Sgabeblack@google.com} 45512855Sgabeblack@google.com 45612855Sgabeblack@google.comstatic void test_fx_fixed_short() 45712855Sgabeblack@google.com{ 45812855Sgabeblack@google.com IDENT("test_fx_fixed_short"); 45912855Sgabeblack@google.com 46012855Sgabeblack@google.com sc_fixed<8, 5> a((short)0); 46112855Sgabeblack@google.com sc_fixed<8, 5> b((short)1); 46212855Sgabeblack@google.com sc_fixed<8, 5> c((short)-1); 46312855Sgabeblack@google.com sc_fixed<8, 5> d(SHRT_MAX); 46412855Sgabeblack@google.com sc_fixed<8, 5> e(SHRT_MIN); 46512855Sgabeblack@google.com 46612855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 46712855Sgabeblack@google.com} 46812855Sgabeblack@google.com 46912855Sgabeblack@google.comstatic void test_fx_fixed_ushort() 47012855Sgabeblack@google.com{ 47112855Sgabeblack@google.com IDENT("test_sc_fixed_ushort"); 47212855Sgabeblack@google.com 47312855Sgabeblack@google.com sc_fixed<8, 5> a((ushort)0); 47412855Sgabeblack@google.com sc_fixed<8, 5> b((ushort)1); 47512855Sgabeblack@google.com sc_fixed<8, 5> c((ushort)-1); 47612855Sgabeblack@google.com sc_fixed<8, 5> d(USHRT_MAX); 47712855Sgabeblack@google.com sc_fixed<8, 5> e((ushort)abs(SHRT_MIN)); 47812855Sgabeblack@google.com 47912855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 48012855Sgabeblack@google.com} 48112855Sgabeblack@google.com 48212855Sgabeblack@google.comstatic void test_fx_fixed_long() 48312855Sgabeblack@google.com{ 48412855Sgabeblack@google.com IDENT("test_sc_fixeded_long"); 48512855Sgabeblack@google.com 48612855Sgabeblack@google.com sc_fixed<8, 5> a((long)0); 48712855Sgabeblack@google.com sc_fixed<8, 5> b((long)1); 48812855Sgabeblack@google.com sc_fixed<8, 5> c((long)-1); 48912855Sgabeblack@google.com sc_fixed<8, 5> d(LONG_MAX); 49012855Sgabeblack@google.com sc_fixed<8, 5> e(LONG_MIN); 49112855Sgabeblack@google.com 49212855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 49312855Sgabeblack@google.com} 49412855Sgabeblack@google.com 49512855Sgabeblack@google.comstatic void test_fx_fixed_ulong() 49612855Sgabeblack@google.com{ 49712855Sgabeblack@google.com IDENT("test_fx_fixed_ulong"); 49812855Sgabeblack@google.com 49912855Sgabeblack@google.com sc_fixed<8, 5> a((ulong)0); 50012855Sgabeblack@google.com sc_fixed<8, 5> b((ulong)1); 50112855Sgabeblack@google.com sc_fixed<8, 5> c((ulong)-1); 50212855Sgabeblack@google.com sc_fixed<8, 5> d(ULONG_MAX); 50312855Sgabeblack@google.com sc_fixed<8, 5> e((ulong)abs(LONG_MIN)); 50412855Sgabeblack@google.com 50512855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 50612855Sgabeblack@google.com} 50712855Sgabeblack@google.com 50812855Sgabeblack@google.comstatic void test_fx_fixed_float() 50912855Sgabeblack@google.com{ 51012855Sgabeblack@google.com IDENT("test_fx_fixed_float"); 51112855Sgabeblack@google.com 51212855Sgabeblack@google.com sc_fixed<8, 5> a(0.0); 51312855Sgabeblack@google.com sc_fixed<8, 5> b(1.0); 51412855Sgabeblack@google.com sc_fixed<8, 5> c(-1.0); 51512855Sgabeblack@google.com sc_fixed<8, 5> d(FLT_MAX); 51612855Sgabeblack@google.com sc_fixed<8, 5> e(FLT_MIN); 51712855Sgabeblack@google.com 51812855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 51912855Sgabeblack@google.com} 52012855Sgabeblack@google.com 52112855Sgabeblack@google.comstatic void test_fx_fixed_double() 52212855Sgabeblack@google.com{ 52312855Sgabeblack@google.com IDENT("test_fx_fixed_double"); 52412855Sgabeblack@google.com 52512855Sgabeblack@google.com sc_fixed<8, 5> a((double)0.0); 52612855Sgabeblack@google.com sc_fixed<8, 5> b((double)1.0); 52712855Sgabeblack@google.com sc_fixed<8, 5> c((double)-1.0); 52812855Sgabeblack@google.com sc_fixed<8, 5> d(DBL_MAX); 52912855Sgabeblack@google.com sc_fixed<8, 5> e(DBL_MIN); 53012855Sgabeblack@google.com 53112855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 53212855Sgabeblack@google.com} 53312855Sgabeblack@google.com 53412855Sgabeblack@google.com//----------------------------------------------------------------------- 53512855Sgabeblack@google.comstatic void test_fx_ufixed_char() 53612855Sgabeblack@google.com{ 53712855Sgabeblack@google.com IDENT("test_fx_ufixed_char"); 53812855Sgabeblack@google.com 53912855Sgabeblack@google.com sc_ufixed<8, 5> a("0"); 54012855Sgabeblack@google.com sc_ufixed<8, 5> b("1"); 54112855Sgabeblack@google.com sc_ufixed<8, 5> c("-1"); 54212855Sgabeblack@google.com sc_ufixed<8, 5> d(T_UCHAR_MAX); 54312855Sgabeblack@google.com sc_ufixed<8, 5> e(T_UCHAR_MIN); 54412855Sgabeblack@google.com 54512855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 54612855Sgabeblack@google.com} 54712855Sgabeblack@google.com 54812855Sgabeblack@google.comstatic void test_fx_ufixed_int() 54912855Sgabeblack@google.com{ 55012855Sgabeblack@google.com IDENT("test_fx_ufixed_int"); 55112855Sgabeblack@google.com 55212855Sgabeblack@google.com sc_ufixed<8, 5> a(0); 55312855Sgabeblack@google.com sc_ufixed<8, 5> b(1); 55412855Sgabeblack@google.com sc_ufixed<8, 5> c(-1); 55512855Sgabeblack@google.com sc_ufixed<8, 5> d(INT_MAX); 55612855Sgabeblack@google.com sc_ufixed<8, 5> e(INT_MIN); 55712855Sgabeblack@google.com 55812855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 55912855Sgabeblack@google.com} 56012855Sgabeblack@google.com 56112855Sgabeblack@google.comstatic void test_fx_ufixed_uint() 56212855Sgabeblack@google.com{ 56312855Sgabeblack@google.com IDENT("test_fx_ufixed_uint"); 56412855Sgabeblack@google.com 56512855Sgabeblack@google.com sc_ufixed<8, 5> a((uint)0); 56612855Sgabeblack@google.com sc_ufixed<8, 5> b((uint)1); 56712855Sgabeblack@google.com sc_ufixed<8, 5> c((uint)-1); 56812855Sgabeblack@google.com sc_ufixed<8, 5> d(UINT_MAX); 56912855Sgabeblack@google.com sc_ufixed<8, 5> e((uint)abs(INT_MIN)); 57012855Sgabeblack@google.com 57112855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 57212855Sgabeblack@google.com} 57312855Sgabeblack@google.com 57412855Sgabeblack@google.comstatic void test_fx_ufixed_short() 57512855Sgabeblack@google.com{ 57612855Sgabeblack@google.com IDENT("test_fx_ufixed_short"); 57712855Sgabeblack@google.com 57812855Sgabeblack@google.com sc_ufixed<8, 5> a((short)0); 57912855Sgabeblack@google.com sc_ufixed<8, 5> b((short)1); 58012855Sgabeblack@google.com sc_ufixed<8, 5> c((short)-1); 58112855Sgabeblack@google.com sc_ufixed<8, 5> d(SHRT_MAX); 58212855Sgabeblack@google.com sc_ufixed<8, 5> e(SHRT_MIN); 58312855Sgabeblack@google.com 58412855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 58512855Sgabeblack@google.com} 58612855Sgabeblack@google.com 58712855Sgabeblack@google.comstatic void test_fx_ufixed_ushort() 58812855Sgabeblack@google.com{ 58912855Sgabeblack@google.com IDENT("test_fx_ufixed_ushort"); 59012855Sgabeblack@google.com 59112855Sgabeblack@google.com sc_ufixed<8, 5> a((ushort)0); 59212855Sgabeblack@google.com sc_ufixed<8, 5> b((ushort)1); 59312855Sgabeblack@google.com sc_ufixed<8, 5> c((ushort)-1); 59412855Sgabeblack@google.com sc_ufixed<8, 5> d(USHRT_MAX); 59512855Sgabeblack@google.com sc_ufixed<8, 5> e((ushort)abs(SHRT_MIN)); 59612855Sgabeblack@google.com 59712855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 59812855Sgabeblack@google.com} 59912855Sgabeblack@google.com 60012855Sgabeblack@google.comstatic void test_fx_ufixed_long() 60112855Sgabeblack@google.com{ 60212855Sgabeblack@google.com IDENT("test_fx_ufixeded_long"); 60312855Sgabeblack@google.com 60412855Sgabeblack@google.com sc_ufixed<8, 5> a((long)0); 60512855Sgabeblack@google.com sc_ufixed<8, 5> b((long)1); 60612855Sgabeblack@google.com sc_ufixed<8, 5> c((long)-1); 60712855Sgabeblack@google.com sc_ufixed<8, 5> d(LONG_MAX); 60812855Sgabeblack@google.com sc_ufixed<8, 5> e(LONG_MIN); 60912855Sgabeblack@google.com 61012855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 61112855Sgabeblack@google.com} 61212855Sgabeblack@google.com 61312855Sgabeblack@google.comstatic void test_fx_ufixed_ulong() 61412855Sgabeblack@google.com{ 61512855Sgabeblack@google.com IDENT("test_fx_ufixed_ulong"); 61612855Sgabeblack@google.com 61712855Sgabeblack@google.com sc_ufixed<8, 5> a((ulong)0); 61812855Sgabeblack@google.com sc_ufixed<8, 5> b((ulong)1); 61912855Sgabeblack@google.com sc_ufixed<8, 5> c((ulong)-1); 62012855Sgabeblack@google.com sc_ufixed<8, 5> d(ULONG_MAX); 62112855Sgabeblack@google.com sc_ufixed<8, 5> e((ulong)abs(LONG_MIN)); 62212855Sgabeblack@google.com 62312855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 62412855Sgabeblack@google.com} 62512855Sgabeblack@google.com 62612855Sgabeblack@google.comstatic void test_fx_ufixed_float() 62712855Sgabeblack@google.com{ 62812855Sgabeblack@google.com IDENT("test_fx_ufixed_float"); 62912855Sgabeblack@google.com 63012855Sgabeblack@google.com sc_ufixed<8, 5> a(0.0); 63112855Sgabeblack@google.com sc_ufixed<8, 5> b(1.0); 63212855Sgabeblack@google.com sc_ufixed<8, 5> c(-1.0); 63312855Sgabeblack@google.com sc_ufixed<8, 5> d(FLT_MAX); 63412855Sgabeblack@google.com sc_ufixed<8, 5> e(FLT_MIN); 63512855Sgabeblack@google.com 63612855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 63712855Sgabeblack@google.com} 63812855Sgabeblack@google.com 63912855Sgabeblack@google.comstatic void test_fx_ufixed_double() 64012855Sgabeblack@google.com{ 64112855Sgabeblack@google.com IDENT("test_fx_ufixed_double"); 64212855Sgabeblack@google.com 64312855Sgabeblack@google.com sc_ufixed<8, 5> a((double)0.0); 64412855Sgabeblack@google.com sc_ufixed<8, 5> b((double)1.0); 64512855Sgabeblack@google.com sc_ufixed<8, 5> c((double)-1.0); 64612855Sgabeblack@google.com sc_ufixed<8, 5> d(DBL_MAX); 64712855Sgabeblack@google.com sc_ufixed<8, 5> e(DBL_MIN); 64812855Sgabeblack@google.com 64912855Sgabeblack@google.com SHOW(a); SHOW(b); SHOW(c); SHOW(d); SHOW(e); 65012855Sgabeblack@google.com} 65112855Sgabeblack@google.com 65212855Sgabeblack@google.comvoid default_constructor() 65312855Sgabeblack@google.com{ 65412855Sgabeblack@google.com cerr << "************** default_constructor for fx_float\n"; 65512855Sgabeblack@google.com test_fx_float_char(); 65612855Sgabeblack@google.com test_fx_float_int(); 65712855Sgabeblack@google.com test_fx_float_uint(); 65812855Sgabeblack@google.com test_fx_float_short(); 65912855Sgabeblack@google.com test_fx_float_ushort(); 66012855Sgabeblack@google.com test_fx_float_long(); 66112855Sgabeblack@google.com test_fx_float_ulong(); 66212855Sgabeblack@google.com test_fx_float_float(); 66312855Sgabeblack@google.com test_fx_float_double(); 66412855Sgabeblack@google.com 66512855Sgabeblack@google.com cerr << "************** default_constructor for fx_ufix\n"; 66612855Sgabeblack@google.com test_fx_ufix_char(); 66712855Sgabeblack@google.com test_fx_ufix_int(); 66812855Sgabeblack@google.com test_fx_ufix_uint(); 66912855Sgabeblack@google.com test_fx_ufix_short(); 67012855Sgabeblack@google.com test_fx_ufix_ushort(); 67112855Sgabeblack@google.com test_fx_ufix_long(); 67212855Sgabeblack@google.com test_fx_ufix_ulong(); 67312855Sgabeblack@google.com test_fx_ufix_float(); 67412855Sgabeblack@google.com test_fx_ufix_double(); 67512855Sgabeblack@google.com 67612855Sgabeblack@google.com cerr << "************** default_constructor for fx_fix\n"; 67712855Sgabeblack@google.com test_fx_fix_char(); 67812855Sgabeblack@google.com test_fx_fix_int(); 67912855Sgabeblack@google.com test_fx_fix_uint(); 68012855Sgabeblack@google.com test_fx_fix_short(); 68112855Sgabeblack@google.com test_fx_fix_ushort(); 68212855Sgabeblack@google.com test_fx_fix_long(); 68312855Sgabeblack@google.com test_fx_fix_ulong(); 68412855Sgabeblack@google.com test_fx_fix_float(); 68512855Sgabeblack@google.com test_fx_fix_double(); 68612855Sgabeblack@google.com 68712855Sgabeblack@google.com cerr << "************** default_constructor for <wl,iwl>fx_fixed\n"; 68812855Sgabeblack@google.com test_fx_fixed_char(); 68912855Sgabeblack@google.com test_fx_fixed_int(); 69012855Sgabeblack@google.com test_fx_fixed_uint(); 69112855Sgabeblack@google.com test_fx_fixed_short(); 69212855Sgabeblack@google.com test_fx_fixed_ushort(); 69312855Sgabeblack@google.com test_fx_fixed_long(); 69412855Sgabeblack@google.com test_fx_fixed_ulong(); 69512855Sgabeblack@google.com test_fx_fixed_float(); 69612855Sgabeblack@google.com test_fx_fixed_double(); 69712855Sgabeblack@google.com 69812855Sgabeblack@google.com cerr << "************** default_constructor for <wl,iwl>fx_ufixed\n"; 69912855Sgabeblack@google.com test_fx_ufixed_char(); 70012855Sgabeblack@google.com test_fx_ufixed_int(); 70112855Sgabeblack@google.com test_fx_ufixed_uint(); 70212855Sgabeblack@google.com test_fx_ufixed_short(); 70312855Sgabeblack@google.com test_fx_ufixed_ushort(); 70412855Sgabeblack@google.com test_fx_ufixed_long(); 70512855Sgabeblack@google.com test_fx_ufixed_ulong(); 70612855Sgabeblack@google.com test_fx_ufixed_float(); 70712855Sgabeblack@google.com test_fx_ufixed_double(); 70812855Sgabeblack@google.com} 709