112853Sgabeblack@google.com/***************************************************************************** 212853Sgabeblack@google.com 312853Sgabeblack@google.com Licensed to Accellera Systems Initiative Inc. (Accellera) under one or 412853Sgabeblack@google.com more contributor license agreements. See the NOTICE file distributed 512853Sgabeblack@google.com with this work for additional information regarding copyright ownership. 612853Sgabeblack@google.com Accellera licenses this file to you under the Apache License, Version 2.0 712853Sgabeblack@google.com (the "License"); you may not use this file except in compliance with the 812853Sgabeblack@google.com License. You may obtain a copy of the License at 912853Sgabeblack@google.com 1012853Sgabeblack@google.com http://www.apache.org/licenses/LICENSE-2.0 1112853Sgabeblack@google.com 1212853Sgabeblack@google.com Unless required by applicable law or agreed to in writing, software 1312853Sgabeblack@google.com distributed under the License is distributed on an "AS IS" BASIS, 1412853Sgabeblack@google.com WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 1512853Sgabeblack@google.com implied. See the License for the specific language governing 1612853Sgabeblack@google.com permissions and limitations under the License. 1712853Sgabeblack@google.com 1812853Sgabeblack@google.com *****************************************************************************/ 1912853Sgabeblack@google.com 2012853Sgabeblack@google.com/***************************************************************************** 2112853Sgabeblack@google.com 2212853Sgabeblack@google.com sc_nbexterns.h -- External functions for both sc_signed and sc_unsigned 2312853Sgabeblack@google.com classes. These functions work on two parameters u and 2412853Sgabeblack@google.com v, and copy the result to the first parameter u. This 2512853Sgabeblack@google.com is also the reason that they are suffixed with _on_help. 2612853Sgabeblack@google.com 2712853Sgabeblack@google.com The vec_* functions are called through either these 2812853Sgabeblack@google.com functions or those in sc_nbfriends.cpp. The functions in 2912853Sgabeblack@google.com sc_nbfriends.cpp perform their work on two inputs u and v, 3012853Sgabeblack@google.com and return the result object. 3112853Sgabeblack@google.com 3212853Sgabeblack@google.com Original Author: Ali Dasdan, Synopsys, Inc. 3312853Sgabeblack@google.com 3412853Sgabeblack@google.com *****************************************************************************/ 3512853Sgabeblack@google.com 3612853Sgabeblack@google.com/***************************************************************************** 3712853Sgabeblack@google.com 3812853Sgabeblack@google.com MODIFICATION LOG - modifiers, enter your name, affiliation, date and 3912853Sgabeblack@google.com changes you are making here. 4012853Sgabeblack@google.com 4112853Sgabeblack@google.com Name, Affiliation, Date: 4212853Sgabeblack@google.com Description of Modification: 4312853Sgabeblack@google.com 4412853Sgabeblack@google.com *****************************************************************************/ 4512853Sgabeblack@google.com 4612853Sgabeblack@google.com// $Log: sc_nbexterns.h,v $ 4712853Sgabeblack@google.com// Revision 1.2 2011/02/18 20:19:15 acg 4812853Sgabeblack@google.com// Andy Goodrich: updating Copyright notice. 4912853Sgabeblack@google.com// 5012853Sgabeblack@google.com// Revision 1.1.1.1 2006/12/15 20:20:05 acg 5112853Sgabeblack@google.com// SystemC 2.3 5212853Sgabeblack@google.com// 5312853Sgabeblack@google.com// Revision 1.3 2006/01/13 18:49:32 acg 5412853Sgabeblack@google.com// Added $Log command so that CVS check in comments are reproduced in the 5512853Sgabeblack@google.com// source. 5612853Sgabeblack@google.com// 5712853Sgabeblack@google.com 5812853Sgabeblack@google.com#ifndef __SYSTEMC_EXT_DT_INT_SC_NBEXTERNS_HH__ 5912853Sgabeblack@google.com#define __SYSTEMC_EXT_DT_INT_SC_NBEXTERNS_HH__ 6012853Sgabeblack@google.com 6112853Sgabeblack@google.com#include "sc_nbutils.hh" 6212853Sgabeblack@google.com 6312853Sgabeblack@google.comnamespace sc_dt 6412853Sgabeblack@google.com{ 6512853Sgabeblack@google.com 6612853Sgabeblack@google.comextern void add_on_help( 6712853Sgabeblack@google.com small_type &us, int unb, int und, sc_digit *ud, 6812853Sgabeblack@google.com small_type vs, int vnb, int vnd, const sc_digit *vd); 6912853Sgabeblack@google.com 7012853Sgabeblack@google.comextern void mul_on_help_signed( 7112853Sgabeblack@google.com small_type &us, int unb, int und, sc_digit *ud, 7212853Sgabeblack@google.com int vnb, int vnd, const sc_digit *vd); 7312853Sgabeblack@google.com 7412853Sgabeblack@google.comvoid div_on_help_signed( 7512853Sgabeblack@google.com small_type &us, int unb, int und, sc_digit *ud, 7612853Sgabeblack@google.com int vnb, int vnd, const sc_digit *vd); 7712853Sgabeblack@google.com 7812853Sgabeblack@google.comextern void mod_on_help_signed( 7912853Sgabeblack@google.com small_type &us, int unb, int und, sc_digit *ud, 8012853Sgabeblack@google.com int vnb, int vnd, const sc_digit *vd); 8112853Sgabeblack@google.com 8212853Sgabeblack@google.comextern void mul_on_help_unsigned( 8312853Sgabeblack@google.com small_type &us, int unb, int und, sc_digit *ud, 8412853Sgabeblack@google.com int vnb, int vnd, const sc_digit *vd); 8512853Sgabeblack@google.com 8612853Sgabeblack@google.comvoid div_on_help_unsigned( 8712853Sgabeblack@google.com small_type &us, int unb, int und, sc_digit *ud, 8812853Sgabeblack@google.com int vnb, int vnd, const sc_digit *vd); 8912853Sgabeblack@google.com 9012853Sgabeblack@google.comextern void mod_on_help_unsigned( 9112853Sgabeblack@google.com small_type &us, int unb, int und, sc_digit *ud, 9212853Sgabeblack@google.com int vnb, int vnd, const sc_digit *vd); 9312853Sgabeblack@google.com 9412853Sgabeblack@google.comextern void and_on_help( 9512853Sgabeblack@google.com small_type us, int unb, int und, sc_digit *ud, 9612853Sgabeblack@google.com small_type vs, int vnb, int vnd, const sc_digit *vd); 9712853Sgabeblack@google.com 9812853Sgabeblack@google.comextern void or_on_help( 9912853Sgabeblack@google.com small_type us, int unb, int und, sc_digit *ud, 10012853Sgabeblack@google.com small_type vs, int vnb, int vnd, const sc_digit *vd); 10112853Sgabeblack@google.com 10212853Sgabeblack@google.comextern void xor_on_help( 10312853Sgabeblack@google.com small_type us, int unb, int und, sc_digit *ud, 10412853Sgabeblack@google.com small_type vs, int vnb, int vnd, const sc_digit *vd); 10512853Sgabeblack@google.com 10612853Sgabeblack@google.com} // namespace sc_dt 10712853Sgabeblack@google.com 10812853Sgabeblack@google.com#endif // __SYSTEMC_EXT_DT_INT_SC_NBEXTERNS_HH__ 109