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