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