• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
22 extern "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
39 LVM_FLOAT   Abs_Float(LVM_FLOAT     input);
40 #else
41 LVM_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
57 LVM_FLOAT dB_to_LinFloat(LVM_INT16    db_fix);
58 #else
59 LVM_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