Annotation of embedaddon/php/ext/standard/php_math.h, revision 1.1.1.3

1.1       misho       1: /* 
                      2:    +----------------------------------------------------------------------+
                      3:    | PHP Version 5                                                        |
                      4:    +----------------------------------------------------------------------+
1.1.1.3 ! misho       5:    | Copyright (c) 1997-2013 The PHP Group                                |
1.1       misho       6:    +----------------------------------------------------------------------+
                      7:    | This source file is subject to version 3.01 of the PHP license,      |
                      8:    | that is bundled with this package in the file LICENSE, and is        |
                      9:    | available through the world-wide-web at the following url:           |
                     10:    | http://www.php.net/license/3_01.txt                                  |
                     11:    | If you did not receive a copy of the PHP license and are unable to   |
                     12:    | obtain it through the world-wide-web, please send a note to          |
                     13:    | license@php.net so we can mail you a copy immediately.               |
                     14:    +----------------------------------------------------------------------+
                     15:    | Authors: Jim Winstead <jimw@php.net>                                 |
                     16:    |          Stig Sæther Bakken <ssb@php.net>                            |
                     17:    +----------------------------------------------------------------------+
                     18: */
                     19: 
1.1.1.2   misho      20: /* $Id$ */
1.1       misho      21: 
                     22: #ifndef PHP_MATH_H
                     23: #define PHP_MATH_H
                     24: 
1.1.1.2   misho      25: PHPAPI char *_php_math_number_format(double, int, char, char);
                     26: PHPAPI char *_php_math_number_format_ex(double, int, char *, size_t, char *, size_t);
1.1       misho      27: PHPAPI char * _php_math_longtobase(zval *arg, int base);
                     28: PHPAPI long _php_math_basetolong(zval *arg, int base);
                     29: PHPAPI int _php_math_basetozval(zval *arg, int base, zval *ret);
                     30: PHPAPI char * _php_math_zvaltobase(zval *arg, int base TSRMLS_DC);
                     31: 
                     32: PHP_FUNCTION(sin);
                     33: PHP_FUNCTION(cos);
                     34: PHP_FUNCTION(tan);
                     35: PHP_FUNCTION(asin);
                     36: PHP_FUNCTION(acos);
                     37: PHP_FUNCTION(atan);
                     38: PHP_FUNCTION(atan2);
                     39: PHP_FUNCTION(pi);
                     40: PHP_FUNCTION(exp);
                     41: PHP_FUNCTION(log);
                     42: PHP_FUNCTION(log10);
                     43: PHP_FUNCTION(is_finite);
                     44: PHP_FUNCTION(is_infinite);
                     45: PHP_FUNCTION(is_nan);
                     46: PHP_FUNCTION(pow);
                     47: PHP_FUNCTION(sqrt);
                     48: PHP_FUNCTION(srand);
                     49: PHP_FUNCTION(rand);
                     50: PHP_FUNCTION(getrandmax);
                     51: PHP_FUNCTION(mt_srand);
                     52: PHP_FUNCTION(mt_rand);
                     53: PHP_FUNCTION(mt_getrandmax);
                     54: PHP_FUNCTION(abs);
                     55: PHP_FUNCTION(ceil);
                     56: PHP_FUNCTION(floor);
                     57: PHP_FUNCTION(round);
                     58: PHP_FUNCTION(decbin);
                     59: PHP_FUNCTION(dechex);
                     60: PHP_FUNCTION(decoct);
                     61: PHP_FUNCTION(bindec);
                     62: PHP_FUNCTION(hexdec);
                     63: PHP_FUNCTION(octdec);
                     64: PHP_FUNCTION(base_convert);
                     65: PHP_FUNCTION(number_format);
                     66: PHP_FUNCTION(fmod);
                     67: PHP_FUNCTION(deg2rad);
                     68: PHP_FUNCTION(rad2deg);
                     69: 
                     70:    /*
                     71:    WARNING: these functions are expermental: they could change their names or 
                     72:    disappear in the next version of PHP!
                     73:    */
                     74: PHP_FUNCTION(hypot);
                     75: PHP_FUNCTION(expm1);
                     76: PHP_FUNCTION(log1p);
                     77: 
                     78: PHP_FUNCTION(sinh);
                     79: PHP_FUNCTION(cosh);
                     80: PHP_FUNCTION(tanh);
                     81: 
                     82: PHP_FUNCTION(asinh);
                     83: PHP_FUNCTION(acosh);
                     84: PHP_FUNCTION(atanh);
                     85: 
                     86: #include <math.h>
                     87: 
                     88: #ifndef M_E
                     89: #define M_E            2.7182818284590452354   /* e */
                     90: #endif
                     91: 
                     92: #ifndef M_LOG2E
                     93: #define M_LOG2E        1.4426950408889634074   /* log_2 e */
                     94: #endif
                     95: 
                     96: #ifndef M_LOG10E
                     97: #define M_LOG10E       0.43429448190325182765  /* log_10 e */
                     98: #endif
                     99: 
                    100: #ifndef M_LN2
                    101: #define M_LN2          0.69314718055994530942  /* log_e 2 */
                    102: #endif
                    103: 
                    104: #ifndef M_LN10
                    105: #define M_LN10         2.30258509299404568402  /* log_e 10 */
                    106: #endif
                    107: 
                    108: #ifndef M_PI
                    109: #define M_PI           3.14159265358979323846  /* pi */
                    110: #endif
                    111: 
                    112: #ifndef M_PI_2
                    113: #define M_PI_2         1.57079632679489661923  /* pi/2 */
                    114: #endif
                    115: 
                    116: #ifndef M_PI_4
                    117: #define M_PI_4         0.78539816339744830962  /* pi/4 */
                    118: #endif
                    119: 
                    120: #ifndef M_1_PI
                    121: #define M_1_PI         0.31830988618379067154  /* 1/pi */
                    122: #endif
                    123: 
                    124: #ifndef M_2_PI
                    125: #define M_2_PI         0.63661977236758134308  /* 2/pi */
                    126: #endif
                    127: 
                    128: #ifndef M_SQRTPI
                    129: #define M_SQRTPI       1.77245385090551602729  /* sqrt(pi) */
                    130: #endif
                    131: 
                    132: #ifndef M_2_SQRTPI
                    133: #define M_2_SQRTPI     1.12837916709551257390  /* 2/sqrt(pi) */
                    134: #endif
                    135: 
                    136: #ifndef M_LNPI
                    137: #define M_LNPI         1.14472988584940017414  /* ln(pi) */
                    138: #endif
                    139: 
                    140: #ifndef M_EULER
                    141: #define M_EULER        0.57721566490153286061 /* Euler constant */
                    142: #endif
                    143: 
                    144: #ifndef M_SQRT2
                    145: #define M_SQRT2        1.41421356237309504880  /* sqrt(2) */
                    146: #endif
                    147: 
                    148: #ifndef M_SQRT1_2
                    149: #define M_SQRT1_2      0.70710678118654752440  /* 1/sqrt(2) */
                    150: #endif
                    151: 
                    152: #ifndef M_SQRT3
                    153: #define M_SQRT3               1.73205080756887729352  /* sqrt(3) */
                    154: #endif
                    155: 
                    156: /* Define rounding modes (all are round-to-nearest) */
                    157: #ifndef PHP_ROUND_HALF_UP
                    158: #define PHP_ROUND_HALF_UP        0x01    /* Arithmetic rounding, up == away from zero */
                    159: #endif
                    160: 
                    161: #ifndef PHP_ROUND_HALF_DOWN
                    162: #define PHP_ROUND_HALF_DOWN      0x02    /* Down == towards zero */
                    163: #endif
                    164: 
                    165: #ifndef PHP_ROUND_HALF_EVEN
                    166: #define PHP_ROUND_HALF_EVEN      0x03    /* Banker's rounding */
                    167: #endif
                    168: 
                    169: #ifndef PHP_ROUND_HALF_ODD
                    170: #define PHP_ROUND_HALF_ODD       0x04
                    171: #endif
                    172: 
                    173: #endif /* PHP_MATH_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>