xref: /btstack/3rd-party/lc3-google/wasm/math.h (revision 6897da5c53aac5b1f90f41b5b15d0bd43d61dfff)
1*6897da5cSDirk Helbig /******************************************************************************
2*6897da5cSDirk Helbig  *
3*6897da5cSDirk Helbig  *  Copyright 2024 Google LLC
4*6897da5cSDirk Helbig  *
5*6897da5cSDirk Helbig  *  Licensed under the Apache License, Version 2.0 (the "License");
6*6897da5cSDirk Helbig  *  you may not use this file except in compliance with the License.
7*6897da5cSDirk Helbig  *  You may obtain a copy of the License at:
8*6897da5cSDirk Helbig  *
9*6897da5cSDirk Helbig  *  http://www.apache.org/licenses/LICENSE-2.0
10*6897da5cSDirk Helbig  *
11*6897da5cSDirk Helbig  *  Unless required by applicable law or agreed to in writing, software
12*6897da5cSDirk Helbig  *  distributed under the License is distributed on an "AS IS" BASIS,
13*6897da5cSDirk Helbig  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*6897da5cSDirk Helbig  *  See the License for the specific language governing permissions and
15*6897da5cSDirk Helbig  *  limitations under the License.
16*6897da5cSDirk Helbig  *
17*6897da5cSDirk Helbig  ******************************************************************************/
18*6897da5cSDirk Helbig 
19*6897da5cSDirk Helbig #ifndef __LC3_MATH_H
20*6897da5cSDirk Helbig #define __LC3_MATH_H
21*6897da5cSDirk Helbig 
22*6897da5cSDirk Helbig #define INFINITY __builtin_inff()
23*6897da5cSDirk Helbig 
24*6897da5cSDirk Helbig #define floorf  __builtin_floorf
25*6897da5cSDirk Helbig #define truncf  __builtin_truncf
26*6897da5cSDirk Helbig 
roundf(float x)27*6897da5cSDirk Helbig static inline float roundf(float x)
28*6897da5cSDirk Helbig { return x >= 0 ? truncf(x + 0.5f) : truncf(x - 0.5f); }
29*6897da5cSDirk Helbig 
30*6897da5cSDirk Helbig #define fabsf   __builtin_fabsf
31*6897da5cSDirk Helbig #define fmaxf   __builtin_fmaxf
32*6897da5cSDirk Helbig #define fminf   __builtin_fminf
33*6897da5cSDirk Helbig 
34*6897da5cSDirk Helbig #define log10f  __builtin_log10f
35*6897da5cSDirk Helbig #define sqrtf   __builtin_sqrtf
36*6897da5cSDirk Helbig 
37*6897da5cSDirk Helbig #endif /* __LC3_MATH_H */
38