1/* 2 * Copyright (C) 2004-2010 NXP Software 3 * Copyright (C) 2010 The Android Open Source Project 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18#ifndef __SCALARARITHMETIC_H__ 19#define __SCALARARITHMETIC_H__ 20 21#ifdef __cplusplus 22extern "C" { 23#endif /* __cplusplus */ 24 25 26/*######################################################################################*/ 27/* Include files */ 28/*######################################################################################*/ 29 30#include "LVM_Types.h" 31 32/*######################################################################################*/ 33/* Extern function prototypes */ 34/*######################################################################################*/ 35 36/* Absolute value including the corner case for the extreme negative value */ 37 38#ifdef BUILD_FLOAT 39LVM_FLOAT Abs_Float(LVM_FLOAT input); 40#else 41LVM_INT32 Abs_32(LVM_INT32 input); 42#endif 43 44/**************************************************************************************** 45 * Name : dB_to_Lin32() 46 * Input : Signed 16-bit integer 47 * MSB (16) = sign bit 48 * (15->05) = integer part 49 * (04->01) = decimal part 50 * Output : Signed 32-bit integer 51 * MSB (32) = sign bit 52 * (31->16) = integer part 53 * (15->01) = decimal part 54 * Returns : Lin value format 1.16.15 55 ****************************************************************************************/ 56#ifdef BUILD_FLOAT 57LVM_FLOAT dB_to_LinFloat(LVM_INT16 db_fix); 58#else 59LVM_INT32 dB_to_Lin32(LVM_INT16 db_fix); 60#endif 61 62#ifdef __cplusplus 63} 64#endif /* __cplusplus */ 65 66#endif /* __SCALARARITHMETIC_H__ */ 67 68 69