sl@0: // Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef _BASICOP_H sl@0: #define _BASICOP_H sl@0: sl@0: #include "types.h" sl@0: sl@0: int2 add( int2 var1, int2 var2 ); sl@0: int2 sub( int2 var1, int2 var2 ); sl@0: int2 mult( int2 var1, int2 var2 ); sl@0: int2 abs_s( int2 var1 ); sl@0: sl@0: #ifdef L_MULTF sl@0: /* sl@0: ** define L_MULTF controls if L_mult is implemented sl@0: ** as a macro or as a function sl@0: ** See functional description in file basicop.c sl@0: */ sl@0: int4 L_mult( int2 var1, int2 var2 ); sl@0: #else sl@0: #define L_mult( var1, var2 ) \ sl@0: ( ((int4)(var1) * (int2)(var2)) << 1 ) sl@0: #endif sl@0: sl@0: int2 shl( int2 var1, int2 var2 ); sl@0: int2 shr( int2 var1, int2 var2 ); sl@0: int2 negate( int2 var1 ); sl@0: int2 extract_h( int4 L_var1 ); sl@0: int2 extract_l( int4 L_var2 ); sl@0: int4 L_mac( int4 L_var3, int2 var1, int2 var2 ); sl@0: sl@0: int4 L_add( int4 L_var1, int4 L_var2 ); sl@0: int4 L_sub( int4 L_var1, int4 L_var2 ); sl@0: int2 mult_r( int2 var1, int2 var2 ); sl@0: int4 L_shl( int4 L_var1, int2 var2 ); sl@0: int4 L_shr( int4 L_var1, int2 var2 ); sl@0: sl@0: int4 L_deposit_h( int2 var1 ); sl@0: int4 L_deposit_l( int2 var1 ); sl@0: sl@0: int2 norm_s( int2 var1 ); sl@0: sl@0: int2 div_s( int2 var1, int2 var2 ); sl@0: sl@0: int2 norm_l( int4 L_var1 ); sl@0: sl@0: sl@0: #endif