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  assign_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// assign_constructor.cxx --
4112855Sgabeblack@google.com// Copyright Synopsys 1998
4212855Sgabeblack@google.com// Author          : Ric Hilderink
4312855Sgabeblack@google.com// Created On      : Wed Dec 30 09:47:21 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#define SC_FXVAL_IMPLICIT_CONV
5112855Sgabeblack@google.com#include "systemc.h"
5212855Sgabeblack@google.com
5312855Sgabeblack@google.comtypedef unsigned int   uint;
5412855Sgabeblack@google.comtypedef unsigned short ushort;
5512855Sgabeblack@google.comtypedef unsigned long  ulong;
5612855Sgabeblack@google.com
5712855Sgabeblack@google.com#define SHOW_ASSIGN_CONSTRUCTORS(a) cerr << #a << " : " << double(a) << " : " << a.to_string(SC_HEX) << "\n"
5812855Sgabeblack@google.com#define IDENT_ASSIGN_CONSTRUCTORS(a) cerr << "--assign_constructor-Inf-Inf-Inf-Inf-Inf- " << a << "\n"
5912855Sgabeblack@google.com
6012855Sgabeblack@google.com//----------------------------------------------------------------
6112855Sgabeblack@google.com// copy-initialisation from builtin types no longer works with sc_fxval,
6212855Sgabeblack@google.com// unless SC_FXVAL_IMPLICIT_CONV is defined
6312855Sgabeblack@google.com
6412855Sgabeblack@google.com#if defined(SC_FXVAL_IMPLICIT_CONV)
6512855Sgabeblack@google.comstatic void test_fx_float_int()
6612855Sgabeblack@google.com{
6712855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_float_int");
6812855Sgabeblack@google.com
6912855Sgabeblack@google.com  sc_fxval a = 0;
7012855Sgabeblack@google.com  sc_fxval b = 1;
7112855Sgabeblack@google.com  sc_fxval c = -1;
7212855Sgabeblack@google.com  sc_fxval d = INT_MAX;
7312855Sgabeblack@google.com  sc_fxval e = INT_MIN;
7412855Sgabeblack@google.com
7512855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
7612855Sgabeblack@google.com}
7712855Sgabeblack@google.com
7812855Sgabeblack@google.comstatic void test_fx_float_uint()
7912855Sgabeblack@google.com{
8012855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_float_uint");
8112855Sgabeblack@google.com
8212855Sgabeblack@google.com  sc_fxval a = (uint)0;
8312855Sgabeblack@google.com  sc_fxval b = (uint)1;
8412855Sgabeblack@google.com  sc_fxval c = (uint)-1;
8512855Sgabeblack@google.com  sc_fxval d = UINT_MAX;
8612855Sgabeblack@google.com  sc_fxval e = (uint)abs(INT_MIN);
8712855Sgabeblack@google.com
8812855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
8912855Sgabeblack@google.com}
9012855Sgabeblack@google.com
9112855Sgabeblack@google.comstatic void test_fx_float_short()
9212855Sgabeblack@google.com{
9312855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_float_short");
9412855Sgabeblack@google.com
9512855Sgabeblack@google.com  sc_fxval a = (short)0;
9612855Sgabeblack@google.com  sc_fxval b = (short)1;
9712855Sgabeblack@google.com  sc_fxval c = (short)-1;
9812855Sgabeblack@google.com  sc_fxval d = SHRT_MAX;
9912855Sgabeblack@google.com  sc_fxval e = SHRT_MIN;
10012855Sgabeblack@google.com
10112855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
10212855Sgabeblack@google.com}
10312855Sgabeblack@google.com
10412855Sgabeblack@google.comstatic void test_fx_float_ushort()
10512855Sgabeblack@google.com{
10612855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_float_ushort");
10712855Sgabeblack@google.com
10812855Sgabeblack@google.com  sc_fxval a = (ushort)0;
10912855Sgabeblack@google.com  sc_fxval b = (ushort)1;
11012855Sgabeblack@google.com  sc_fxval c = (ushort)-1;
11112855Sgabeblack@google.com  sc_fxval d = USHRT_MAX;
11212855Sgabeblack@google.com  sc_fxval e = (ushort)abs(SHRT_MIN);
11312855Sgabeblack@google.com
11412855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
11512855Sgabeblack@google.com}
11612855Sgabeblack@google.com
11712855Sgabeblack@google.comstatic void test_fx_float_long()
11812855Sgabeblack@google.com{
11912855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_float_long");
12012855Sgabeblack@google.com
12112855Sgabeblack@google.com  sc_fxval a = (long)0;
12212855Sgabeblack@google.com  sc_fxval b = (long)1;
12312855Sgabeblack@google.com  sc_fxval c = (long)-1;
12412855Sgabeblack@google.com  sc_fxval d = LONG_MAX;
12512855Sgabeblack@google.com  sc_fxval e = LONG_MIN;
12612855Sgabeblack@google.com
12712855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
12812855Sgabeblack@google.com}
12912855Sgabeblack@google.com
13012855Sgabeblack@google.comstatic void test_fx_float_ulong()
13112855Sgabeblack@google.com{
13212855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_float_ulong");
13312855Sgabeblack@google.com
13412855Sgabeblack@google.com  sc_fxval a = (ulong)0;
13512855Sgabeblack@google.com  sc_fxval b = (ulong)1;
13612855Sgabeblack@google.com  sc_fxval c = (ulong)-1;
13712855Sgabeblack@google.com  sc_fxval d = ULONG_MAX;
13812855Sgabeblack@google.com  sc_fxval e = (ulong)abs(LONG_MIN);
13912855Sgabeblack@google.com
14012855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
14112855Sgabeblack@google.com}
14212855Sgabeblack@google.com
14312855Sgabeblack@google.comstatic void test_fx_float_float()
14412855Sgabeblack@google.com{
14512855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_float_float");
14612855Sgabeblack@google.com
14712855Sgabeblack@google.com  sc_fxval a = 0.0;
14812855Sgabeblack@google.com  sc_fxval b = 1.0;
14912855Sgabeblack@google.com  sc_fxval c = -1.0;
15012855Sgabeblack@google.com  sc_fxval d = FLT_MAX;
15112855Sgabeblack@google.com  sc_fxval e = FLT_MIN;
15212855Sgabeblack@google.com
15312855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
15412855Sgabeblack@google.com}
15512855Sgabeblack@google.com
15612855Sgabeblack@google.comstatic void test_fx_float_double()
15712855Sgabeblack@google.com{
15812855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_float_double");
15912855Sgabeblack@google.com
16012855Sgabeblack@google.com  sc_fxval a = (double)0.0;
16112855Sgabeblack@google.com  sc_fxval b = (double)1.0;
16212855Sgabeblack@google.com  sc_fxval c = (double)-1.0;
16312855Sgabeblack@google.com  sc_fxval d = DBL_MAX;
16412855Sgabeblack@google.com  sc_fxval e = DBL_MIN;
16512855Sgabeblack@google.com
16612855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
16712855Sgabeblack@google.com}
16812855Sgabeblack@google.com#endif // defined(SC_FXVAL_IMPLICIT_CONV)
16912855Sgabeblack@google.com
17012855Sgabeblack@google.com//----------------------------------------------------------------
17112855Sgabeblack@google.comstatic void test_fx_ufix_int()
17212855Sgabeblack@google.com{
17312855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufix_int");
17412855Sgabeblack@google.com
17512855Sgabeblack@google.com  sc_ufix a = 0;
17612855Sgabeblack@google.com  sc_ufix b = 1;
17712855Sgabeblack@google.com  sc_ufix c = -1;
17812855Sgabeblack@google.com  sc_ufix d = INT_MAX;
17912855Sgabeblack@google.com  sc_ufix e = INT_MIN;
18012855Sgabeblack@google.com
18112855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
18212855Sgabeblack@google.com}
18312855Sgabeblack@google.com
18412855Sgabeblack@google.comstatic void test_fx_ufix_uint()
18512855Sgabeblack@google.com{
18612855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufix_uint");
18712855Sgabeblack@google.com
18812855Sgabeblack@google.com  sc_ufix a = (uint)0;
18912855Sgabeblack@google.com  sc_ufix b = (uint)1;
19012855Sgabeblack@google.com  sc_ufix c = (uint)-1;
19112855Sgabeblack@google.com  sc_ufix d = UINT_MAX;
19212855Sgabeblack@google.com  sc_ufix e = (uint)abs(INT_MIN);
19312855Sgabeblack@google.com
19412855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
19512855Sgabeblack@google.com}
19612855Sgabeblack@google.com
19712855Sgabeblack@google.comstatic void test_fx_ufix_short()
19812855Sgabeblack@google.com{
19912855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufix_short");
20012855Sgabeblack@google.com
20112855Sgabeblack@google.com  sc_ufix a = (short)0;
20212855Sgabeblack@google.com  sc_ufix b = (short)1;
20312855Sgabeblack@google.com  sc_ufix c = (short)-1;
20412855Sgabeblack@google.com  sc_ufix d = SHRT_MAX;
20512855Sgabeblack@google.com  sc_ufix e = SHRT_MIN;
20612855Sgabeblack@google.com
20712855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
20812855Sgabeblack@google.com}
20912855Sgabeblack@google.com
21012855Sgabeblack@google.comstatic void test_fx_ufix_ushort()
21112855Sgabeblack@google.com{
21212855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufix_ushort");
21312855Sgabeblack@google.com
21412855Sgabeblack@google.com  sc_ufix a = (ushort)0;
21512855Sgabeblack@google.com  sc_ufix b = (ushort)1;
21612855Sgabeblack@google.com  sc_ufix c = (ushort)-1;
21712855Sgabeblack@google.com  sc_ufix d = USHRT_MAX;
21812855Sgabeblack@google.com  sc_ufix e = (ushort)abs(SHRT_MIN);
21912855Sgabeblack@google.com
22012855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
22112855Sgabeblack@google.com}
22212855Sgabeblack@google.com
22312855Sgabeblack@google.comstatic void test_fx_ufix_long()
22412855Sgabeblack@google.com{
22512855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufix_long");
22612855Sgabeblack@google.com
22712855Sgabeblack@google.com  sc_ufix a = (long)0;
22812855Sgabeblack@google.com  sc_ufix b = (long)1;
22912855Sgabeblack@google.com  sc_ufix c = (long)-1;
23012855Sgabeblack@google.com  sc_ufix d = LONG_MAX;
23112855Sgabeblack@google.com  sc_ufix e = LONG_MIN;
23212855Sgabeblack@google.com
23312855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
23412855Sgabeblack@google.com}
23512855Sgabeblack@google.com
23612855Sgabeblack@google.comstatic void test_fx_ufix_ulong()
23712855Sgabeblack@google.com{
23812855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufix_ulong");
23912855Sgabeblack@google.com
24012855Sgabeblack@google.com  sc_ufix a = (ulong)0;
24112855Sgabeblack@google.com  sc_ufix b = (ulong)1;
24212855Sgabeblack@google.com  sc_ufix c = (ulong)-1;
24312855Sgabeblack@google.com  sc_ufix d = ULONG_MAX;
24412855Sgabeblack@google.com  sc_ufix e = (ulong)abs(LONG_MIN);
24512855Sgabeblack@google.com
24612855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
24712855Sgabeblack@google.com}
24812855Sgabeblack@google.com
24912855Sgabeblack@google.comstatic void test_fx_ufix_float()
25012855Sgabeblack@google.com{
25112855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufix_float");
25212855Sgabeblack@google.com
25312855Sgabeblack@google.com  sc_ufix a = 0.0;
25412855Sgabeblack@google.com  sc_ufix b = 1.0;
25512855Sgabeblack@google.com  sc_ufix c = -1.0;
25612855Sgabeblack@google.com   sc_ufix d = FLT_MAX;
25712855Sgabeblack@google.com   sc_ufix e = FLT_MIN;
25812855Sgabeblack@google.com
25912855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
26012855Sgabeblack@google.com}
26112855Sgabeblack@google.com
26212855Sgabeblack@google.comstatic void test_fx_ufix_double()
26312855Sgabeblack@google.com{
26412855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufix_double");
26512855Sgabeblack@google.com
26612855Sgabeblack@google.com  sc_ufix a = (double)0.0;
26712855Sgabeblack@google.com  sc_ufix b = (double)1.0;
26812855Sgabeblack@google.com  sc_ufix c = (double)-1.0;
26912855Sgabeblack@google.com   sc_ufix d = DBL_MAX;
27012855Sgabeblack@google.com   sc_ufix e = DBL_MIN;
27112855Sgabeblack@google.com
27212855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
27312855Sgabeblack@google.com}
27412855Sgabeblack@google.com
27512855Sgabeblack@google.com//----------------------------------------------------------------
27612855Sgabeblack@google.comstatic void test_fx_fix_int()
27712855Sgabeblack@google.com{
27812855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fix_int");
27912855Sgabeblack@google.com
28012855Sgabeblack@google.com  sc_fix a = 0;
28112855Sgabeblack@google.com  sc_fix b = 1;
28212855Sgabeblack@google.com  sc_fix c = -1;
28312855Sgabeblack@google.com  sc_fix d = INT_MAX;
28412855Sgabeblack@google.com  sc_fix e = INT_MIN;
28512855Sgabeblack@google.com
28612855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
28712855Sgabeblack@google.com}
28812855Sgabeblack@google.com
28912855Sgabeblack@google.comstatic void test_fx_fix_uint()
29012855Sgabeblack@google.com{
29112855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fix_uint");
29212855Sgabeblack@google.com
29312855Sgabeblack@google.com  sc_fix a = (uint)0;
29412855Sgabeblack@google.com  sc_fix b = (uint)1;
29512855Sgabeblack@google.com  sc_fix c = (uint)-1;
29612855Sgabeblack@google.com  sc_fix d = UINT_MAX;
29712855Sgabeblack@google.com  sc_fix e = (uint)abs(INT_MIN);
29812855Sgabeblack@google.com
29912855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
30012855Sgabeblack@google.com}
30112855Sgabeblack@google.com
30212855Sgabeblack@google.comstatic void test_fx_fix_short()
30312855Sgabeblack@google.com{
30412855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fix_short");
30512855Sgabeblack@google.com
30612855Sgabeblack@google.com  sc_fix a = (short)0;
30712855Sgabeblack@google.com  sc_fix b = (short)1;
30812855Sgabeblack@google.com  sc_fix c = (short)-1;
30912855Sgabeblack@google.com  sc_fix d = SHRT_MAX;
31012855Sgabeblack@google.com  sc_fix e = SHRT_MIN;
31112855Sgabeblack@google.com
31212855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
31312855Sgabeblack@google.com}
31412855Sgabeblack@google.com
31512855Sgabeblack@google.comstatic void test_fx_fix_ushort()
31612855Sgabeblack@google.com{
31712855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fix_ushort");
31812855Sgabeblack@google.com
31912855Sgabeblack@google.com  sc_fix a = (ushort)0;
32012855Sgabeblack@google.com  sc_fix b = (ushort)1;
32112855Sgabeblack@google.com  sc_fix c = (ushort)-1;
32212855Sgabeblack@google.com  sc_fix d = USHRT_MAX;
32312855Sgabeblack@google.com  sc_fix e = (ushort)abs(SHRT_MIN);
32412855Sgabeblack@google.com
32512855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
32612855Sgabeblack@google.com}
32712855Sgabeblack@google.com
32812855Sgabeblack@google.comstatic void test_fx_fix_long()
32912855Sgabeblack@google.com{
33012855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fix_long");
33112855Sgabeblack@google.com
33212855Sgabeblack@google.com  sc_fix a = (long)0;
33312855Sgabeblack@google.com  sc_fix b = (long)1;
33412855Sgabeblack@google.com  sc_fix c = (long)-1;
33512855Sgabeblack@google.com  sc_fix d = LONG_MAX;
33612855Sgabeblack@google.com  sc_fix e = LONG_MIN;
33712855Sgabeblack@google.com
33812855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
33912855Sgabeblack@google.com}
34012855Sgabeblack@google.com
34112855Sgabeblack@google.comstatic void test_fx_fix_ulong()
34212855Sgabeblack@google.com{
34312855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fix_ulong");
34412855Sgabeblack@google.com
34512855Sgabeblack@google.com  sc_fix a = (ulong)0;
34612855Sgabeblack@google.com  sc_fix b = (ulong)1;
34712855Sgabeblack@google.com  sc_fix c = (ulong)-1;
34812855Sgabeblack@google.com  sc_fix d = ULONG_MAX;
34912855Sgabeblack@google.com  sc_fix e = (ulong)abs(LONG_MIN);
35012855Sgabeblack@google.com
35112855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
35212855Sgabeblack@google.com}
35312855Sgabeblack@google.com
35412855Sgabeblack@google.comstatic void test_fx_fix_float()
35512855Sgabeblack@google.com{
35612855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fix_float");
35712855Sgabeblack@google.com
35812855Sgabeblack@google.com  sc_fix a = 0.0;
35912855Sgabeblack@google.com  sc_fix b = 1.0;
36012855Sgabeblack@google.com  sc_fix c = -1.0;
36112855Sgabeblack@google.com   sc_fix d = FLT_MAX;
36212855Sgabeblack@google.com   sc_fix e = FLT_MIN;
36312855Sgabeblack@google.com
36412855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
36512855Sgabeblack@google.com}
36612855Sgabeblack@google.com
36712855Sgabeblack@google.comstatic void test_fx_fix_double()
36812855Sgabeblack@google.com{
36912855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fix_double");
37012855Sgabeblack@google.com
37112855Sgabeblack@google.com  sc_fix a = (double)0.0;
37212855Sgabeblack@google.com  sc_fix b = (double)1.0;
37312855Sgabeblack@google.com  sc_fix c = (double)-1.0;
37412855Sgabeblack@google.com   sc_fix d = DBL_MAX;
37512855Sgabeblack@google.com   sc_fix e = DBL_MIN;
37612855Sgabeblack@google.com
37712855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
37812855Sgabeblack@google.com}
37912855Sgabeblack@google.com
38012855Sgabeblack@google.com//----------------------------------------------------------------
38112855Sgabeblack@google.comstatic void test_fx_fixed_int()
38212855Sgabeblack@google.com{
38312855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fixed_int");
38412855Sgabeblack@google.com
38512855Sgabeblack@google.com  sc_fixed<8, 5> a = 0;
38612855Sgabeblack@google.com  sc_fixed<8, 5> b = 1;
38712855Sgabeblack@google.com  sc_fixed<8, 5> c = -1;
38812855Sgabeblack@google.com   sc_fixed<8, 5> d = INT_MAX;
38912855Sgabeblack@google.com   sc_fixed<8, 5> e = INT_MIN;
39012855Sgabeblack@google.com
39112855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
39212855Sgabeblack@google.com}
39312855Sgabeblack@google.com
39412855Sgabeblack@google.comstatic void test_fx_fixed_uint()
39512855Sgabeblack@google.com{
39612855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fixed_uint");
39712855Sgabeblack@google.com
39812855Sgabeblack@google.com  sc_fixed<8, 5> a = (uint)0;
39912855Sgabeblack@google.com  sc_fixed<8, 5> b = (uint)1;
40012855Sgabeblack@google.com   sc_fixed<8, 5> c = (uint)-1;
40112855Sgabeblack@google.com   sc_fixed<8, 5> d = UINT_MAX;
40212855Sgabeblack@google.com   sc_fixed<8, 5> e = (uint)abs(INT_MIN);
40312855Sgabeblack@google.com
40412855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b);  SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
40512855Sgabeblack@google.com}
40612855Sgabeblack@google.com
40712855Sgabeblack@google.comstatic void test_fx_fixed_short()
40812855Sgabeblack@google.com{
40912855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fixed_short");
41012855Sgabeblack@google.com
41112855Sgabeblack@google.com  sc_fixed<8, 5> a = (short)0;
41212855Sgabeblack@google.com  sc_fixed<8, 5> b = (short)1;
41312855Sgabeblack@google.com  sc_fixed<8, 5> c = (short)-1;
41412855Sgabeblack@google.com   sc_fixed<8, 5> d = SHRT_MAX;
41512855Sgabeblack@google.com   sc_fixed<8, 5> e = SHRT_MIN;
41612855Sgabeblack@google.com
41712855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
41812855Sgabeblack@google.com}
41912855Sgabeblack@google.com
42012855Sgabeblack@google.comstatic void test_fx_fixed_ushort()
42112855Sgabeblack@google.com{
42212855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fixed_ushort");
42312855Sgabeblack@google.com
42412855Sgabeblack@google.com  sc_fixed<8, 5> a = (ushort)0;
42512855Sgabeblack@google.com  sc_fixed<8, 5> b = (ushort)1;
42612855Sgabeblack@google.com   sc_fixed<8, 5> c = (ushort)-1;
42712855Sgabeblack@google.com   sc_fixed<8, 5> d = USHRT_MAX;
42812855Sgabeblack@google.com   sc_fixed<8, 5> e = (ushort)abs(SHRT_MIN);
42912855Sgabeblack@google.com
43012855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b);  SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
43112855Sgabeblack@google.com}
43212855Sgabeblack@google.com
43312855Sgabeblack@google.comstatic void test_fx_fixed_long()
43412855Sgabeblack@google.com{
43512855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fixed_long");
43612855Sgabeblack@google.com
43712855Sgabeblack@google.com  sc_fixed<8, 5> a = (long)0;
43812855Sgabeblack@google.com  sc_fixed<8, 5> b = (long)1;
43912855Sgabeblack@google.com  sc_fixed<8, 5> c = (long)-1;
44012855Sgabeblack@google.com   sc_fixed<8, 5> d = LONG_MAX;
44112855Sgabeblack@google.com   sc_fixed<8, 5> e = LONG_MIN;
44212855Sgabeblack@google.com
44312855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
44412855Sgabeblack@google.com}
44512855Sgabeblack@google.com
44612855Sgabeblack@google.comstatic void test_fx_fixed_ulong()
44712855Sgabeblack@google.com{
44812855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fixed_ulong");
44912855Sgabeblack@google.com
45012855Sgabeblack@google.com  sc_fixed<8, 5> a = (ulong)0;
45112855Sgabeblack@google.com  sc_fixed<8, 5> b = (ulong)1;
45212855Sgabeblack@google.com   sc_fixed<8, 5> c = (ulong)-1;
45312855Sgabeblack@google.com   sc_fixed<8, 5> d = ULONG_MAX;
45412855Sgabeblack@google.com   sc_fixed<8, 5> e = (ulong)abs(LONG_MIN);
45512855Sgabeblack@google.com
45612855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b);  SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
45712855Sgabeblack@google.com}
45812855Sgabeblack@google.com
45912855Sgabeblack@google.comstatic void test_fx_fixed_float()
46012855Sgabeblack@google.com{
46112855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fixed_float");
46212855Sgabeblack@google.com
46312855Sgabeblack@google.com  sc_fixed<8, 5> a = 0.0;
46412855Sgabeblack@google.com  sc_fixed<8, 5> b = 1.0;
46512855Sgabeblack@google.com  sc_fixed<8, 5> c = -1.0;
46612855Sgabeblack@google.com   sc_fixed<8, 5> d = FLT_MAX;
46712855Sgabeblack@google.com   sc_fixed<8, 5> e = FLT_MIN;
46812855Sgabeblack@google.com
46912855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
47012855Sgabeblack@google.com}
47112855Sgabeblack@google.com
47212855Sgabeblack@google.comstatic void test_fx_fixed_double()
47312855Sgabeblack@google.com{
47412855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_fixed_double");
47512855Sgabeblack@google.com
47612855Sgabeblack@google.com  sc_fixed<8, 5> a = (double)0.0;
47712855Sgabeblack@google.com  sc_fixed<8, 5> b = (double)1.0;
47812855Sgabeblack@google.com  sc_fixed<8, 5> c = (double)-1.0;
47912855Sgabeblack@google.com   sc_fixed<8, 5> d = DBL_MAX;
48012855Sgabeblack@google.com   sc_fixed<8, 5> e = DBL_MIN;
48112855Sgabeblack@google.com
48212855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
48312855Sgabeblack@google.com}
48412855Sgabeblack@google.com
48512855Sgabeblack@google.com//----------------------------------------------------------------
48612855Sgabeblack@google.comstatic void test_fx_ufixed_int()
48712855Sgabeblack@google.com{
48812855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufixed_int");
48912855Sgabeblack@google.com
49012855Sgabeblack@google.com  sc_ufixed<8, 5> a = 0;
49112855Sgabeblack@google.com  sc_ufixed<8, 5> b = 1;
49212855Sgabeblack@google.com  sc_ufixed<8, 5> c = -1;
49312855Sgabeblack@google.com   sc_ufixed<8, 5> d = INT_MAX;
49412855Sgabeblack@google.com   sc_ufixed<8, 5> e = INT_MIN;
49512855Sgabeblack@google.com
49612855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
49712855Sgabeblack@google.com}
49812855Sgabeblack@google.com
49912855Sgabeblack@google.comstatic void test_fx_ufixed_uint()
50012855Sgabeblack@google.com{
50112855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufixed_uint");
50212855Sgabeblack@google.com
50312855Sgabeblack@google.com  sc_ufixed<8, 5> a = (uint)0;
50412855Sgabeblack@google.com  sc_ufixed<8, 5> b = (uint)1;
50512855Sgabeblack@google.com   sc_ufixed<8, 5> c = (uint)-1;
50612855Sgabeblack@google.com   sc_ufixed<8, 5> d = UINT_MAX;
50712855Sgabeblack@google.com   sc_ufixed<8, 5> e = (uint)abs(INT_MIN);
50812855Sgabeblack@google.com
50912855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b);  SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
51012855Sgabeblack@google.com}
51112855Sgabeblack@google.com
51212855Sgabeblack@google.comstatic void test_fx_ufixed_short()
51312855Sgabeblack@google.com{
51412855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufixed_short");
51512855Sgabeblack@google.com
51612855Sgabeblack@google.com  sc_ufixed<8, 5> a = (short)0;
51712855Sgabeblack@google.com  sc_ufixed<8, 5> b = (short)1;
51812855Sgabeblack@google.com  sc_ufixed<8, 5> c = (short)-1;
51912855Sgabeblack@google.com   sc_ufixed<8, 5> d = SHRT_MAX;
52012855Sgabeblack@google.com   sc_ufixed<8, 5> e = SHRT_MIN;
52112855Sgabeblack@google.com
52212855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
52312855Sgabeblack@google.com}
52412855Sgabeblack@google.com
52512855Sgabeblack@google.comstatic void test_fx_ufixed_ushort()
52612855Sgabeblack@google.com{
52712855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufixed_ushort");
52812855Sgabeblack@google.com
52912855Sgabeblack@google.com  sc_ufixed<8, 5> a = (ushort)0;
53012855Sgabeblack@google.com  sc_ufixed<8, 5> b = (ushort)1;
53112855Sgabeblack@google.com   sc_ufixed<8, 5> c = (ushort)-1;
53212855Sgabeblack@google.com   sc_ufixed<8, 5> d = USHRT_MAX;
53312855Sgabeblack@google.com   sc_ufixed<8, 5> e = (ushort)abs(SHRT_MIN);
53412855Sgabeblack@google.com
53512855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b);  SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
53612855Sgabeblack@google.com}
53712855Sgabeblack@google.com
53812855Sgabeblack@google.comstatic void test_fx_ufixed_long()
53912855Sgabeblack@google.com{
54012855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufixed_long");
54112855Sgabeblack@google.com
54212855Sgabeblack@google.com  sc_ufixed<8, 5> a = (long)0;
54312855Sgabeblack@google.com  sc_ufixed<8, 5> b = (long)1;
54412855Sgabeblack@google.com  sc_ufixed<8, 5> c = (long)-1;
54512855Sgabeblack@google.com   sc_ufixed<8, 5> d = LONG_MAX;
54612855Sgabeblack@google.com   sc_ufixed<8, 5> e = LONG_MIN;
54712855Sgabeblack@google.com
54812855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
54912855Sgabeblack@google.com}
55012855Sgabeblack@google.com
55112855Sgabeblack@google.comstatic void test_fx_ufixed_ulong()
55212855Sgabeblack@google.com{
55312855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufixed_ulong");
55412855Sgabeblack@google.com
55512855Sgabeblack@google.com  sc_ufixed<8, 5> a = (ulong)0;
55612855Sgabeblack@google.com  sc_ufixed<8, 5> b = (ulong)1;
55712855Sgabeblack@google.com   sc_ufixed<8, 5> c = (ulong)-1;
55812855Sgabeblack@google.com   sc_ufixed<8, 5> d = ULONG_MAX;
55912855Sgabeblack@google.com   sc_ufixed<8, 5> e = (ulong)abs(LONG_MIN);
56012855Sgabeblack@google.com
56112855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b);  SHOW_ASSIGN_CONSTRUCTORS(c); SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
56212855Sgabeblack@google.com}
56312855Sgabeblack@google.com
56412855Sgabeblack@google.comstatic void test_fx_ufixed_float()
56512855Sgabeblack@google.com{
56612855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufixed_float");
56712855Sgabeblack@google.com
56812855Sgabeblack@google.com  sc_ufixed<8, 5> a = 0.0;
56912855Sgabeblack@google.com  sc_ufixed<8, 5> b = 1.0;
57012855Sgabeblack@google.com  sc_ufixed<8, 5> c = -1.0;
57112855Sgabeblack@google.com   sc_ufixed<8, 5> d = FLT_MAX;
57212855Sgabeblack@google.com   sc_ufixed<8, 5> e = FLT_MIN;
57312855Sgabeblack@google.com
57412855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
57512855Sgabeblack@google.com}
57612855Sgabeblack@google.com
57712855Sgabeblack@google.comstatic void test_fx_ufixed_double()
57812855Sgabeblack@google.com{
57912855Sgabeblack@google.com  IDENT_ASSIGN_CONSTRUCTORS("test_fx_ufixed_double");
58012855Sgabeblack@google.com
58112855Sgabeblack@google.com  sc_ufixed<8, 5> a = (double)0.0;
58212855Sgabeblack@google.com  sc_ufixed<8, 5> b = (double)1.0;
58312855Sgabeblack@google.com  sc_ufixed<8, 5> c = (double)-1.0;
58412855Sgabeblack@google.com   sc_ufixed<8, 5> d = DBL_MAX;
58512855Sgabeblack@google.com   sc_ufixed<8, 5> e = DBL_MIN;
58612855Sgabeblack@google.com
58712855Sgabeblack@google.com  SHOW_ASSIGN_CONSTRUCTORS(a); SHOW_ASSIGN_CONSTRUCTORS(b); SHOW_ASSIGN_CONSTRUCTORS(c);  SHOW_ASSIGN_CONSTRUCTORS(d); SHOW_ASSIGN_CONSTRUCTORS(e);
58812855Sgabeblack@google.com}
58912855Sgabeblack@google.com
59012855Sgabeblack@google.comvoid assign_constructor()
59112855Sgabeblack@google.com{
59212855Sgabeblack@google.com#if defined(SC_FXVAL_IMPLICIT_CONV)
59312855Sgabeblack@google.com  cerr << "************** assign_constructor test_fx_float_\n";
59412855Sgabeblack@google.com  test_fx_float_int();
59512855Sgabeblack@google.com  test_fx_float_uint();
59612855Sgabeblack@google.com  test_fx_float_short();
59712855Sgabeblack@google.com  test_fx_float_ushort();
59812855Sgabeblack@google.com  test_fx_float_long();
59912855Sgabeblack@google.com  test_fx_float_ulong();
60012855Sgabeblack@google.com  test_fx_float_float();
60112855Sgabeblack@google.com  test_fx_float_double();
60212855Sgabeblack@google.com#endif // defined(SC_FXVAL_IMPLICIT_CONV)
60312855Sgabeblack@google.com  cerr << "************** assign_constructor test_fx_ufix_\n";
60412855Sgabeblack@google.com  test_fx_ufix_int();
60512855Sgabeblack@google.com  test_fx_ufix_uint();
60612855Sgabeblack@google.com  test_fx_ufix_short();
60712855Sgabeblack@google.com  test_fx_ufix_ushort();
60812855Sgabeblack@google.com  test_fx_ufix_long();
60912855Sgabeblack@google.com  test_fx_ufix_ulong();
61012855Sgabeblack@google.com  test_fx_ufix_float();
61112855Sgabeblack@google.com  test_fx_ufix_double();
61212855Sgabeblack@google.com  cerr << "************** assign_constructor test_fx_fix_\n";
61312855Sgabeblack@google.com  test_fx_fix_int();
61412855Sgabeblack@google.com  test_fx_fix_uint();
61512855Sgabeblack@google.com  test_fx_fix_short();
61612855Sgabeblack@google.com  test_fx_fix_ushort();
61712855Sgabeblack@google.com  test_fx_fix_long();
61812855Sgabeblack@google.com  test_fx_fix_ulong();
61912855Sgabeblack@google.com  test_fx_fix_float();
62012855Sgabeblack@google.com  test_fx_fix_double();
62112855Sgabeblack@google.com  cerr << "************** assign_constructor test_fx_fixed_\n";
62212855Sgabeblack@google.com  test_fx_fixed_int();
62312855Sgabeblack@google.com  test_fx_fixed_uint();
62412855Sgabeblack@google.com  test_fx_fixed_short();
62512855Sgabeblack@google.com  test_fx_fixed_ushort();
62612855Sgabeblack@google.com  test_fx_fixed_long();
62712855Sgabeblack@google.com  test_fx_fixed_ulong();
62812855Sgabeblack@google.com  test_fx_fixed_float();
62912855Sgabeblack@google.com  test_fx_fixed_double();
63012855Sgabeblack@google.com  cerr << "************** assign_constructor test_fx_ufixed_\n";
63112855Sgabeblack@google.com  test_fx_ufixed_int();
63212855Sgabeblack@google.com  test_fx_ufixed_uint();
63312855Sgabeblack@google.com  test_fx_ufixed_short();
63412855Sgabeblack@google.com  test_fx_ufixed_ushort();
63512855Sgabeblack@google.com  test_fx_ufixed_long();
63612855Sgabeblack@google.com  test_fx_ufixed_ulong();
63712855Sgabeblack@google.com  test_fx_ufixed_float();
63812855Sgabeblack@google.com  test_fx_ufixed_double();
63912855Sgabeblack@google.com}
640