|
1 // Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // |
|
15 |
|
16 #ifndef _BASICOP_H |
|
17 #define _BASICOP_H |
|
18 |
|
19 #include "types.h" |
|
20 |
|
21 /* Upper and lower limits for used datatypes */ |
|
22 |
|
23 #define MAXINT2 KMaxTInt16 |
|
24 #define MININT2 KMinTInt16 |
|
25 #define MAXINT4 KMaxTInt32 |
|
26 #define MININT4 KMinTInt32 |
|
27 |
|
28 |
|
29 int2 add( int2 var1, int2 var2 ); |
|
30 int2 sub( int2 var1, int2 var2 ); |
|
31 int2 mult( int2 var1, int2 var2 ); |
|
32 int2 abs_s( int2 var1 ); |
|
33 |
|
34 #ifdef L_MULTF |
|
35 /* |
|
36 ** define L_MULTF controls if L_mult is implemented |
|
37 ** as a macro or as a function |
|
38 ** See functional description in file basicop.c |
|
39 */ |
|
40 int4 L_mult( int2 var1, int2 var2 ); |
|
41 #else |
|
42 #define L_mult( var1, var2 ) \ |
|
43 ( ((int4)(var1) * (int2)(var2)) << 1 ) |
|
44 #endif |
|
45 |
|
46 int2 shl( int2 var1, int2 var2 ); |
|
47 int2 shr( int2 var1, int2 var2 ); |
|
48 int2 negate( int2 var1 ); |
|
49 int2 extract_h( int4 L_var1 ); |
|
50 int2 extract_l( int4 L_var2 ); |
|
51 int4 L_mac( int4 L_var3, int2 var1, int2 var2 ); |
|
52 |
|
53 int4 L_add( int4 L_var1, int4 L_var2 ); |
|
54 int4 L_sub( int4 L_var1, int4 L_var2 ); |
|
55 int2 mult_r( int2 var1, int2 var2 ); |
|
56 int4 L_shl( int4 L_var1, int2 var2 ); |
|
57 int4 L_shr( int4 L_var1, int2 var2 ); |
|
58 |
|
59 int4 L_deposit_h( int2 var1 ); |
|
60 int4 L_deposit_l( int2 var1 ); |
|
61 |
|
62 int2 norm_s( int2 var1 ); |
|
63 |
|
64 int2 div_s( int2 var1, int2 var2 ); |
|
65 |
|
66 int2 norm_l( int4 L_var1 ); |
|
67 |
|
68 |
|
69 #endif |