diff options
Diffstat (limited to 'src/systemc/tests/systemc/datatypes/fx/bit')
9 files changed, 596 insertions, 0 deletions
diff --git a/src/systemc/tests/systemc/datatypes/fx/bit/golden/test.log b/src/systemc/tests/systemc/datatypes/fx/bit/golden/test.log new file mode 100644 index 000000000..6d2694bb2 --- /dev/null +++ b/src/systemc/tests/systemc/datatypes/fx/bit/golden/test.log @@ -0,0 +1,121 @@ +SystemC Simulation +T_FX_FIX 13 13 +............. |..|..|..|..| +||||||||||||| .||.||.||.||. +a = 0b0110110110110 +a = 0b0000000001010 +T_FX_FIXED 13 13 +............. |..|..|..|..| +||||||||||||| .||.||.||.||. +a = 0b0110110110110 +a = 0b0000000001010 +T_FX_UFIX 13 13 +............. |..|..|..|..| +||||||||||||| .||.||.||.||. +a = 0b00110110110110 +a = 0b00000000001010 +T_FX_UFIXED 13 13 +............. |..|..|..|..| +||||||||||||| .||.||.||.||. +a = 0b00110110110110 +a = 0b00000000001010 +T_FX_FIX 13 0 +............. |..|..|..|..| +||||||||||||| .||.||.||.||. +a = 0b.0110110110110 +a = 0b.0000000000000 +T_FX_FIXED 13 0 +............. |..|..|..|..| +||||||||||||| .||.||.||.||. +a = 0b.0110110110110 +a = 0b.0000000000000 +T_FX_UFIX 13 0 +............. |..|..|..|..| +||||||||||||| .||.||.||.||. +a = 0b0.0110110110110 +a = 0b0.0000000000000 +T_FX_UFIXED 13 0 +............. |..|..|..|..| +||||||||||||| .||.||.||.||. +a = 0b0.0110110110110 +a = 0b0.0000000000000 +T_FX_FIX 5 13 +..... |..|. +||||| .||.| +a = 0b1011000000000 +a = 0b0000000000000 +T_FX_FIXED 5 13 +..... |..|. +||||| .||.| +a = 0b1011000000000 +a = 0b0000000000000 +T_FX_UFIX 5 13 +..... |..|. +||||| .||.| +a = 0b01011000000000 +a = 0b00000000000000 +T_FX_UFIXED 5 13 +..... |..|. +||||| .||.| +a = 0b01011000000000 +a = 0b00000000000000 +T_FX_FIX 65 65 +................................................................. |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|. +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.| +a = 0b10110110110110110110110110110110110110110110110110110110110110110 +a = 0b00000000000000000000000000000000000000000000000000000000000001010 +T_FX_FIXED 65 65 +................................................................. |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|. +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.| +a = 0b10110110110110110110110110110110110110110110110110110110110110110 +a = 0b00000000000000000000000000000000000000000000000000000000000001010 +T_FX_UFIX 65 65 +................................................................. |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|. +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.| +a = 0b010110110110110110110110110110110110110110110110110110110110110110 +a = 0b000000000000000000000000000000000000000000000000000000000000001010 +T_FX_UFIXED 65 65 +................................................................. |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|. +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.| +a = 0b010110110110110110110110110110110110110110110110110110110110110110 +a = 0b000000000000000000000000000000000000000000000000000000000000001010 +T_FX_FIX 65 33 +................................................................. |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|. +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.| +a = 0b101101101101101101101101101101101.10110110110110110110110110110110 +a = 0b000000000000000000000000000001010.00000000000000000000000000000000 +T_FX_FIXED 65 33 +................................................................. |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|. +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.| +a = 0b101101101101101101101101101101101.10110110110110110110110110110110 +a = 0b000000000000000000000000000001010.00000000000000000000000000000000 +T_FX_UFIX 65 33 +................................................................. |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|. +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.| +a = 0b0101101101101101101101101101101101.10110110110110110110110110110110 +a = 0b0000000000000000000000000000001010.00000000000000000000000000000000 +T_FX_UFIXED 65 33 +................................................................. |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|. +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.| +a = 0b0101101101101101101101101101101101.10110110110110110110110110110110 +a = 0b0000000000000000000000000000001010.00000000000000000000000000000000 +T_FX_FIX 65 111 +................................................................. |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|. +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.| +a = 0b101101101101101101101101101101101101101101101101101101101101101100000000000000000000000000000000000000000000000 +a = 0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +T_FX_FIXED 65 111 +................................................................. |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|. +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.| +a = 0b101101101101101101101101101101101101101101101101101101101101101100000000000000000000000000000000000000000000000 +a = 0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +T_FX_UFIX 65 111 +................................................................. |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|. +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.| +a = 0b0101101101101101101101101101101101101101101101101101101101101101100000000000000000000000000000000000000000000000 +a = 0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +T_FX_UFIXED 65 111 +................................................................. |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|. +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.| +a = 0b0101101101101101101101101101101101101101101101101101101101101101100000000000000000000000000000000000000000000000 +a = 0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 diff --git a/src/systemc/tests/systemc/datatypes/fx/bit/main.cpp b/src/systemc/tests/systemc/datatypes/fx/bit/main.cpp new file mode 100644 index 000000000..f3e25cc6f --- /dev/null +++ b/src/systemc/tests/systemc/datatypes/fx/bit/main.cpp @@ -0,0 +1,67 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + main.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +// This may look like C code, but it is really -*- C++ -*- +// +// main.cxx<3> -- +// Copyright Synopsys 1998 +// Author : Ric Hilderink +// Created On : Mon Jan 11 13:25:23 1999 +// Status : none +// + + +#define SC_INCLUDE_FX +#include "systemc.h" +#include "test_all.hh" + + +extern void test_bit(ostream&, int, int); + +static void test_cases(ostream& out, int wl, int iwl) +{ + test_bit(out, wl, iwl); +} + + +int sc_main( int, char** ) +{ + int wl = 0, iwl = 0; + test_cases(cout, wl, wl); + + return 0; +} diff --git a/src/systemc/tests/systemc/datatypes/fx/bit/ref_files/t_all.0 b/src/systemc/tests/systemc/datatypes/fx/bit/ref_files/t_all.0 new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/src/systemc/tests/systemc/datatypes/fx/bit/ref_files/t_all.0 diff --git a/src/systemc/tests/systemc/datatypes/fx/bit/ref_files/t_all.1 b/src/systemc/tests/systemc/datatypes/fx/bit/ref_files/t_all.1 new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/src/systemc/tests/systemc/datatypes/fx/bit/ref_files/t_all.1 diff --git a/src/systemc/tests/systemc/datatypes/fx/bit/ref_files/test_bit_FX_off.dat b/src/systemc/tests/systemc/datatypes/fx/bit/ref_files/test_bit_FX_off.dat new file mode 100644 index 000000000..b93cc245a --- /dev/null +++ b/src/systemc/tests/systemc/datatypes/fx/bit/ref_files/test_bit_FX_off.dat @@ -0,0 +1,120 @@ +T_FX_FIX 13 13 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_FIXED 13 13 +................................................................................ ............|..|..|..|.......................................................... +..........|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ..........||.||.||.||.|||||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_UFIX 13 13 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +||||||||||||||||||||||||||...................................................... .||.||.||.||.||.||.||.||.|...................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIXED 13 13 +................................................................................ ............|..|..|..|.......................................................... +..........|||||||||||||......................................................... ..........||.||.||.||.|......................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_FIX 13 0 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_FIXED 13 0 +................................................................................ |..|..|..||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||....................................................................... +.a = NaN +a = 0b.0111111111111 +T_FX_UFIX 13 0 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +||||||||||||||||||||||||||...................................................... .||.||.||.||.||.||.||.||.|...................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIXED 13 0 +................................................................................ |..|..|..|...................................................................... +||||||||||...................................................................... .||.||.||....................................................................... +.a = NaN +a = 0b.01111111111111e+1 +T_FX_FIX 5 13 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_FIXED 5 13 +................................................................................ ..................|..|.......................................................... +..................|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ...................||.|||||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0 +T_FX_UFIX 5 13 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +||||||||||||||||||||||||||...................................................... .||.||.||.||.||.||.||.||.|...................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIXED 5 13 +................................................................................ ..................|..|.......................................................... +..................|||||......................................................... ...................||.|......................................................... +.a = NaN +a = 0b.0 +T_FX_FIX 65 65 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_FIXED 65 65 +................................................................................ .....................|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|....... +..........|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .....................|||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_UFIX 65 65 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +||||||||||||||||||||||||||...................................................... .||.||.||.||.||.||.||.||.|...................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIXED 65 65 +................................................................................ .....................|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|....... +...........................................................................|.... ...........................................................................|.... +.a = NaN +a = 0b.0101e+5 +T_FX_FIX 65 33 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_FIXED 65 33 +................................................................................ |..|..|..|..|..|..|..|..|..|..|..|..|..|..|||||||||||||||||||||||||||||||||||||| +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||.||.||.||.||.||.||.||.||.||.||.||.||.||...................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIX 65 33 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +||||||||||||||||||||||||||...................................................... .||.||.||.||.||.||.||.||.|...................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIXED 65 33 +................................................................................ |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..................................... +...........................................|.................................... ...........................................|.................................... +.a = NaN +a = 0b.0101e+5 +T_FX_FIX 65 111 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_FIXED 65 111 +................................................................................ .........................................................|..|..|..|..|..|..|..|. +........................................................|||||||||||||||||||||||| ........................................................|.||.||.||.||.||.||.||.| +.a = NaN +a = 0b.0 +T_FX_UFIX 65 111 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +||||||||||||||||||||||||||...................................................... .||.||.||.||.||.||.||.||.|...................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIXED 65 111 +................................................................................ .........................................................|..|..|..|..|..|..|..|. +................................................................................ ................................................................................ +.a = NaN +a = 0b.0 diff --git a/src/systemc/tests/systemc/datatypes/fx/bit/ref_files/test_bit_FX_on.dat b/src/systemc/tests/systemc/datatypes/fx/bit/ref_files/test_bit_FX_on.dat new file mode 100644 index 000000000..ddded08c3 --- /dev/null +++ b/src/systemc/tests/systemc/datatypes/fx/bit/ref_files/test_bit_FX_on.dat @@ -0,0 +1,120 @@ +T_FX_FIX 13 13 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_FIXED 13 13 +................................................................................ ............|..|..|..|.......................................................... +..........|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ..........||.||.||.||.|||||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_UFIX 13 13 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +||||||||||||||||||||||||||...................................................... .||.||.||.||.||.||.||.||.|...................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIXED 13 13 +................................................................................ ............|..|..|..|.......................................................... +..........|||||||||||||......................................................... ..........||.||.||.||.|......................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_FIX 13 0 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_FIXED 13 0 +................................................................................ |||.||.||.|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |..|..|..|...................................................................... +.a = NaN +a = 0b.0111111111111 +T_FX_UFIX 13 0 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +||||||||||||||||||||||||||...................................................... .||.||.||.||.||.||.||.||.|...................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIXED 13 0 +................................................................................ |..|..|..|...................................................................... +||||||||||...................................................................... .||.||.||....................................................................... +.a = NaN +a = 0b.01111111111111e+1 +T_FX_FIX 5 13 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_FIXED 5 13 +................................................................................ ..................|..|.......................................................... +..................|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ...................||.|||||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0 +T_FX_UFIX 5 13 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +||||||||||||||||||||||||||...................................................... .||.||.||.||.||.||.||.||.|...................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIXED 5 13 +................................................................................ ..................|..|.......................................................... +..................|||||......................................................... ...................||.|......................................................... +.a = NaN +a = 0b.0 +T_FX_FIX 65 65 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_FIXED 65 65 +................................................................................ ............|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|....... +..........|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ..........||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_UFIX 65 65 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +||||||||||||||||||||||||||...................................................... .||.||.||.||.||.||.||.||.|...................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIXED 65 65 +................................................................................ ............|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|..|....... +..........|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||..... ..........||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||.||..... +.a = NaN +a = 0b.0101e+5 +T_FX_FIX 65 33 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_FIXED 65 33 +................................................................................ |||.||.||.||.||.||.||.||.||.||.||.||.||.||.||||||||||||||||||||||||||||||||||||| +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIX 65 33 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +||||||||||||||||||||||||||...................................................... .||.||.||.||.||.||.||.||.|...................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIXED 65 33 +................................................................................ |..|..|..|..|..|..|..|..|..|..|..|..|..|..|..................................... +|||||||||||||||||||||||||||||||||||||||||||..................................... .||.||.||.||.||.||.||.||.||.||.||.||.||.||...................................... +.a = NaN +a = 0b.0101e+5 +T_FX_FIX 65 111 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| .||.||.||.||.||.||.||.||.||||||||||||||||||||||||||||||||||||||||||||||||||||||| +.a = NaN +a = 0b.0101e+5 +T_FX_FIXED 65 111 +................................................................................ .........................................................|..|..|..|..|..|..|..|. +........................................................|||||||||||||||||||||||| ........................................................|.||.||.||.||.||.||.||.| +.a = NaN +a = 0b.0 +T_FX_UFIX 65 111 +................................................................................ |..|..|..|..|..|..|..|..|....................................................... +||||||||||||||||||||||||||...................................................... .||.||.||.||.||.||.||.||.|...................................................... +.a = NaN +a = 0b.0101e+5 +T_FX_UFIXED 65 111 +................................................................................ .........................................................|..|..|..|..|..|..|..|. +........................................................|||||||||||||||||||||||| ........................................................|.||.||.||.||.||.||.||.| +.a = NaN +a = 0b.0 diff --git a/src/systemc/tests/systemc/datatypes/fx/bit/test.f b/src/systemc/tests/systemc/datatypes/fx/bit/test.f new file mode 100644 index 000000000..cb82c1ef5 --- /dev/null +++ b/src/systemc/tests/systemc/datatypes/fx/bit/test.f @@ -0,0 +1,2 @@ +bit/main.cpp +bit/test_bit.cpp diff --git a/src/systemc/tests/systemc/datatypes/fx/bit/test_all.hh b/src/systemc/tests/systemc/datatypes/fx/bit/test_all.hh new file mode 100644 index 000000000..592b7ed4e --- /dev/null +++ b/src/systemc/tests/systemc/datatypes/fx/bit/test_all.hh @@ -0,0 +1,80 @@ +// This may look like C code, but it is really -*- C++ -*- +// +// test_all.hh<2> -- +// Copyright Synopsys 1998 +// Author : Ric Hilderink +// Created On : Thu Jan 21 10:32:46 1999 +// Status : none +// + +#ifndef _test_all_hh_ +#define _test_all_hh_ + + + +#define TEST_BIT_T(T_op) \ +{ \ + out << #T_op << " " << T_WL << " " << T_IWL << "\n"; \ + sc_fxtype_context fooc(sc_fxtype_params(T_WL, T_IWL)); \ + T_op a = 0; \ + int i; \ + for (i = 0; i < T_WL; ++i) \ + { \ + if (a[i]) \ + out << "|"; \ + else \ + out << "."; \ + } \ + out << "\t"; \ + for (i = 0; i < T_WL; i += 3) \ + a[i] = 1; \ + for (i = 0; i < T_WL; ++i) \ + { \ + if (a[i]) \ + out << "|"; \ + else \ + out << "."; \ + } \ + out << "\n"; \ + a = 0; \ + a = ~a; \ + for (i = 0; i < T_WL; ++i) \ + { \ + if (a[i]) \ + out << "|"; \ + else \ + out << "."; \ + } \ + out << "\t"; \ + for (i = 0; i < T_WL; i += 3) \ + a[i] = 0; \ + for (i = 0; i < T_WL; ++i) \ + { \ + if (a[i]) \ + out << "|"; \ + else \ + out << "."; \ + } \ + out << "\n"; \ + out << "a = " << a.to_string(SC_BIN) << "\n"; \ + a = "0b01010"; \ + out << "a = " << a.to_string(SC_BIN) << "\n"; \ +} + + +#define TEST_BIT \ +TEST_BIT_T(T_FX_FIX); \ +TEST_BIT_T(T_FX_FIXED); \ +TEST_BIT_T(T_FX_UFIX); \ +TEST_BIT_T(T_FX_UFIXED); + + +#define T_FX_UFIX sc_ufix +#define T_FX_FIX sc_fix +#define T_FX_FIXED sc_fixed<T_WL, T_IWL> +#define T_FX_UFIXED sc_ufixed<T_WL, T_IWL> + +#define T_WL 4 +#define T_IWL 4 + +#endif diff --git a/src/systemc/tests/systemc/datatypes/fx/bit/test_bit.cpp b/src/systemc/tests/systemc/datatypes/fx/bit/test_bit.cpp new file mode 100644 index 000000000..e4bb174cf --- /dev/null +++ b/src/systemc/tests/systemc/datatypes/fx/bit/test_bit.cpp @@ -0,0 +1,86 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + test_bit.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +// This may look like C code, but it is really -*- C++ -*- +// +// test_bit.cxx -- +// Copyright Synopsys 1998 +// Author : Ric Hilderink +// Created On : Thu Jan 21 10:27:26 1999 +// Status : none +// + + +#define SC_INCLUDE_FX +#include "systemc.h" +#include "test_all.hh" + + +void test_bit(ostream& out, int wl, int iwl) +{ +#undef T_WL +#undef T_IWL +#define T_WL 13 +#define T_IWL 13 + TEST_BIT; +#undef T_WL +#undef T_IWL +#define T_WL 13 +#define T_IWL 0 + TEST_BIT; +#undef T_WL +#undef T_IWL +#define T_WL 5 +#define T_IWL 13 + TEST_BIT; + +#undef T_WL +#undef T_IWL +#define T_WL 65 +#define T_IWL 65 + TEST_BIT; +#undef T_WL +#undef T_IWL +#define T_WL 65 +#define T_IWL 33 + TEST_BIT; +#undef T_WL +#undef T_IWL +#define T_WL 65 +#define T_IWL 111 + TEST_BIT; +} |