1
/* Copyright (C) 2006 Garrett A. Kajmowicz
3
This file is part of the uClibc++ Library.
5
This library is free software; you can redistribute it and/or
6
modify it under the terms of the GNU Lesser General Public
7
License as published by the Free Software Foundation; either
8
version 2.1 of the License, or (at your option) any later version.
10
This library is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
Lesser General Public License for more details.
15
You should have received a copy of the GNU Lesser General Public
16
License along with this library; if not, write to the Free Software
17
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22
#ifndef __STD_HEADER_CMATH
23
#define __STD_HEADER_CMATH 1
26
#if ! defined(__AVR__)
50
inline float abs (float x){
53
inline float acos (float x){
56
inline float asin (float x){
59
inline float atan (float x){
62
inline float atan2(float y, float x){
65
inline float ceil (float x){
68
inline float cos (float x){
71
inline float cosh (float x){
74
inline float exp (float x){
77
inline float fabs (float x){
80
inline float floor(float x){
83
inline float fmod (float x, float y){
86
inline float frexp(float x, int* exp){
87
return frexpf(x, exp);
89
inline float ldexp(float x, int exp){
90
return ldexpf(x, exp);
92
inline float log (float x){
95
inline float log10(float x){
98
inline float modf (float x, float* inptr){
99
return modff(x, inptr);
101
inline float pow (float x, float y){
104
inline float pow (float x, int y){
105
return pow((double)x, (double)y);
107
inline float sin (float x){
110
inline float sinh (float x){
113
inline float sqrt (float x){
116
inline float tan (float x){
119
inline float tanh (float x){
122
inline double abs(double x){
125
inline double pow(double x, int y){
126
return pow((double)x, (double)y);
129
#ifdef __UCLIBCXX_HAS_LONG_DOUBLE__
130
inline long double abs (long double x){
133
inline long double acos (long double x){
136
inline long double asin (long double x){
139
inline long double atan (long double x){
142
inline long double atan2(long double y, long double x){
145
inline long double ceil (long double x){
148
inline long double cos (long double x){
151
inline long double cosh (long double x){
154
inline long double exp (long double x){
157
inline long double fabs (long double x){
160
inline long double floor(long double x){
163
inline long double frexp(long double x, int* exp){
164
return frexpl(x, exp);
166
inline long double fmod (long double x, long double y){
169
inline long double ldexp(long double x, int y){
172
inline long double log (long double x){
175
inline long double log10(long double x){
178
inline long double modf (long double x, long double* iptr){
179
return modfl(x, iptr);
181
inline long double pow (long double x, long double y){
184
inline long double pow (long double x, int y){
185
return powl(x, (long double)y );
187
inline long double sin (long double x){
190
inline long double sinh (long double x){
193
inline long double sqrt (long double x){
196
inline long double tan (long double x){
199
inline long double tanh (long double x){
202
#endif // __UCLIBCXX_HAS_LONG_DOUBLE__
203
#endif // ! defined(__AVR__)
206
#endif //__STD_HEADER_CMATH