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