src/sysc/datatypes/int/sc_nbexterns.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002 
00003   The following code is derived, directly or indirectly, from the SystemC
00004   source code Copyright (c) 1996-2005 by all Contributors.
00005   All Rights reserved.
00006 
00007   The contents of this file are subject to the restrictions and limitations
00008   set forth in the SystemC Open Source License Version 2.4 (the "License");
00009   You may not use this file except in compliance with such restrictions and
00010   limitations. You may obtain instructions on how to receive a copy of the
00011   License at http://www.systemc.org/. Software distributed by Contributors
00012   under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
00013   ANY KIND, either express or implied. See the License for the specific
00014   language governing rights and limitations under the License.
00015 
00016  *****************************************************************************/
00017 
00018 /*****************************************************************************
00019 
00020   sc_nbexterns.h -- External functions for both sc_signed and sc_unsigned
00021                     classes. These functions work on two parameters u and
00022                     v, and copy the result to the first parameter u. This
00023                     is also the reason that they are suffixed with _on_help.
00024  
00025                     The vec_* functions are called through either these
00026                     functions or those in sc_nbfriends.cpp. The functions in
00027                     sc_nbfriends.cpp perform their work on two inputs u and v,
00028                     and return the result object.
00029  
00030   Original Author: Ali Dasdan, Synopsys, Inc.
00031  
00032  *****************************************************************************/
00033 
00034 /*****************************************************************************
00035 
00036   MODIFICATION LOG - modifiers, enter your name, affiliation, date and
00037   changes you are making here.
00038 
00039       Name, Affiliation, Date:
00040   Description of Modification:
00041 
00042  *****************************************************************************/
00043 
00044 #ifndef SC_NBEXTERNS_H
00045 #define SC_NBEXTERNS_H
00046 
00047 
00048 #include "sysc/datatypes/int/sc_nbutils.h"
00049 
00050 
00051 namespace sc_dt
00052 {
00053 
00054 extern 
00055 void add_on_help(small_type &us, 
00056                  int unb, int und, unsigned long *ud, 
00057                  small_type vs, 
00058                  int vnb, int vnd, const unsigned long *vd);
00059 
00060 extern 
00061 void mul_on_help_signed(small_type &us,
00062                         int unb, int und, unsigned long *ud, 
00063                         int vnb, int vnd, const unsigned long *vd);
00064 
00065 void div_on_help_signed(small_type &us,
00066                         int unb, int und, unsigned long *ud, 
00067                         int vnb, int vnd, const unsigned long *vd);
00068 
00069 extern 
00070 void mod_on_help_signed(small_type &us,
00071                         int unb, int und, unsigned long *ud, 
00072                         int vnb, int vnd, const unsigned long *vd);
00073 
00074 extern 
00075 void mul_on_help_unsigned(small_type &us,
00076                           int unb, int und, unsigned long *ud, 
00077                           int vnb, int vnd, const unsigned long *vd);
00078 
00079 void div_on_help_unsigned(small_type &us,
00080                           int unb, int und, unsigned long *ud, 
00081                           int vnb, int vnd, const unsigned long *vd);
00082 
00083 extern 
00084 void mod_on_help_unsigned(small_type &us,
00085                           int unb, int und, unsigned long *ud, 
00086                           int vnb, int vnd, const unsigned long *vd);
00087 
00088 extern 
00089 void and_on_help(small_type us, 
00090                  int unb, int und, unsigned long *ud, 
00091                  small_type vs,
00092                  int vnb, int vnd, const unsigned long *vd);
00093 
00094 extern 
00095 void or_on_help(small_type us, 
00096                 int unb, int und, unsigned long *ud, 
00097                 small_type vs,
00098                 int vnb, int vnd, const unsigned long *vd);
00099 
00100 extern 
00101 void xor_on_help(small_type us, 
00102                  int unb, int und, unsigned long *ud, 
00103                  small_type vs,
00104                  int vnb, int vnd, const unsigned long *vd);
00105 
00106 } // namespace sc_dt
00107 
00108 
00109 #endif

Generated on Wed Apr 25 13:53:27 2007 for SystemC by  doxygen 1.5.1