hpmath.h File Reference

Go to the source code of this file.

Defines

#define min(a, b)   ((a) < (b) ? (a) : (b))
#define max(a, b)   ((a) > (b) ? (a) : (b))
#define abs(a)   ((a) < 0 ? (-a) : (a))
#define log   __ieee754_log
#define log10   __ieee754_log10
#define exp   __ieee754_exp
#define pow   __ieee754_pow
#define sqrt   __ieee754_sqrt
#define asin   __ieee754_asin
#define acos   __ieee754_acos
#define atan2   __ieee754_atan2
#define log2(x)   (log(x) / M_LOG2_E)
#define _fabs(x)   ( (x) < 0.0 ? (-x) : (x) )
#define M_E   2.7182818284590452354
#define M_LOG2E   1.4426950408889634074
#define M_LOG10E   0.43429448190325182765
#define M_LN2   0.69314718055994530942
#define M_LN10   2.30258509299404568402
#define M_PI   3.14159265358979323846
#define M_TWOPI   (M_PI * 2.0)
#define M_PI_2   1.57079632679489661923
#define M_PI_4   0.78539816339744830962
#define M_3PI_4   2.3561944901923448370E0
#define M_SQRTPI   1.77245385090551602792981
#define M_1_PI   0.31830988618379067154
#define M_2_PI   0.63661977236758134308
#define M_2_SQRTPI   1.12837916709551257390
#define M_SQRT2   1.41421356237309504880
#define M_SQRT1_2   0.70710678118654752440
#define M_LN2LO   1.9082149292705877000E-10
#define M_LN2HI   6.9314718036912381649E-1
#define M_SQRT3   1.73205080756887719000
#define M_IVLN10   0.43429448190325182765
#define M_LOG2_E   0.693147180559945309417
#define M_INVLN2   1.4426950408889633870E0
#define prob(p)   ((p) >= 1.0 ? 1 : random() < (p))
#define ilog10   qlog10
#define MATH_ERR_NEWTON_INVALID   -999.666

Typedefs

typedef unsigned long long ULONGLONG
typedef long long LONGLONG
typedef double(*) DFUNC1 (double)

Functions

double ipow (double x, int n)
double i10powx (int n)
double assemble_double (unsigned int sign, unsigned long long mantissa, int exponent)
int _i10pow64 (int exp10, unsigned long long *mant)
double square (double x)
double round (double a)
double modf (double x, double *iptr)
double frexp (double x, int *exp)
double scalbn (double x, int n)
double copysign (double x, double y)
double __ieee754_log (double x)
double __ieee754_log10 (double x)
double __ieee754_exp (double x)
double __ieee754_pow (double x, double y)
double __ieee754_sqrt (double x)
double __ieee754_asin (double x)
double __ieee754_acos (double x)
double __ieee754_atan2 (double y, double x)
double sin (double x)
double cos (double x)
double tan (double x)
double atan (double x)
double floor (double x)
double ceil (double x)
double fabs (double x)
double random ()
 53 bit pseudo RNG on [0,1)
double gauss ()
 Returns a normal distributed random number.
double normal (double mu, double sigma)
 Returns a normal distributed random number with selected parameters.
int qlog10 (double x, double *y)
 find y and return so that x=y*(10**return)
double dround (double value, int digits)
 Round value to digits places towards +/- infinity.
double df (int n, DFUNC1 f, double x)
double newton (DFUNC1 f, double x0, double y)


Define Documentation

#define _fabs (  )     ( (x) < 0.0 ? (-x) : (x) )

Definition at line 129 of file hpmath.h.

#define abs (  )     ((a) < 0 ? (-a) : (a))

Definition at line 68 of file hpmath.h.

#define acos   __ieee754_acos

Definition at line 125 of file hpmath.h.

#define asin   __ieee754_asin

Definition at line 124 of file hpmath.h.

#define atan2   __ieee754_atan2

Definition at line 126 of file hpmath.h.

#define exp   __ieee754_exp

Definition at line 120 of file hpmath.h.

#define ilog10   qlog10

Definition at line 202 of file hpmath.h.

#define log   __ieee754_log

Definition at line 118 of file hpmath.h.

#define log10   __ieee754_log10

Definition at line 119 of file hpmath.h.

#define log2 (  )     (log(x) / M_LOG2_E)

Definition at line 128 of file hpmath.h.

#define M_1_PI   0.31830988618379067154

Definition at line 144 of file hpmath.h.

#define M_2_PI   0.63661977236758134308

Definition at line 145 of file hpmath.h.

#define M_2_SQRTPI   1.12837916709551257390

Definition at line 146 of file hpmath.h.

#define M_3PI_4   2.3561944901923448370E0

Definition at line 142 of file hpmath.h.

#define M_E   2.7182818284590452354

Definition at line 133 of file hpmath.h.

#define M_INVLN2   1.4426950408889633870E0

Definition at line 154 of file hpmath.h.

#define M_IVLN10   0.43429448190325182765

Definition at line 152 of file hpmath.h.

#define M_LN10   2.30258509299404568402

Definition at line 137 of file hpmath.h.

#define M_LN2   0.69314718055994530942

Definition at line 136 of file hpmath.h.

#define M_LN2HI   6.9314718036912381649E-1

Definition at line 150 of file hpmath.h.

#define M_LN2LO   1.9082149292705877000E-10

Definition at line 149 of file hpmath.h.

#define M_LOG10E   0.43429448190325182765

Definition at line 135 of file hpmath.h.

#define M_LOG2_E   0.693147180559945309417

Definition at line 153 of file hpmath.h.

#define M_LOG2E   1.4426950408889634074

Definition at line 134 of file hpmath.h.

#define M_PI   3.14159265358979323846

Definition at line 138 of file hpmath.h.

#define M_PI_2   1.57079632679489661923

Definition at line 140 of file hpmath.h.

#define M_PI_4   0.78539816339744830962

Definition at line 141 of file hpmath.h.

#define M_SQRT1_2   0.70710678118654752440

Definition at line 148 of file hpmath.h.

#define M_SQRT2   1.41421356237309504880

Definition at line 147 of file hpmath.h.

#define M_SQRT3   1.73205080756887719000

Definition at line 151 of file hpmath.h.

#define M_SQRTPI   1.77245385090551602792981

Definition at line 143 of file hpmath.h.

#define M_TWOPI   (M_PI * 2.0)

Definition at line 139 of file hpmath.h.

#define MATH_ERR_NEWTON_INVALID   -999.666

Definition at line 223 of file hpmath.h.

#define max ( a,
 )     ((a) > (b) ? (a) : (b))

Definition at line 64 of file hpmath.h.

#define min ( a,
 )     ((a) < (b) ? (a) : (b))

Definition at line 60 of file hpmath.h.

#define pow   __ieee754_pow

Definition at line 121 of file hpmath.h.

#define prob (  )     ((p) >= 1.0 ? 1 : random() < (p))

Definition at line 182 of file hpmath.h.

#define sqrt   __ieee754_sqrt

Definition at line 122 of file hpmath.h.


Typedef Documentation

typedef double(*) DFUNC1(double)

Definition at line 214 of file hpmath.h.

typedef long long LONGLONG

Definition at line 44 of file hpmath.h.

typedef unsigned long long ULONGLONG

Definition at line 43 of file hpmath.h.


Function Documentation

double __ieee754_acos ( double  x  ) 

double __ieee754_asin ( double  x  ) 

double __ieee754_atan2 ( double  y,
double  x 
)

double __ieee754_exp ( double  x  ) 

double __ieee754_log ( double  x  ) 

double __ieee754_log10 ( double  x  ) 

double __ieee754_pow ( double  x,
double  y 
)

double __ieee754_sqrt ( double  x  ) 

int _i10pow64 ( int  exp10,
unsigned long long *  mant 
)

double assemble_double ( unsigned int  sign,
unsigned long long  mantissa,
int  exponent 
)

double atan ( double  x  ) 

double ceil ( double  x  ) 

double copysign ( double  x,
double  y 
)

double cos ( double  x  ) 

double df ( int  n,
DFUNC1  f,
double  x 
)

double dround ( double  value,
int  digits 
)

Round value to digits places towards +/- infinity.

Parameters:
value The double value to round
digits Number of decimal places
Return values:
The rounded value

double fabs ( double  x  ) 

double floor ( double  x  ) 

double frexp ( double  x,
int *  exp 
)

double gauss (  ) 

Returns a normal distributed random number.

Return values:
A normalized,normal-distributed random number with mu=0.0 and sigma = 1.0

double i10powx ( int  n  ) 

double ipow ( double  x,
int  n 
)

double modf ( double  x,
double *  iptr 
)

double newton ( DFUNC1  f,
double  x0,
double  y 
)

double normal ( double  mu,
double  sigma 
)

Returns a normal distributed random number with selected parameters.

Return values:
A normal-distributed random number with parameters (mu, sigma)

int qlog10 ( double  x,
double *  y 
)

find y and return so that x=y*(10**return)

Parameters:
x source number
*y location for the remainder term
Return values:
integer log10 of x

double random (  ) 

53 bit pseudo RNG on [0,1)

Return values:
A double pseudo random number, based on mwc() generator

double round ( double  a  ) 

double scalbn ( double  x,
int  n 
)

double sin ( double  x  ) 

double square ( double  x  ) 

double tan ( double  x  ) 


Generated on Sat Feb 17 00:05:26 2007 for HP-GCCLibrary by  doxygen 1.5.0