diff options
Diffstat (limited to 'ext/systemc/src/sysc/datatypes/int/sc_int32_mask.cpp')
-rw-r--r-- | ext/systemc/src/sysc/datatypes/int/sc_int32_mask.cpp | 665 |
1 files changed, 665 insertions, 0 deletions
diff --git a/ext/systemc/src/sysc/datatypes/int/sc_int32_mask.cpp b/ext/systemc/src/sysc/datatypes/int/sc_int32_mask.cpp new file mode 100644 index 000000000..5e55dfb87 --- /dev/null +++ b/ext/systemc/src/sysc/datatypes/int/sc_int32_mask.cpp @@ -0,0 +1,665 @@ +/***************************************************************************** + + 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. + + *****************************************************************************/ + +/***************************************************************************** + + sc_int32_mask.cpp -- Fills the mask_int lookup table to enable efficient + part-selection on 32-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_int32_mask.cpp,v $ +// Revision 1.2 2011/02/18 20:19:14 acg +// Andy Goodrich: updating Copyright notice. +// +// Revision 1.1.1.1 2006/12/15 20:20:05 acg +// SystemC 2.3 +// +// Revision 1.3 2006/01/13 18:49:31 acg +// Added $Log command so that CVS check in comments are reproduced in the +// source. +// + +#ifdef _32BIT_ + +#include "sysc/datatypes/int/sc_int_base.h" +#include "sysc/datatypes/int/sc_uint_base.h" + + +namespace sc_dt +{ + +const uint_type mask_int[SC_INTWIDTH][SC_INTWIDTH] = +{ +{ +0xfffffffeU +}, +{ +0xfffffffcU, +0xfffffffdU +}, +{ +0xfffffff8U, +0xfffffff9U, +0xfffffffbU +}, +{ +0xfffffff0U, +0xfffffff1U, +0xfffffff3U, +0xfffffff7U +}, +{ +0xffffffe0U, +0xffffffe1U, +0xffffffe3U, +0xffffffe7U, +0xffffffefU +}, +{ +0xffffffc0U, +0xffffffc1U, +0xffffffc3U, +0xffffffc7U, +0xffffffcfU, +0xffffffdfU +}, +{ +0xffffff80U, +0xffffff81U, +0xffffff83U, +0xffffff87U, +0xffffff8fU, +0xffffff9fU, +0xffffffbfU +}, +{ +0xffffff00U, +0xffffff01U, +0xffffff03U, +0xffffff07U, +0xffffff0fU, +0xffffff1fU, +0xffffff3fU, +0xffffff7fU +}, +{ +0xfffffe00U, +0xfffffe01U, +0xfffffe03U, +0xfffffe07U, +0xfffffe0fU, +0xfffffe1fU, +0xfffffe3fU, +0xfffffe7fU, +0xfffffeffU +}, +{ +0xfffffc00U, +0xfffffc01U, +0xfffffc03U, +0xfffffc07U, +0xfffffc0fU, +0xfffffc1fU, +0xfffffc3fU, +0xfffffc7fU, +0xfffffcffU, +0xfffffdffU +}, +{ +0xfffff800U, +0xfffff801U, +0xfffff803U, +0xfffff807U, +0xfffff80fU, +0xfffff81fU, +0xfffff83fU, +0xfffff87fU, +0xfffff8ffU, +0xfffff9ffU, +0xfffffbffU +}, +{ +0xfffff000U, +0xfffff001U, +0xfffff003U, +0xfffff007U, +0xfffff00fU, +0xfffff01fU, +0xfffff03fU, +0xfffff07fU, +0xfffff0ffU, +0xfffff1ffU, +0xfffff3ffU, +0xfffff7ffU +}, +{ +0xffffe000U, +0xffffe001U, +0xffffe003U, +0xffffe007U, +0xffffe00fU, +0xffffe01fU, +0xffffe03fU, +0xffffe07fU, +0xffffe0ffU, +0xffffe1ffU, +0xffffe3ffU, +0xffffe7ffU, +0xffffefffU +}, +{ +0xffffc000U, +0xffffc001U, +0xffffc003U, +0xffffc007U, +0xffffc00fU, +0xffffc01fU, +0xffffc03fU, +0xffffc07fU, +0xffffc0ffU, +0xffffc1ffU, +0xffffc3ffU, +0xffffc7ffU, +0xffffcfffU, +0xffffdfffU +}, +{ +0xffff8000U, +0xffff8001U, +0xffff8003U, +0xffff8007U, +0xffff800fU, +0xffff801fU, +0xffff803fU, +0xffff807fU, +0xffff80ffU, +0xffff81ffU, +0xffff83ffU, +0xffff87ffU, +0xffff8fffU, +0xffff9fffU, +0xffffbfffU +}, +{ +0xffff0000U, +0xffff0001U, +0xffff0003U, +0xffff0007U, +0xffff000fU, +0xffff001fU, +0xffff003fU, +0xffff007fU, +0xffff00ffU, +0xffff01ffU, +0xffff03ffU, +0xffff07ffU, +0xffff0fffU, +0xffff1fffU, +0xffff3fffU, +0xffff7fffU +}, +{ +0xfffe0000U, +0xfffe0001U, +0xfffe0003U, +0xfffe0007U, +0xfffe000fU, +0xfffe001fU, +0xfffe003fU, +0xfffe007fU, +0xfffe00ffU, +0xfffe01ffU, +0xfffe03ffU, +0xfffe07ffU, +0xfffe0fffU, +0xfffe1fffU, +0xfffe3fffU, +0xfffe7fffU, +0xfffeffffU +}, +{ +0xfffc0000U, +0xfffc0001U, +0xfffc0003U, +0xfffc0007U, +0xfffc000fU, +0xfffc001fU, +0xfffc003fU, +0xfffc007fU, +0xfffc00ffU, +0xfffc01ffU, +0xfffc03ffU, +0xfffc07ffU, +0xfffc0fffU, +0xfffc1fffU, +0xfffc3fffU, +0xfffc7fffU, +0xfffcffffU, +0xfffdffffU +}, +{ +0xfff80000U, +0xfff80001U, +0xfff80003U, +0xfff80007U, +0xfff8000fU, +0xfff8001fU, +0xfff8003fU, +0xfff8007fU, +0xfff800ffU, +0xfff801ffU, +0xfff803ffU, +0xfff807ffU, +0xfff80fffU, +0xfff81fffU, +0xfff83fffU, +0xfff87fffU, +0xfff8ffffU, +0xfff9ffffU, +0xfffbffffU +}, +{ +0xfff00000U, +0xfff00001U, +0xfff00003U, +0xfff00007U, +0xfff0000fU, +0xfff0001fU, +0xfff0003fU, +0xfff0007fU, +0xfff000ffU, +0xfff001ffU, +0xfff003ffU, +0xfff007ffU, +0xfff00fffU, +0xfff01fffU, +0xfff03fffU, +0xfff07fffU, +0xfff0ffffU, +0xfff1ffffU, +0xfff3ffffU, +0xfff7ffffU +}, +{ +0xffe00000U, +0xffe00001U, +0xffe00003U, +0xffe00007U, +0xffe0000fU, +0xffe0001fU, +0xffe0003fU, +0xffe0007fU, +0xffe000ffU, +0xffe001ffU, +0xffe003ffU, +0xffe007ffU, +0xffe00fffU, +0xffe01fffU, +0xffe03fffU, +0xffe07fffU, +0xffe0ffffU, +0xffe1ffffU, +0xffe3ffffU, +0xffe7ffffU, +0xffefffffU +}, +{ +0xffc00000U, +0xffc00001U, +0xffc00003U, +0xffc00007U, +0xffc0000fU, +0xffc0001fU, +0xffc0003fU, +0xffc0007fU, +0xffc000ffU, +0xffc001ffU, +0xffc003ffU, +0xffc007ffU, +0xffc00fffU, +0xffc01fffU, +0xffc03fffU, +0xffc07fffU, +0xffc0ffffU, +0xffc1ffffU, +0xffc3ffffU, +0xffc7ffffU, +0xffcfffffU, +0xffdfffffU +}, +{ +0xff800000U, +0xff800001U, +0xff800003U, +0xff800007U, +0xff80000fU, +0xff80001fU, +0xff80003fU, +0xff80007fU, +0xff8000ffU, +0xff8001ffU, +0xff8003ffU, +0xff8007ffU, +0xff800fffU, +0xff801fffU, +0xff803fffU, +0xff807fffU, +0xff80ffffU, +0xff81ffffU, +0xff83ffffU, +0xff87ffffU, +0xff8fffffU, +0xff9fffffU, +0xffbfffffU +}, +{ +0xff000000U, +0xff000001U, +0xff000003U, +0xff000007U, +0xff00000fU, +0xff00001fU, +0xff00003fU, +0xff00007fU, +0xff0000ffU, +0xff0001ffU, +0xff0003ffU, +0xff0007ffU, +0xff000fffU, +0xff001fffU, +0xff003fffU, +0xff007fffU, +0xff00ffffU, +0xff01ffffU, +0xff03ffffU, +0xff07ffffU, +0xff0fffffU, +0xff1fffffU, +0xff3fffffU, +0xff7fffffU +}, +{ +0xfe000000U, +0xfe000001U, +0xfe000003U, +0xfe000007U, +0xfe00000fU, +0xfe00001fU, +0xfe00003fU, +0xfe00007fU, +0xfe0000ffU, +0xfe0001ffU, +0xfe0003ffU, +0xfe0007ffU, +0xfe000fffU, +0xfe001fffU, +0xfe003fffU, +0xfe007fffU, +0xfe00ffffU, +0xfe01ffffU, +0xfe03ffffU, +0xfe07ffffU, +0xfe0fffffU, +0xfe1fffffU, +0xfe3fffffU, +0xfe7fffffU, +0xfeffffffU +}, +{ +0xfc000000U, +0xfc000001U, +0xfc000003U, +0xfc000007U, +0xfc00000fU, +0xfc00001fU, +0xfc00003fU, +0xfc00007fU, +0xfc0000ffU, +0xfc0001ffU, +0xfc0003ffU, +0xfc0007ffU, +0xfc000fffU, +0xfc001fffU, +0xfc003fffU, +0xfc007fffU, +0xfc00ffffU, +0xfc01ffffU, +0xfc03ffffU, +0xfc07ffffU, +0xfc0fffffU, +0xfc1fffffU, +0xfc3fffffU, +0xfc7fffffU, +0xfcffffffU, +0xfdffffffU +}, +{ +0xf8000000U, +0xf8000001U, +0xf8000003U, +0xf8000007U, +0xf800000fU, +0xf800001fU, +0xf800003fU, +0xf800007fU, +0xf80000ffU, +0xf80001ffU, +0xf80003ffU, +0xf80007ffU, +0xf8000fffU, +0xf8001fffU, +0xf8003fffU, +0xf8007fffU, +0xf800ffffU, +0xf801ffffU, +0xf803ffffU, +0xf807ffffU, +0xf80fffffU, +0xf81fffffU, +0xf83fffffU, +0xf87fffffU, +0xf8ffffffU, +0xf9ffffffU, +0xfbffffffU +}, +{ +0xf0000000U, +0xf0000001U, +0xf0000003U, +0xf0000007U, +0xf000000fU, +0xf000001fU, +0xf000003fU, +0xf000007fU, +0xf00000ffU, +0xf00001ffU, +0xf00003ffU, +0xf00007ffU, +0xf0000fffU, +0xf0001fffU, +0xf0003fffU, +0xf0007fffU, +0xf000ffffU, +0xf001ffffU, +0xf003ffffU, +0xf007ffffU, +0xf00fffffU, +0xf01fffffU, +0xf03fffffU, +0xf07fffffU, +0xf0ffffffU, +0xf1ffffffU, +0xf3ffffffU, +0xf7ffffffU +}, +{ +0xe0000000U, +0xe0000001U, +0xe0000003U, +0xe0000007U, +0xe000000fU, +0xe000001fU, +0xe000003fU, +0xe000007fU, +0xe00000ffU, +0xe00001ffU, +0xe00003ffU, +0xe00007ffU, +0xe0000fffU, +0xe0001fffU, +0xe0003fffU, +0xe0007fffU, +0xe000ffffU, +0xe001ffffU, +0xe003ffffU, +0xe007ffffU, +0xe00fffffU, +0xe01fffffU, +0xe03fffffU, +0xe07fffffU, +0xe0ffffffU, +0xe1ffffffU, +0xe3ffffffU, +0xe7ffffffU, +0xefffffffU +}, +{ +0xc0000000U, +0xc0000001U, +0xc0000003U, +0xc0000007U, +0xc000000fU, +0xc000001fU, +0xc000003fU, +0xc000007fU, +0xc00000ffU, +0xc00001ffU, +0xc00003ffU, +0xc00007ffU, +0xc0000fffU, +0xc0001fffU, +0xc0003fffU, +0xc0007fffU, +0xc000ffffU, +0xc001ffffU, +0xc003ffffU, +0xc007ffffU, +0xc00fffffU, +0xc01fffffU, +0xc03fffffU, +0xc07fffffU, +0xc0ffffffU, +0xc1ffffffU, +0xc3ffffffU, +0xc7ffffffU, +0xcfffffffU, +0xdfffffffU +}, +{ +0x80000000U, +0x80000001U, +0x80000003U, +0x80000007U, +0x8000000fU, +0x8000001fU, +0x8000003fU, +0x8000007fU, +0x800000ffU, +0x800001ffU, +0x800003ffU, +0x800007ffU, +0x80000fffU, +0x80001fffU, +0x80003fffU, +0x80007fffU, +0x8000ffffU, +0x8001ffffU, +0x8003ffffU, +0x8007ffffU, +0x800fffffU, +0x801fffffU, +0x803fffffU, +0x807fffffU, +0x80ffffffU, +0x81ffffffU, +0x83ffffffU, +0x87ffffffU, +0x8fffffffU, +0x9fffffffU, +0xbfffffffU +}, +{ +0x0U, +0x1U, +0x3U, +0x7U, +0xfU, +0x1fU, +0x3fU, +0x7fU, +0xffU, +0x1ffU, +0x3ffU, +0x7ffU, +0xfffU, +0x1fffU, +0x3fffU, +0x7fffU, +0xffffU, +0x1ffffU, +0x3ffffU, +0x7ffffU, +0xfffffU, +0x1fffffU, +0x3fffffU, +0x7fffffU, +0xffffffU, +0x1ffffffU, +0x3ffffffU, +0x7ffffffU, +0xfffffffU, +0x1fffffffU, +0x3fffffffU, +0x7fffffffU +} +}; + +} // namespace sc_dt + +#endif |