Xv6 with picoc & Linkage editor  v1.0
The project delineate mutual cohesion between c library, linkage editor ( linker), interpreter and operating system by porting the same on xv6 kernel
 All Data Structures
math.h
00001 #ifndef _MATH_H
00002 #define _MATH_H
00003 
00004 #include <sys/cdefs.h>
00005 
00006 __BEGIN_DECLS
00007 
00008 #define M_E             2.7182818284590452354   /* e */
00009 #define M_LOG2E         1.4426950408889634074   /* log_2 e */
00010 #define M_LOG10E        0.43429448190325182765  /* log_10 e */
00011 #define M_LN2           0.69314718055994530942  /* log_e 2 */
00012 #define M_LN10          2.30258509299404568402  /* log_e 10 */
00013 #define M_PI            3.14159265358979323846  /* pi */
00014 #define M_PI_2          1.57079632679489661923  /* pi/2 */
00015 #define M_PI_4          0.78539816339744830962  /* pi/4 */
00016 #define M_1_PI          0.31830988618379067154  /* 1/pi */
00017 #define M_2_PI          0.63661977236758134308  /* 2/pi */
00018 #define M_2_SQRTPI      1.12837916709551257390  /* 2/sqrt(pi) */
00019 #define M_SQRT2         1.41421356237309504880  /* sqrt(2) */
00020 #define M_SQRT1_2       0.70710678118654752440  /* 1/sqrt(2) */
00021 
00022 #define M_El            2.7182818284590452353602874713526625L  /* e */
00023 #define M_LOG2El        1.4426950408889634073599246810018922L  /* log_2 e */
00024 #define M_LOG10El       0.4342944819032518276511289189166051L  /* log_10 e */
00025 #define M_LN2l          0.6931471805599453094172321214581766L  /* log_e 2 */
00026 #define M_LN10l         2.3025850929940456840179914546843642L  /* log_e 10 */
00027 #define M_PIl           3.1415926535897932384626433832795029L  /* pi */
00028 #define M_PI_2l         1.5707963267948966192313216916397514L  /* pi/2 */
00029 #define M_PI_4l         0.7853981633974483096156608458198757L  /* pi/4 */
00030 #define M_1_PIl         0.3183098861837906715377675267450287L  /* 1/pi */
00031 #define M_2_PIl         0.6366197723675813430755350534900574L  /* 2/pi */
00032 #define M_2_SQRTPIl     1.1283791670955125738961589031215452L  /* 2/sqrt(pi) */
00033 #define M_SQRT2l        1.4142135623730950488016887242096981L  /* sqrt(2) */
00034 #define M_SQRT1_2l      0.7071067811865475244008443621048490L  /* 1/sqrt(2) */
00035 
00036 double sin(double d) __THROW __attribute__((__const__));
00037 double cos(double d) __THROW __attribute__((__const__));
00038 double tan(double d) __THROW __attribute__((__const__));
00039 
00040 double sinh(double d) __THROW __attribute__((__const__));
00041 double cosh(double d) __THROW __attribute__((__const__));
00042 double tanh(double d) __THROW __attribute__((__const__));
00043 
00044 double asin(double d) __THROW __attribute__((__const__));
00045 double acos(double d) __THROW __attribute__((__const__));
00046 double atan(double d) __THROW __attribute__((__const__));
00047 
00048 double asinh(double d) __THROW __attribute__((__const__));
00049 double acosh(double d) __THROW __attribute__((__const__));
00050 double atanh(double d) __THROW __attribute__((__const__));
00051 
00052 double exp(double d) __THROW __attribute__((__const__));
00053 double exp10(double d) __THROW __attribute__((__const__));
00054 double log(double d) __THROW __attribute__((__const__));
00055 double log10(double d) __THROW __attribute__((__const__));
00056 
00057 double exp2(double d) __THROW __attribute__((__const__));
00058 double log2(double d) __THROW __attribute__((__const__));
00059 
00060 double pow(double x, double y) __THROW __attribute__((__const__));
00061 
00062 double sqrt(double x) __THROW __attribute__((__const__));
00063 double fabs(double x) __THROW __attribute__((__const__));
00064 double fmod(double x, double y) __THROW __attribute__((__const__));
00065 
00066 double floor(double x) __attribute__((__const__));
00067 double ceil(double x) __attribute__((__const__));
00068 
00069 double expm1(double x) __THROW __attribute__((__const__));
00070 double hypot(double x, double y) __THROW __attribute__((__const__));
00071 double atan2(double x, double y) __THROW __attribute__((__const__));
00072 
00073 double copysign(double value, double sign) __attribute__((__const__));
00074 
00075 #  define HUGE_VAL \
00076   (__extension__ \
00077    ((union { unsigned long long __ll; double __d; }) \
00078     { __ll: 0x7ff0000000000000ULL }).__d)
00079 #  define HUGE_VALF \
00080   (__extension__ \
00081    ((union { unsigned int __i; float __f; }) \
00082     { __i: 0x7f800000UL }).__f)
00083 
00084 #ifdef _GNU_SOURCE
00085 void sincos(double x, double* sinx, double* cosx);
00086 double ipow (double mant, int expo);
00087 #endif
00088 
00089 int isnan(double d) __attribute__((__const__));
00090 int isinf(double d) __attribute__((__const__));
00091 int finite(double d) __attribute__((__const__));
00092 
00093 double j0(double x);
00094 double j1(double x);
00095 double jn(int n, double x);
00096 double y0(double x);
00097 double y1(double x);
00098 double yn(int n, double x);
00099 double erf(double x);
00100 double erfc(double x);
00101 double lgamma(double x);
00102 
00103 double rint(double x);
00104 
00105 double modf(double x, double * iptr);
00106 
00107 double frexp(double x, int *exp);
00108 double ldexp(double x, int exp);
00109 
00110 __END_DECLS
00111 
00112 #endif
 All Data Structures