test.cpp revision 12855
111375Sandreas.hansson@arm.com/*****************************************************************************
212345Snikos.nikoleris@arm.com
311375Sandreas.hansson@arm.com  Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
411375Sandreas.hansson@arm.com  more contributor license agreements.  See the NOTICE file distributed
511375Sandreas.hansson@arm.com  with this work for additional information regarding copyright ownership.
611375Sandreas.hansson@arm.com  Accellera licenses this file to you under the Apache License, Version 2.0
711375Sandreas.hansson@arm.com  (the "License"); you may not use this file except in compliance with the
811375Sandreas.hansson@arm.com  License.  You may obtain a copy of the License at
911375Sandreas.hansson@arm.com
1011375Sandreas.hansson@arm.com    http://www.apache.org/licenses/LICENSE-2.0
1111375Sandreas.hansson@arm.com
1211375Sandreas.hansson@arm.com  Unless required by applicable law or agreed to in writing, software
1311375Sandreas.hansson@arm.com  distributed under the License is distributed on an "AS IS" BASIS,
1411375Sandreas.hansson@arm.com  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
1511375Sandreas.hansson@arm.com  implied.  See the License for the specific language governing
1611375Sandreas.hansson@arm.com  permissions and limitations under the License.
1711375Sandreas.hansson@arm.com
1811375Sandreas.hansson@arm.com *****************************************************************************/
1911375Sandreas.hansson@arm.com
2011375Sandreas.hansson@arm.com/*****************************************************************************
2111375Sandreas.hansson@arm.com
2211375Sandreas.hansson@arm.com  test.cpp --
2311375Sandreas.hansson@arm.com
2411375Sandreas.hansson@arm.com  Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
2511375Sandreas.hansson@arm.com
2611375Sandreas.hansson@arm.com *****************************************************************************/
2711375Sandreas.hansson@arm.com
2811375Sandreas.hansson@arm.com/*****************************************************************************
2911375Sandreas.hansson@arm.com
3011375Sandreas.hansson@arm.com  MODIFICATION LOG - modifiers, enter your name, affiliation, date and
3111375Sandreas.hansson@arm.com  changes you are making here.
3211375Sandreas.hansson@arm.com
3311375Sandreas.hansson@arm.com      Name, Affiliation, Date:
3411375Sandreas.hansson@arm.com  Description of Modification:
3511375Sandreas.hansson@arm.com
3611375Sandreas.hansson@arm.com *****************************************************************************/
3711375Sandreas.hansson@arm.com
3811375Sandreas.hansson@arm.com/*
3911375Sandreas.hansson@arm.comDec/6/01 ulrich
4011375Sandreas.hansson@arm.com
4111375Sandreas.hansson@arm.comComparison of bit-slices of sc_int and sc_uint vectors
4211375Sandreas.hansson@arm.comdoes not work due to ambiguity. See example below.
4311375Sandreas.hansson@arm.comIt does work with sc_bigint, however.
4411375Sandreas.hansson@arm.com*/
4511375Sandreas.hansson@arm.com
4611375Sandreas.hansson@arm.com#include <systemc.h>
4711375Sandreas.hansson@arm.com
4811375Sandreas.hansson@arm.comint sc_main(int, char**)
4911375Sandreas.hansson@arm.com{
5011375Sandreas.hansson@arm.com  {
5111375Sandreas.hansson@arm.com    // sc_biguint<32> a,b;
5211375Sandreas.hansson@arm.com    sc_uint<32> a,b;
5311375Sandreas.hansson@arm.com    a=15;
5411375Sandreas.hansson@arm.com    b=45;
5511375Sandreas.hansson@arm.com
5611375Sandreas.hansson@arm.com    cout << (a.range(5,2) <  b.range(5,2)) << "\n";
5711375Sandreas.hansson@arm.com    cout << (a.range(5,2) <= b.range(5,2)) << "\n";
5812334Sgabeblack@google.com    cout << (a.range(5,2) >  b.range(5,2)) << "\n";
5911375Sandreas.hansson@arm.com    cout << (a.range(5,2) >= b.range(5,2)) << "\n";
6011375Sandreas.hansson@arm.com  }
6111375Sandreas.hansson@arm.com
6211375Sandreas.hansson@arm.com  {
6311375Sandreas.hansson@arm.com    // sc_bigint<32> a,b;
6411375Sandreas.hansson@arm.com    sc_int<32> a,b;
6511375Sandreas.hansson@arm.com    a=15;
6611375Sandreas.hansson@arm.com    b=45;
6711375Sandreas.hansson@arm.com
6811375Sandreas.hansson@arm.com    cout << (a.range(5,2) <  b.range(5,2)) << "\n";
6911375Sandreas.hansson@arm.com    cout << (a.range(5,2) <= b.range(5,2)) << "\n";
7011375Sandreas.hansson@arm.com    cout << (a.range(5,2) >  b.range(5,2)) << "\n";
7111375Sandreas.hansson@arm.com    cout << (a.range(5,2) >= b.range(5,2)) << "\n";
7211375Sandreas.hansson@arm.com  }
7311375Sandreas.hansson@arm.com
7411375Sandreas.hansson@arm.com  return 0;
7511375Sandreas.hansson@arm.com}
7611375Sandreas.hansson@arm.com