Home | History | Annotate | Download | only in 2.0.11
      1 /* -----------------------------------------------------------------------------
      2  * math.i
      3  *
      4  * SWIG library file for floating point operations.
      5  * ----------------------------------------------------------------------------- */
      6 
      7 %module math
      8 %{
      9 #include <math.h>
     10 %}
     11 
     12 extern double	cos(double x);
     13 /* Cosine of x */
     14 
     15 extern double	sin(double x);
     16 /* Sine of x */
     17 
     18 extern double	tan(double x);
     19 /* Tangent of x */
     20 
     21 extern double	acos(double x);
     22 /* Inverse cosine in range [-PI/2,PI/2], x in [-1,1]. */
     23 
     24 extern double	asin(double x);
     25 /* Inverse sine in range [0,PI], x in [-1,1]. */
     26 
     27 extern double	atan(double x);
     28 /* Inverse tangent in range [-PI/2,PI/2]. */
     29 
     30 extern double	atan2(double y, double x);
     31 /* Inverse tangent of y/x in range [-PI,PI]. */
     32 
     33 extern double	cosh(double x);
     34 /* Hyperbolic cosine of x */
     35 
     36 extern double	sinh(double x);
     37 /* Hyperbolic sine of x */
     38 
     39 extern double	tanh(double x);
     40 /* Hyperbolic tangent of x */
     41 
     42 extern double	exp(double x);
     43 /* Natural exponential function e^x */
     44 
     45 extern double	log(double x);
     46 /* Natural logarithm ln(x), x > 0 */
     47 
     48 extern double	log10(double x);
     49 /* Base 10 logarithm, x > 0 */
     50 
     51 extern double	pow(double x, double y);
     52 /* Power function x^y. */
     53 
     54 extern double	sqrt(double x);
     55 /* Square root. x >= 0 */
     56 
     57 extern double	fabs(double x);
     58 /* Absolute value of x */
     59 
     60 extern double	ceil(double x);
     61 /* Smallest integer not less than x, as a double */
     62 
     63 extern double	floor(double x);
     64 /* Largest integer not greater than x, as a double */
     65 
     66 extern double	fmod(double x, double y);
     67 /* Floating-point remainder of x/y, with the same sign as x. */
     68 
     69 #define M_E		2.7182818284590452354
     70 #define M_LOG2E		1.4426950408889634074
     71 #define M_LOG10E	0.43429448190325182765
     72 #define M_LN2		0.69314718055994530942
     73 #define M_LN10		2.30258509299404568402
     74 #define M_PI		3.14159265358979323846
     75 #define M_PI_2		1.57079632679489661923
     76 #define M_PI_4		0.78539816339744830962
     77 #define M_1_PI		0.31830988618379067154
     78 #define M_2_PI		0.63661977236758134308
     79 #define M_2_SQRTPI	1.12837916709551257390
     80 #define M_SQRT2		1.41421356237309504880
     81 #define M_SQRT1_2	0.70710678118654752440
     82 
     83