SystemC 3.0.0
Accellera SystemC proof-of-concept library
sc_unsigned_friends.h
Go to the documentation of this file.
1/*****************************************************************************
2
3 Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
4 more contributor license agreements. See the NOTICE file distributed
5 with this work for additional information regarding copyright ownership.
6 Accellera licenses this file to you under the Apache License, Version 2.0
7 (the "License"); you may not use this file except in compliance with the
8 License. You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15 implied. See the License for the specific language governing
16 permissions and limitations under the License.
17
18 *****************************************************************************/
19
20// THIS IS THE INCLUSION FILE FOR SCFP constS OF THE sc_unsigned CLASS.
21//
22//(1) This file gets included twice in sc_unsigned.h, once with SCFP const set
23// to null and once with SCFP const set to "friend". So there is no guard
24// around its contents.
25//(2)
26
27// operator + with an sc_unsigned result:
28
29SCFP const sc_signed operator+(const sc_unsigned& u, const sc_signed& v);
30
31SCFP const sc_signed operator+(const sc_signed& u, const sc_unsigned& v);
32SCFP const sc_unsigned operator+(const sc_unsigned& u, const sc_unsigned& v);
33SCFP const sc_signed operator+(const sc_int_base& u, const sc_unsigned& v);
34SCFP const sc_signed operator+(int u, const sc_unsigned& v);
35SCFP const sc_signed operator+(long u, const sc_unsigned& v);
36SCFP const sc_signed operator+(int64 u, const sc_unsigned& v);
37SCFP const sc_unsigned operator+(const sc_uint_base& u, const sc_unsigned& v);
38SCFP const sc_unsigned operator+(unsigned int u, const sc_unsigned& v);
39SCFP const sc_unsigned operator+(uint64 u, const sc_unsigned& v);
40SCFP const sc_unsigned operator+(unsigned long u, const sc_unsigned& v);
41
42SCFP const sc_signed operator+(const sc_unsigned& u, const sc_int_base& v);
43SCFP const sc_signed operator+(const sc_unsigned& u, int v);
44SCFP const sc_signed operator+(const sc_unsigned& u, long v);
45SCFP const sc_signed operator+(const sc_unsigned& u, int64 v);
46SCFP const sc_unsigned operator+(const sc_unsigned& u, const sc_uint_base& v);
47SCFP const sc_unsigned operator+(const sc_unsigned& u, unsigned int v);
48SCFP const sc_unsigned operator+(const sc_unsigned& u, uint64 v);
49SCFP const sc_unsigned operator+(const sc_unsigned& u, unsigned long v);
50
51// operator * with an sc_unsigned result:
52
53SCFP const sc_signed operator*(const sc_unsigned& u, const sc_signed& v);
54
55SCFP const sc_signed operator*(const sc_signed& u, const sc_unsigned& v);
56SCFP const sc_unsigned operator*(const sc_unsigned& u, const sc_unsigned& v);
57SCFP const sc_signed operator*(const sc_int_base& u, const sc_unsigned& v);
58SCFP const sc_signed operator*(int u, const sc_unsigned& v);
59SCFP const sc_signed operator*(long u, const sc_unsigned& v);
60SCFP const sc_signed operator*(int64 u, const sc_unsigned& v);
61SCFP const sc_unsigned operator*(const sc_uint_base& u, const sc_unsigned& v);
62SCFP const sc_unsigned operator*(unsigned int u, const sc_unsigned& v);
63SCFP const sc_unsigned operator*(uint64 u, const sc_unsigned& v);
64SCFP const sc_unsigned operator*(unsigned long u, const sc_unsigned& v);
65
66SCFP const sc_signed operator*(const sc_unsigned& u, const sc_int_base& v);
67SCFP const sc_signed operator*(const sc_unsigned& u, int v);
68SCFP const sc_signed operator*(const sc_unsigned& u, long v);
69SCFP const sc_signed operator*(const sc_unsigned& u, int64 v);
70SCFP const sc_unsigned operator*(const sc_unsigned& u, const sc_uint_base& v);
71SCFP const sc_unsigned operator*(const sc_unsigned& u, unsigned int v);
72SCFP const sc_unsigned operator*(const sc_unsigned& u, uint64 v);
73SCFP const sc_unsigned operator*(const sc_unsigned& u, unsigned long v);
74
75// operator / with an sc_unsigned result:
76
77SCFP const sc_signed operator/(const sc_unsigned& u, const sc_signed& v);
78
79SCFP const sc_signed operator/(const sc_signed& u, const sc_unsigned& v);
80SCFP const sc_unsigned operator/(const sc_unsigned& u, const sc_unsigned& v);
81SCFP const sc_signed operator/(const sc_int_base& u, const sc_unsigned& v);
82SCFP const sc_signed operator/(int u, const sc_unsigned& v);
83SCFP const sc_signed operator/(long u, const sc_unsigned& v);
84SCFP const sc_signed operator/(int64 u, const sc_unsigned& v);
85SCFP const sc_unsigned operator/(const sc_uint_base& u, const sc_unsigned& v);
86SCFP const sc_unsigned operator/(unsigned int u, const sc_unsigned& v);
87SCFP const sc_unsigned operator/(uint64 u, const sc_unsigned& v);
88SCFP const sc_unsigned operator/(unsigned long u, const sc_unsigned& v);
89
90SCFP const sc_signed operator/(const sc_unsigned& u, const sc_int_base& v);
91SCFP const sc_signed operator/(const sc_unsigned& u, int v);
92SCFP const sc_signed operator/(const sc_unsigned& u, long v);
93SCFP const sc_signed operator/(const sc_unsigned& u, int64 v);
94SCFP const sc_unsigned operator/(const sc_unsigned& u, const sc_uint_base& v);
95SCFP const sc_unsigned operator/(const sc_unsigned& u, unsigned int v);
96SCFP const sc_unsigned operator/(const sc_unsigned& u, uint64 v);
97SCFP const sc_unsigned operator/(const sc_unsigned& u, unsigned long v);
98
99// operator % with an sc_signed result:
100
101SCFP const sc_signed operator%(const sc_unsigned& u, const sc_signed& v);
102
103SCFP const sc_signed operator%(const sc_signed& u, const sc_unsigned& v);
104SCFP const sc_signed operator%(const sc_int_base& u, const sc_unsigned& v);
105SCFP const sc_signed operator%(int u, const sc_unsigned& v);
106SCFP const sc_signed operator%(long u, const sc_unsigned& v);
107SCFP const sc_signed operator%(int64 u, const sc_unsigned& v);
108SCFP const sc_signed operator%(const sc_unsigned& u, const sc_int_base& v);
109SCFP const sc_signed operator%(const sc_unsigned& u, int v);
110SCFP const sc_signed operator%(const sc_unsigned& u, long v);
111SCFP const sc_signed operator%(const sc_unsigned& u, int64 v);
112
113// operator % with an sc_unsigned result:
114
115SCFP const sc_unsigned operator%(const sc_unsigned& u, const sc_unsigned& v);
116SCFP const sc_unsigned operator%(const sc_uint_base& u, const sc_unsigned& v);
117SCFP const sc_unsigned operator%(unsigned int u, const sc_unsigned& v);
118SCFP const sc_unsigned operator%(uint64 u, const sc_unsigned& v);
119SCFP const sc_unsigned operator%(unsigned long u, const sc_unsigned& v);
120SCFP const sc_unsigned operator%(const sc_unsigned& u, const sc_uint_base& v);
121SCFP const sc_unsigned operator%(const sc_unsigned& u, unsigned int v);
122SCFP const sc_unsigned operator%(const sc_unsigned& u, uint64 v);
123SCFP const sc_unsigned operator%(const sc_unsigned& u, unsigned long v);
124
125// operator - with an sc_signed result:
126
127SCFP const sc_signed operator-(const sc_unsigned& u, const sc_signed& v);
128SCFP const sc_signed operator-(const sc_signed& u, const sc_unsigned& v);
129SCFP const sc_signed operator-(const sc_unsigned& u, const sc_unsigned& v);
130SCFP const sc_signed operator-(const sc_int_base& u, const sc_unsigned& v);
131SCFP const sc_signed operator-(int u, const sc_unsigned& v);
132SCFP const sc_signed operator-(long u, const sc_unsigned& v);
133SCFP const sc_signed operator-(int64 u, const sc_unsigned& v);
134SCFP const sc_signed operator-(const sc_uint_base& u, const sc_unsigned& v);
135SCFP const sc_signed operator-(unsigned int u, const sc_unsigned& v);
136SCFP const sc_signed operator-(uint64 u, const sc_unsigned& v);
137SCFP const sc_signed operator-(unsigned long u, const sc_unsigned& v);
138
139SCFP const sc_signed operator-(const sc_unsigned& u, const sc_int_base& v);
140SCFP const sc_signed operator-(const sc_unsigned& u, int v);
141SCFP const sc_signed operator-(const sc_unsigned& u, long v);
142SCFP const sc_signed operator-(const sc_unsigned& u, int64 v);
143SCFP const sc_signed operator-(const sc_unsigned& u, const sc_uint_base& v);
144SCFP const sc_signed operator-(const sc_unsigned& u, unsigned int v);
145SCFP const sc_signed operator-(const sc_unsigned& u, uint64 v);
146SCFP const sc_signed operator-(const sc_unsigned& u, unsigned long v);
147
148// operator & with an sc_signed result:
149
150SCFP const sc_signed operator&(const sc_unsigned& u, const sc_signed& v);
151SCFP const sc_signed operator&(const sc_signed& u, const sc_unsigned& v);
152SCFP const sc_signed operator&(const sc_int_base& u, const sc_unsigned& v);
153SCFP const sc_signed operator&(int u, const sc_unsigned& v);
154SCFP const sc_signed operator&(long u, const sc_unsigned& v);
155SCFP const sc_signed operator&(int64 u, const sc_unsigned& v);
156
157SCFP const sc_signed operator&(const sc_unsigned& u, const sc_int_base& v);
158SCFP const sc_signed operator&(const sc_unsigned& u, int v);
159SCFP const sc_signed operator&(const sc_unsigned& u, long v);
160SCFP const sc_signed operator&(const sc_unsigned& u, int64 v);
161
162// operator & with an sc_unsigned result:
163
164SCFP const sc_unsigned operator&(const sc_unsigned& u, const sc_unsigned& v);
165SCFP const sc_unsigned operator&(const sc_uint_base& u, const sc_unsigned& v);
166SCFP const sc_unsigned operator&(unsigned int u, const sc_unsigned& v);
167SCFP const sc_unsigned operator&(uint64 u, const sc_unsigned& v);
168SCFP const sc_unsigned operator&(unsigned long u, const sc_unsigned& v);
169
170SCFP const sc_unsigned operator&(const sc_unsigned& u, const sc_uint_base& v);
171SCFP const sc_unsigned operator&(const sc_unsigned& u, unsigned int v);
172SCFP const sc_unsigned operator&(const sc_unsigned& u, uint64 v);
173SCFP const sc_unsigned operator&(const sc_unsigned& u, unsigned long v);
174
175// operator | with an sc_signed result:
176
177SCFP const sc_signed operator|(const sc_unsigned& u, const sc_signed& v);
178
179SCFP const sc_signed operator|(const sc_signed& u, const sc_unsigned& v);
180SCFP const sc_signed operator|(const sc_int_base& u, const sc_unsigned& v);
181SCFP const sc_signed operator|(int u, const sc_unsigned& v);
182SCFP const sc_signed operator|(long u, const sc_unsigned& v);
183SCFP const sc_signed operator|(int64 u, const sc_unsigned& v);
184
185SCFP const sc_signed operator|(const sc_unsigned& u, const sc_int_base& v);
186SCFP const sc_signed operator|(const sc_unsigned& u, int v);
187SCFP const sc_signed operator|(const sc_unsigned& u, long v);
188SCFP const sc_signed operator|(const sc_unsigned& u, int64 v);
189
190// operator | with an sc_unsigned result:
191
192SCFP const sc_unsigned operator|(const sc_unsigned& u, const sc_unsigned& v);
193SCFP const sc_unsigned operator|(const sc_uint_base& u, const sc_unsigned& v);
194SCFP const sc_unsigned operator|(unsigned int u, const sc_unsigned& v);
195SCFP const sc_unsigned operator|(uint64 u, const sc_unsigned& v);
196SCFP const sc_unsigned operator|(unsigned long u, const sc_unsigned& v);
197
198SCFP const sc_unsigned operator|(const sc_unsigned& u, const sc_uint_base& v);
199SCFP const sc_unsigned operator|(const sc_unsigned& u, unsigned int v);
200SCFP const sc_unsigned operator|(const sc_unsigned& u, uint64 v);
201SCFP const sc_unsigned operator|(const sc_unsigned& u, unsigned long v);
202
203// operator ^ with an sc_signed result:
204
205SCFP const sc_signed operator^(const sc_unsigned& u, const sc_signed& v);
206SCFP const sc_signed operator^(const sc_signed& u, const sc_unsigned& v);
207SCFP const sc_signed operator^(const sc_int_base& u, const sc_unsigned& v);
208SCFP const sc_signed operator^(int u, const sc_unsigned& v);
209SCFP const sc_signed operator^(long u, const sc_unsigned& v);
210SCFP const sc_signed operator^(int64 u, const sc_unsigned& v);
211SCFP const sc_signed operator^(const sc_unsigned& u, const sc_int_base& v);
212SCFP const sc_signed operator^(const sc_unsigned& u, int v);
213SCFP const sc_signed operator^(const sc_unsigned& u, long v);
214SCFP const sc_signed operator^(const sc_unsigned& u, int64 v);
215
216// operator ^ with an sc_unsigned result:
217
218SCFP const sc_unsigned operator^(const sc_unsigned& u, const sc_unsigned& v);
219SCFP const sc_unsigned operator^(const sc_uint_base& u, const sc_unsigned& v);
220SCFP const sc_unsigned operator^(unsigned int u, const sc_unsigned& v);
221SCFP const sc_unsigned operator^(uint64 u, const sc_unsigned& v);
222SCFP const sc_unsigned operator^(unsigned long u, const sc_unsigned& v);
223SCFP const sc_unsigned operator^(const sc_unsigned& u, const sc_uint_base& v);
224SCFP const sc_unsigned operator^(const sc_unsigned& u, unsigned int v);
225SCFP const sc_unsigned operator^(const sc_unsigned& u, uint64 v);
226SCFP const sc_unsigned operator^(const sc_unsigned& u, unsigned long v);
227
228// operator == with an sc_unsigned argument:
229
230SCFP bool operator==(const sc_unsigned& u, const sc_signed& v);
231
232SCFP bool operator==(const sc_signed& u, const sc_unsigned& v);
233SCFP bool operator==(const sc_unsigned& u, const sc_unsigned& v);
234SCFP bool operator==(const sc_int_base& u, const sc_unsigned& v);
235SCFP bool operator==(int u, const sc_unsigned& v);
236SCFP bool operator==(long u, const sc_unsigned& v);
237SCFP bool operator==(int64 u, const sc_unsigned& v);
238SCFP bool operator==(const sc_uint_base& u, const sc_unsigned& v);
239SCFP bool operator==(unsigned int u, const sc_unsigned& v);
240SCFP bool operator==(uint64 u, const sc_unsigned& v);
241SCFP bool operator==(unsigned long u, const sc_unsigned& v);
242
243SCFP bool operator==(const sc_unsigned& u, const sc_int_base& v);
244SCFP bool operator==(const sc_unsigned& u, int v);
245SCFP bool operator==(const sc_unsigned& u, long v);
246SCFP bool operator==(const sc_unsigned& u, int64 v);
247SCFP bool operator==(const sc_unsigned& u, const sc_uint_base& v);
248SCFP bool operator==(const sc_unsigned& u, unsigned int v);
249SCFP bool operator==(const sc_unsigned& u, uint64 v);
250SCFP bool operator==(const sc_unsigned& u, unsigned long v);
251
252// operator != with an sc_unsigned argument:
253
254SCFP bool operator!=(const sc_unsigned& u, const sc_signed& v);
255
256SCFP bool operator!=(const sc_signed& u, const sc_unsigned& v);
257SCFP bool operator!=(const sc_unsigned& u, const sc_unsigned& v);
258SCFP bool operator!=(const sc_int_base& u, const sc_unsigned& v);
259SCFP bool operator!=(int u, const sc_unsigned& v);
260SCFP bool operator!=(long u, const sc_unsigned& v);
261SCFP bool operator!=(int64 u, const sc_unsigned& v);
262SCFP bool operator!=(const sc_uint_base& u, const sc_unsigned& v);
263SCFP bool operator!=(unsigned int u, const sc_unsigned& v);
264SCFP bool operator!=(uint64 u, const sc_unsigned& v);
265SCFP bool operator!=(unsigned long u, const sc_unsigned& v);
266
267SCFP bool operator!=(const sc_unsigned& u, const sc_int_base& v);
268SCFP bool operator!=(const sc_unsigned& u, int v);
269SCFP bool operator!=(const sc_unsigned& u, long v);
270SCFP bool operator!=(const sc_unsigned& u, int64 v);
271SCFP bool operator!=(const sc_unsigned& u, const sc_uint_base& v);
272SCFP bool operator!=(const sc_unsigned& u, unsigned int v);
273SCFP bool operator!=(const sc_unsigned& u, uint64 v);
274SCFP bool operator!=(const sc_unsigned& u, unsigned long v);
275
276// operator < with an sc_unsigned argument:
277
278SCFP bool operator<(const sc_unsigned& u, const sc_signed& v);
279
280SCFP bool operator<(const sc_signed& u, const sc_unsigned& v);
281SCFP bool operator<(const sc_unsigned& u, const sc_unsigned& v);
282SCFP bool operator<(const sc_int_base& u, const sc_unsigned& v);
283SCFP bool operator<(int u, const sc_unsigned& v);
284SCFP bool operator<(long u, const sc_unsigned& v);
285SCFP bool operator<(int64 u, const sc_unsigned& v);
286SCFP bool operator<(const sc_uint_base& u, const sc_unsigned& v);
287SCFP bool operator<(unsigned int u, const sc_unsigned& v);
288SCFP bool operator<(uint64 u, const sc_unsigned& v);
289SCFP bool operator<(unsigned long u, const sc_unsigned& v);
290
291SCFP bool operator<(const sc_unsigned& u, const sc_int_base& v);
292SCFP bool operator<(const sc_unsigned& u, int v);
293SCFP bool operator<(const sc_unsigned& u, long v);
294SCFP bool operator<(const sc_unsigned& u, int64 v);
295SCFP bool operator<(const sc_unsigned& u, const sc_uint_base& v);
296SCFP bool operator<(const sc_unsigned& u, unsigned int v);
297SCFP bool operator<(const sc_unsigned& u, uint64 v);
298SCFP bool operator<(const sc_unsigned& u, unsigned long v);
299
300// operator <= with an sc_unsigned argument:
301
302SCFP bool operator<=(const sc_unsigned& u, const sc_signed& v);
303
304SCFP bool operator<=(const sc_signed& u, const sc_unsigned& v);
305SCFP bool operator<=(const sc_unsigned& u, const sc_unsigned& v);
306SCFP bool operator<=(const sc_int_base& u, const sc_unsigned& v);
307SCFP bool operator<=(int u, const sc_unsigned& v);
308SCFP bool operator<=(long u, const sc_unsigned& v);
309SCFP bool operator<=(int64 u, const sc_unsigned& v);
310SCFP bool operator<=(const sc_uint_base& u, const sc_unsigned& v);
311SCFP bool operator<=(unsigned int u, const sc_unsigned& v);
312SCFP bool operator<=(uint64 u, const sc_unsigned& v);
313SCFP bool operator<=(unsigned long u, const sc_unsigned& v);
314
315SCFP bool operator<=(const sc_unsigned& u, const sc_int_base& v);
316SCFP bool operator<=(const sc_unsigned& u, int v);
317SCFP bool operator<=(const sc_unsigned& u, long v);
318SCFP bool operator<=(const sc_unsigned& u, int64 v);
319SCFP bool operator<=(const sc_unsigned& u, const sc_uint_base& v);
320SCFP bool operator<=(const sc_unsigned& u, unsigned int v);
321SCFP bool operator<=(const sc_unsigned& u, uint64 v);
322SCFP bool operator<=(const sc_unsigned& u, unsigned long v);
323
324// operator > with an sc_unsigned argument:
325
326SCFP bool operator>(const sc_unsigned& u, const sc_signed& v);
327
328SCFP bool operator>(const sc_signed& u, const sc_unsigned& v);
329SCFP bool operator>(const sc_unsigned& u, const sc_unsigned& v);
330SCFP bool operator>(const sc_int_base& u, const sc_unsigned& v);
331SCFP bool operator>(int u, const sc_unsigned& v);
332SCFP bool operator>(long u, const sc_unsigned& v);
333SCFP bool operator>(int64 u, const sc_unsigned& v);
334SCFP bool operator>(const sc_uint_base& u, const sc_unsigned& v);
335SCFP bool operator>(unsigned int u, const sc_unsigned& v);
336SCFP bool operator>(uint64 u, const sc_unsigned& v);
337SCFP bool operator>(unsigned long u, const sc_unsigned& v);
338
339SCFP bool operator>(const sc_unsigned& u, const sc_int_base& v);
340SCFP bool operator>(const sc_unsigned& u, int v);
341SCFP bool operator>(const sc_unsigned& u, long v);
342SCFP bool operator>(const sc_unsigned& u, int64 v);
343SCFP bool operator>(const sc_unsigned& u, const sc_uint_base& v);
344SCFP bool operator>(const sc_unsigned& u, unsigned int v);
345SCFP bool operator>(const sc_unsigned& u, uint64 v);
346SCFP bool operator>(const sc_unsigned& u, unsigned long v);
347
348// operator >= with an sc_unsigned argument:
349
350SCFP bool operator>=(const sc_unsigned& u, const sc_signed& v);
351
352SCFP bool operator>=(const sc_signed& u, const sc_unsigned& v);
353SCFP bool operator>=(const sc_unsigned& u, const sc_unsigned& v);
354SCFP bool operator>=(const sc_int_base& u, const sc_unsigned& v);
355SCFP bool operator>=(int u, const sc_unsigned& v);
356SCFP bool operator>=(long u, const sc_unsigned& v);
357SCFP bool operator>=(int64 u, const sc_unsigned& v);
358SCFP bool operator>=(const sc_uint_base& u, const sc_unsigned& v);
359SCFP bool operator>=(unsigned int u, const sc_unsigned& v);
360SCFP bool operator>=(uint64 u, const sc_unsigned& v);
361SCFP bool operator>=(unsigned long u, const sc_unsigned& v);
362
363SCFP bool operator>=(const sc_unsigned& u, const sc_int_base& v);
364SCFP bool operator>=(const sc_unsigned& u, int v);
365SCFP bool operator>=(const sc_unsigned& u, long v);
366SCFP bool operator>=(const sc_unsigned& u, int64 v);
367SCFP bool operator>=(const sc_unsigned& u, const sc_uint_base& v);
368SCFP bool operator>=(const sc_unsigned& u, unsigned int v);
369SCFP bool operator>=(const sc_unsigned& u, uint64 v);
370SCFP bool operator>=(const sc_unsigned& u, unsigned long v);
#define SCFP
Definition: sc_signed.h:928
SCFP const sc_signed operator/(const sc_unsigned &u, const sc_signed &v)
SCFP const sc_signed operator+(const sc_unsigned &u, const sc_signed &v)
SCFP const sc_signed operator*(const sc_unsigned &u, const sc_signed &v)
SCFP bool operator>(const sc_unsigned &u, const sc_signed &v)
SCFP const sc_signed operator&(const sc_unsigned &u, const sc_signed &v)
SCFP bool operator!=(const sc_unsigned &u, const sc_signed &v)
SCFP bool operator<(const sc_unsigned &u, const sc_signed &v)
SCFP const sc_signed operator|(const sc_unsigned &u, const sc_signed &v)
SCFP bool operator>=(const sc_unsigned &u, const sc_signed &v)
SCFP const sc_signed operator-(const sc_unsigned &u, const sc_signed &v)
SCFP bool operator==(const sc_unsigned &u, const sc_signed &v)
SCFP const sc_signed operator%(const sc_unsigned &u, const sc_signed &v)
SCFP bool operator<=(const sc_unsigned &u, const sc_signed &v)
SCFP const sc_signed operator^(const sc_unsigned &u, const sc_signed &v)
unsigned long long uint64
Definition: sc_nbdefs.h:216
long long int64
Definition: sc_nbdefs.h:215