📄 sc_int64_mask.cpp
字号:
/***************************************************************************** The following code is derived, directly or indirectly, from the SystemC source code Copyright (c) 1996-2006 by all Contributors. All Rights reserved. The contents of this file are subject to the restrictions and limitations set forth in the SystemC Open Source License Version 2.4 (the "License"); You may not use this file except in compliance with such restrictions and limitations. You may obtain instructions on how to receive a copy of the License at http://www.systemc.org/. Software distributed by Contributors under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. *****************************************************************************//***************************************************************************** sc_int64_mask.cpp -- Fills the mask_int lookup table to enable efficient part-selection on 64-bit sc_ints and sc_uints. Original Author: Amit Rao, Synopsys, Inc. *****************************************************************************//***************************************************************************** MODIFICATION LOG - modifiers, enter your name, affiliation, date and changes you are making here. Name, Affiliation, Date: Ali Dasdan, Synopsys, Inc. Description of Modification: - Resolved ambiguity with sc_(un)signed. - Merged the code for 64- and 32-bit versions via the constants in sc_nbdefs.h. - Eliminated redundant file inclusions. Name, Affiliation, Date: Description of Modification: *****************************************************************************/// $Log: sc_int64_mask.cpp,v $// Revision 1.1.1.1 2006/12/15 20:31:36 acg// SystemC 2.2//// Revision 1.3 2006/01/13 18:49:31 acg// Added $Log command so that CVS check in comments are reproduced in the// source.//#ifndef _32BIT_#include "sysc/datatypes/int/sc_int_base.h"#include "sysc/datatypes/int/sc_uint_base.h"namespace sc_dt{#ifndef WIN32const uint_type mask_int[SC_INTWIDTH][SC_INTWIDTH] = {{0xfffffffffffffffeULL},{0xfffffffffffffffcULL,0xfffffffffffffffdULL},{0xfffffffffffffff8ULL,0xfffffffffffffff9ULL,0xfffffffffffffffbULL},{0xfffffffffffffff0ULL,0xfffffffffffffff1ULL,0xfffffffffffffff3ULL,0xfffffffffffffff7ULL},{0xffffffffffffffe0ULL,0xffffffffffffffe1ULL,0xffffffffffffffe3ULL,0xffffffffffffffe7ULL,0xffffffffffffffefULL},{0xffffffffffffffc0ULL,0xffffffffffffffc1ULL,0xffffffffffffffc3ULL,0xffffffffffffffc7ULL,0xffffffffffffffcfULL,0xffffffffffffffdfULL},{0xffffffffffffff80ULL,0xffffffffffffff81ULL,0xffffffffffffff83ULL,0xffffffffffffff87ULL,0xffffffffffffff8fULL,0xffffffffffffff9fULL,0xffffffffffffffbfULL},{0xffffffffffffff00ULL,0xffffffffffffff01ULL,0xffffffffffffff03ULL,0xffffffffffffff07ULL,0xffffffffffffff0fULL,0xffffffffffffff1fULL,0xffffffffffffff3fULL,0xffffffffffffff7fULL},{0xfffffffffffffe00ULL,0xfffffffffffffe01ULL,0xfffffffffffffe03ULL,0xfffffffffffffe07ULL,0xfffffffffffffe0fULL,0xfffffffffffffe1fULL,0xfffffffffffffe3fULL,0xfffffffffffffe7fULL,0xfffffffffffffeffULL},{0xfffffffffffffc00ULL,0xfffffffffffffc01ULL,0xfffffffffffffc03ULL,0xfffffffffffffc07ULL,0xfffffffffffffc0fULL,0xfffffffffffffc1fULL,0xfffffffffffffc3fULL,0xfffffffffffffc7fULL,0xfffffffffffffcffULL,0xfffffffffffffdffULL},{0xfffffffffffff800ULL,0xfffffffffffff801ULL,0xfffffffffffff803ULL,0xfffffffffffff807ULL,0xfffffffffffff80fULL,0xfffffffffffff81fULL,0xfffffffffffff83fULL,0xfffffffffffff87fULL,0xfffffffffffff8ffULL,0xfffffffffffff9ffULL,0xfffffffffffffbffULL},{0xfffffffffffff000ULL,0xfffffffffffff001ULL,0xfffffffffffff003ULL,0xfffffffffffff007ULL,0xfffffffffffff00fULL,0xfffffffffffff01fULL,0xfffffffffffff03fULL,0xfffffffffffff07fULL,0xfffffffffffff0ffULL,0xfffffffffffff1ffULL,0xfffffffffffff3ffULL,0xfffffffffffff7ffULL},{0xffffffffffffe000ULL,0xffffffffffffe001ULL,0xffffffffffffe003ULL,0xffffffffffffe007ULL,0xffffffffffffe00fULL,0xffffffffffffe01fULL,0xffffffffffffe03fULL,0xffffffffffffe07fULL,0xffffffffffffe0ffULL,0xffffffffffffe1ffULL,0xffffffffffffe3ffULL,0xffffffffffffe7ffULL,0xffffffffffffefffULL},{0xffffffffffffc000ULL,0xffffffffffffc001ULL,0xffffffffffffc003ULL,0xffffffffffffc007ULL,0xffffffffffffc00fULL,0xffffffffffffc01fULL,0xffffffffffffc03fULL,0xffffffffffffc07fULL,0xffffffffffffc0ffULL,0xffffffffffffc1ffULL,0xffffffffffffc3ffULL,0xffffffffffffc7ffULL,0xffffffffffffcfffULL,0xffffffffffffdfffULL},{0xffffffffffff8000ULL,0xffffffffffff8001ULL,0xffffffffffff8003ULL,0xffffffffffff8007ULL,0xffffffffffff800fULL,0xffffffffffff801fULL,0xffffffffffff803fULL,0xffffffffffff807fULL,0xffffffffffff80ffULL,0xffffffffffff81ffULL,0xffffffffffff83ffULL,0xffffffffffff87ffULL,0xffffffffffff8fffULL,0xffffffffffff9fffULL,0xffffffffffffbfffULL},{0xffffffffffff0000ULL,0xffffffffffff0001ULL,0xffffffffffff0003ULL,0xffffffffffff0007ULL,0xffffffffffff000fULL,0xffffffffffff001fULL,0xffffffffffff003fULL,0xffffffffffff007fULL,0xffffffffffff00ffULL,0xffffffffffff01ffULL,0xffffffffffff03ffULL,0xffffffffffff07ffULL,0xffffffffffff0fffULL,0xffffffffffff1fffULL,0xffffffffffff3fffULL,0xffffffffffff7fffULL},{0xfffffffffffe0000ULL,0xfffffffffffe0001ULL,0xfffffffffffe0003ULL,0xfffffffffffe0007ULL,0xfffffffffffe000fULL,0xfffffffffffe001fULL,0xfffffffffffe003fULL,0xfffffffffffe007fULL,0xfffffffffffe00ffULL,0xfffffffffffe01ffULL,0xfffffffffffe03ffULL,0xfffffffffffe07ffULL,0xfffffffffffe0fffULL,0xfffffffffffe1fffULL,0xfffffffffffe3fffULL,0xfffffffffffe7fffULL,0xfffffffffffeffffULL},{0xfffffffffffc0000ULL,0xfffffffffffc0001ULL,0xfffffffffffc0003ULL,0xfffffffffffc0007ULL,0xfffffffffffc000fULL,0xfffffffffffc001fULL,0xfffffffffffc003fULL,0xfffffffffffc007fULL,0xfffffffffffc00ffULL,0xfffffffffffc01ffULL,0xfffffffffffc03ffULL,0xfffffffffffc07ffULL,0xfffffffffffc0fffULL,0xfffffffffffc1fffULL,0xfffffffffffc3fffULL,0xfffffffffffc7fffULL,0xfffffffffffcffffULL,0xfffffffffffdffffULL},{0xfffffffffff80000ULL,0xfffffffffff80001ULL,0xfffffffffff80003ULL,0xfffffffffff80007ULL,0xfffffffffff8000fULL,0xfffffffffff8001fULL,0xfffffffffff8003fULL,0xfffffffffff8007fULL,0xfffffffffff800ffULL,0xfffffffffff801ffULL,0xfffffffffff803ffULL,0xfffffffffff807ffULL,0xfffffffffff80fffULL,0xfffffffffff81fffULL,0xfffffffffff83fffULL,0xfffffffffff87fffULL,0xfffffffffff8ffffULL,0xfffffffffff9ffffULL,0xfffffffffffbffffULL},{0xfffffffffff00000ULL,0xfffffffffff00001ULL,0xfffffffffff00003ULL,0xfffffffffff00007ULL,0xfffffffffff0000fULL,0xfffffffffff0001fULL,0xfffffffffff0003fULL,0xfffffffffff0007fULL,0xfffffffffff000ffULL,0xfffffffffff001ffULL,0xfffffffffff003ffULL,0xfffffffffff007ffULL,0xfffffffffff00fffULL,0xfffffffffff01fffULL,0xfffffffffff03fffULL,0xfffffffffff07fffULL,0xfffffffffff0ffffULL,0xfffffffffff1ffffULL,0xfffffffffff3ffffULL,0xfffffffffff7ffffULL},{0xffffffffffe00000ULL,0xffffffffffe00001ULL,0xffffffffffe00003ULL,0xffffffffffe00007ULL,0xffffffffffe0000fULL,0xffffffffffe0001fULL,0xffffffffffe0003fULL,0xffffffffffe0007fULL,0xffffffffffe000ffULL,0xffffffffffe001ffULL,0xffffffffffe003ffULL,0xffffffffffe007ffULL,0xffffffffffe00fffULL,0xffffffffffe01fffULL,0xffffffffffe03fffULL,0xffffffffffe07fffULL,0xffffffffffe0ffffULL,0xffffffffffe1ffffULL,0xffffffffffe3ffffULL,0xffffffffffe7ffffULL,0xffffffffffefffffULL},{0xffffffffffc00000ULL,0xffffffffffc00001ULL,0xffffffffffc00003ULL,0xffffffffffc00007ULL,0xffffffffffc0000fULL,0xffffffffffc0001fULL,0xffffffffffc0003fULL,0xffffffffffc0007fULL,0xffffffffffc000ffULL,0xffffffffffc001ffULL,0xffffffffffc003ffULL,0xffffffffffc007ffULL,0xffffffffffc00fffULL,0xffffffffffc01fffULL,0xffffffffffc03fffULL,0xffffffffffc07fffULL,0xffffffffffc0ffffULL,0xffffffffffc1ffffULL,0xffffffffffc3ffffULL,0xffffffffffc7ffffULL,0xffffffffffcfffffULL,0xffffffffffdfffffULL},{0xffffffffff800000ULL,0xffffffffff800001ULL,0xffffffffff800003ULL,0xffffffffff800007ULL,0xffffffffff80000fULL,0xffffffffff80001fULL,0xffffffffff80003fULL,0xffffffffff80007fULL,0xffffffffff8000ffULL,0xffffffffff8001ffULL,0xffffffffff8003ffULL,0xffffffffff8007ffULL,0xffffffffff800fffULL,0xffffffffff801fffULL,0xffffffffff803fffULL,0xffffffffff807fffULL,0xffffffffff80ffffULL,0xffffffffff81ffffULL,0xffffffffff83ffffULL,0xffffffffff87ffffULL,0xffffffffff8fffffULL,0xffffffffff9fffffULL,0xffffffffffbfffffULL},{0xffffffffff000000ULL,0xffffffffff000001ULL,0xffffffffff000003ULL,0xffffffffff000007ULL,0xffffffffff00000fULL,0xffffffffff00001fULL,0xffffffffff00003fULL,0xffffffffff00007fULL,0xffffffffff0000ffULL,0xffffffffff0001ffULL,0xffffffffff0003ffULL,0xffffffffff0007ffULL,0xffffffffff000fffULL,0xffffffffff001fffULL,0xffffffffff003fffULL,0xffffffffff007fffULL,0xffffffffff00ffffULL,0xffffffffff01ffffULL,0xffffffffff03ffffULL,0xffffffffff07ffffULL,0xffffffffff0fffffULL,0xffffffffff1fffffULL,0xffffffffff3fffffULL,0xffffffffff7fffffULL},{0xfffffffffe000000ULL,0xfffffffffe000001ULL,0xfffffffffe000003ULL,0xfffffffffe000007ULL,0xfffffffffe00000fULL,0xfffffffffe00001fULL,0xfffffffffe00003fULL,0xfffffffffe00007fULL,0xfffffffffe0000ffULL,0xfffffffffe0001ffULL,0xfffffffffe0003ffULL,0xfffffffffe0007ffULL,0xfffffffffe000fffULL,0xfffffffffe001fffULL,0xfffffffffe003fffULL,0xfffffffffe007fffULL,0xfffffffffe00ffffULL,0xfffffffffe01ffffULL,0xfffffffffe03ffffULL,0xfffffffffe07ffffULL,0xfffffffffe0fffffULL,0xfffffffffe1fffffULL,0xfffffffffe3fffffULL,0xfffffffffe7fffffULL,0xfffffffffeffffffULL},{0xfffffffffc000000ULL,0xfffffffffc000001ULL,0xfffffffffc000003ULL,0xfffffffffc000007ULL,0xfffffffffc00000fULL,0xfffffffffc00001fULL,0xfffffffffc00003fULL,0xfffffffffc00007fULL,0xfffffffffc0000ffULL,0xfffffffffc0001ffULL,0xfffffffffc0003ffULL,0xfffffffffc0007ffULL,0xfffffffffc000fffULL,0xfffffffffc001fffULL,0xfffffffffc003fffULL,0xfffffffffc007fffULL,0xfffffffffc00ffffULL,0xfffffffffc01ffffULL,0xfffffffffc03ffffULL,0xfffffffffc07ffffULL,0xfffffffffc0fffffULL,0xfffffffffc1fffffULL,0xfffffffffc3fffffULL,0xfffffffffc7fffffULL,0xfffffffffcffffffULL,0xfffffffffdffffffULL},{0xfffffffff8000000ULL,0xfffffffff8000001ULL,0xfffffffff8000003ULL,0xfffffffff8000007ULL,0xfffffffff800000fULL,0xfffffffff800001fULL,0xfffffffff800003fULL,0xfffffffff800007fULL,0xfffffffff80000ffULL,0xfffffffff80001ffULL,0xfffffffff80003ffULL,0xfffffffff80007ffULL,0xfffffffff8000fffULL,0xfffffffff8001fffULL,0xfffffffff8003fffULL,0xfffffffff8007fffULL,0xfffffffff800ffffULL,0xfffffffff801ffffULL,0xfffffffff803ffffULL,0xfffffffff807ffffULL,0xfffffffff80fffffULL,0xfffffffff81fffffULL,0xfffffffff83fffffULL,0xfffffffff87fffffULL,0xfffffffff8ffffffULL,0xfffffffff9ffffffULL,0xfffffffffbffffffULL},{0xfffffffff0000000ULL,0xfffffffff0000001ULL,0xfffffffff0000003ULL,0xfffffffff0000007ULL,0xfffffffff000000fULL,0xfffffffff000001fULL,0xfffffffff000003fULL,0xfffffffff000007fULL,0xfffffffff00000ffULL,0xfffffffff00001ffULL,0xfffffffff00003ffULL,0xfffffffff00007ffULL,0xfffffffff0000fffULL,0xfffffffff0001fffULL,0xfffffffff0003fffULL,0xfffffffff0007fffULL,0xfffffffff000ffffULL,0xfffffffff001ffffULL,0xfffffffff003ffffULL,0xfffffffff007ffffULL,0xfffffffff00fffffULL,0xfffffffff01fffffULL,0xfffffffff03fffffULL,0xfffffffff07fffffULL,0xfffffffff0ffffffULL,0xfffffffff1ffffffULL,0xfffffffff3ffffffULL,0xfffffffff7ffffffULL},{0xffffffffe0000000ULL,0xffffffffe0000001ULL,0xffffffffe0000003ULL,0xffffffffe0000007ULL,0xffffffffe000000fULL,0xffffffffe000001fULL,0xffffffffe000003fULL,0xffffffffe000007fULL,0xffffffffe00000ffULL,0xffffffffe00001ffULL,0xffffffffe00003ffULL,0xffffffffe00007ffULL,0xffffffffe0000fffULL,0xffffffffe0001fffULL,0xffffffffe0003fffULL,0xffffffffe0007fffULL,0xffffffffe000ffffULL,0xffffffffe001ffffULL,0xffffffffe003ffffULL,0xffffffffe007ffffULL,0xffffffffe00fffffULL,0xffffffffe01fffffULL,0xffffffffe03fffffULL,0xffffffffe07fffffULL,0xffffffffe0ffffffULL,0xffffffffe1ffffffULL,0xffffffffe3ffffffULL,0xffffffffe7ffffffULL,0xffffffffefffffffULL},{0xffffffffc0000000ULL,0xffffffffc0000001ULL,0xffffffffc0000003ULL,0xffffffffc0000007ULL,0xffffffffc000000fULL,0xffffffffc000001fULL,0xffffffffc000003fULL,0xffffffffc000007fULL,0xffffffffc00000ffULL,0xffffffffc00001ffULL,0xffffffffc00003ffULL,0xffffffffc00007ffULL,0xffffffffc0000fffULL,0xffffffffc0001fffULL,0xffffffffc0003fffULL,0xffffffffc0007fffULL,0xffffffffc000ffffULL,0xffffffffc001ffffULL,0xffffffffc003ffffULL,0xffffffffc007ffffULL,0xffffffffc00fffffULL,0xffffffffc01fffffULL,0xffffffffc03fffffULL,0xffffffffc07fffffULL,0xffffffffc0ffffffULL,0xffffffffc1ffffffULL,0xffffffffc3ffffffULL,0xffffffffc7ffffffULL,0xffffffffcfffffffULL,0xffffffffdfffffffULL},{0xffffffff80000000ULL,0xffffffff80000001ULL,0xffffffff80000003ULL,0xffffffff80000007ULL,0xffffffff8000000fULL,0xffffffff8000001fULL,0xffffffff8000003fULL,0xffffffff8000007fULL,0xffffffff800000ffULL,0xffffffff800001ffULL,0xffffffff800003ffULL,0xffffffff800007ffULL,0xffffffff80000fffULL,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -