/* const.c
*
* Globally declared constants
*
*
*
* SYNOPSIS :
*
* extern double nameofconstant ;
*
*
*
*
* DESCRIPTION :
*
* This file contains a number of mathematical constants and
* also some needed size parameters of the computer arithmetic .
* The values are supplied as arrays of hexadecimal integers
* for IEEE arithmetic ; arrays of octal constants for DEC
* arithmetic ; and in a normal decimal scientific notation for
* other machines . The particular notation used is determined
* by a symbol ( DEC , IBMPC , or UNK ) defined in the include file
* mconf . h .
*
* The default size parameters are as follows .
*
* For DEC and UNK modes :
* MACHEP = 1 . 38777878078144567553 E - 17 2 * * - 56
* MAXLOG = 8 . 8029691931113054295988 E1 log ( 2 * * 127 )
* MINLOG = - 8 . 872283911167299960540 E1 log ( 2 * * - 128 )
* MAXNUM = 1 . 701411834604692317316873 e38 2 * * 127
*
* For IEEE arithmetic ( IBMPC ) :
* MACHEP = 1 . 11022302462515654042 E - 16 2 * * - 53
* MAXLOG = 7 . 09782712893383996843 E2 log ( 2 * * 1024 )
* MINLOG = - 7 . 08396418532264106224 E2 log ( 2 * * - 1022 )
* MAXNUM = 1 . 7976931348623158 E308 2 * * 1024
*
* The global symbols for mathematical constants are
* PI = 3 . 14159265358979323846 pi
* PIO2 = 1 . 57079632679489661923 pi / 2
* PIO4 = 7 . 85398163397448309616 E - 1 pi / 4
* SQRT2 = 1 . 41421356237309504880 sqrt ( 2 )
* SQRTH = 7 . 07106781186547524401 E - 1 sqrt ( 2 ) / 2
* LOG2E = 1 . 4426950408889634073599 1 / log ( 2 )
* SQ2OPI = 7 . 9788456080286535587989 E - 1 sqrt ( 2 / pi )
* LOGE2 = 6 . 93147180559945309417 E - 1 log ( 2 )
* LOGSQ2 = 3 . 46573590279972654709 E - 1 log ( 2 ) / 2
* THPIO4 = 2 . 35619449019234492885 3 * pi / 4
* TWOOPI = 6 . 36619772367581343075535 E - 1 2 / pi
*
* These lists are subject to change .
*/
/* const.c */
/*
Cephes Math Library Release 2 . 3 : March , 1995
Copyright 1984 , 1995 by Stephen L . Moshier
*/
#include "mconf.h"
#ifdef UNK
#if 1
double MACHEP = 1 .11022302462515654042 E-16 ; /* 2**-53 */
#else
double MACHEP = 1 .38777878078144567553 E-17 ; /* 2**-56 */
#endif
double UFLOWTHRESH = 2 .22507385850720138309 E-308 ; /* 2**-1022 */
#ifdef DENORMAL
double MAXLOG = 7 .09782712893383996732 E2; /* log(MAXNUM) */
/* double MINLOG = -7.44440071921381262314E2; */ /* log(2**-1074) */
double MINLOG = -7 .451332191019412076235 E2; /* log(2**-1075) */
#else
double MAXLOG = 7 .08396418532264106224 E2; /* log 2**1022 */
double MINLOG = -7 .08396418532264106224 E2; /* log 2**-1022 */
#endif
double MAXNUM = 1 .79769313486231570815 E308; /* 2**1024*(1-MACHEP) */
double PI = 3 .14159265358979323846 ; /* pi */
double PIO2 = 1 .57079632679489661923 ; /* pi/2 */
double PIO4 = 7 .85398163397448309616 E-1 ; /* pi/4 */
double SQRT2 = 1 .41421356237309504880 ; /* sqrt(2) */
double SQRTH = 7 .07106781186547524401 E-1 ; /* sqrt(2)/2 */
double LOG2E = 1 .4426950408889634073599 ; /* 1/log(2) */
double SQ2OPI = 7 .9788456080286535587989 E-1 ; /* sqrt( 2/pi ) */
double LOGE2 = 6 .93147180559945309417 E-1 ; /* log(2) */
double LOGSQ2 = 3 .46573590279972654709 E-1 ; /* log(2)/2 */
double THPIO4 = 2 .35619449019234492885 ; /* 3*pi/4 */
double TWOOPI = 6 .36619772367581343075535 E-1 ; /* 2/pi */
#ifdef INFINITIES
double INFINITY = 1 .0 / 0 .0 ; /* 99e999; */
#else
double INFINITY = 1 .79769313486231570815 E308; /* 2**1024*(1-MACHEP) */
#endif
#ifdef NANS
double NAN = 1 .0 / 0 .0 - 1 .0 / 0 .0 ;
#else
double NAN = 0 .0 ;
#endif
#ifdef MINUSZERO
double NEGZERO = -0 .0 ;
#else
double NEGZERO = 0 .0 ;
#endif
#endif
#ifdef IBMPC
/* 2**-53 = 1.11022302462515654042E-16 */
unsigned short MACHEP[4 ] = {0 x0000, 0 x0000, 0 x0000, 0 x3ca0};
unsigned short UFLOWTHRESH[4 ] = {0 x0000, 0 x0000, 0 x0000, 0 x0010};
#ifdef DENORMAL
/* log(MAXNUM) = 7.09782712893383996732224E2 */
unsigned short MAXLOG[4 ] = {0 x39ef, 0 xfefa, 0 x2e42, 0 x4086};
/* log(2**-1074) = - -7.44440071921381262314E2 */
/*unsigned short MINLOG[4] = {0x71c3,0x446d,0x4385,0xc087};*/
unsigned short MINLOG[4 ] = {0 x3052, 0 xd52d, 0 x4910, 0 xc087};
#else
/* log(2**1022) = 7.08396418532264106224E2 */
unsigned short MAXLOG[4 ] = {0 xbcd2, 0 xdd7a, 0 x232b, 0 x4086};
/* log(2**-1022) = - 7.08396418532264106224E2 */
unsigned short MINLOG[4 ] = {0 xbcd2, 0 xdd7a, 0 x232b, 0 xc086};
#endif
/* 2**1024*(1-MACHEP) = 1.7976931348623158E308 */
unsigned short MAXNUM[4 ] = {0 xffff, 0 xffff, 0 xffff, 0 x7fef};
unsigned short PI[4 ] = {0 x2d18, 0 x5444, 0 x21fb, 0 x4009};
unsigned short PIO2[4 ] = {0 x2d18, 0 x5444, 0 x21fb, 0 x3ff9};
unsigned short PIO4[4 ] = {0 x2d18, 0 x5444, 0 x21fb, 0 x3fe9};
unsigned short SQRT2[4 ] = {0 x3bcd, 0 x667f, 0 xa09e, 0 x3ff6};
unsigned short SQRTH[4 ] = {0 x3bcd, 0 x667f, 0 xa09e, 0 x3fe6};
unsigned short LOG2E[4 ] = {0 x82fe, 0 x652b, 0 x1547, 0 x3ff7};
unsigned short SQ2OPI[4 ] = {0 x3651, 0 x33d4, 0 x8845, 0 x3fe9};
unsigned short LOGE2[4 ] = {0 x39ef, 0 xfefa, 0 x2e42, 0 x3fe6};
unsigned short LOGSQ2[4 ] = {0 x39ef, 0 xfefa, 0 x2e42, 0 x3fd6};
unsigned short THPIO4[4 ] = {0 x21d2, 0 x7f33, 0 xd97c, 0 x4002};
unsigned short TWOOPI[4 ] = {0 xc883, 0 x6dc9, 0 x5f30, 0 x3fe4};
#ifdef INFINITIES
unsigned short INFINITY[4 ] = {0 x0000, 0 x0000, 0 x0000, 0 x7ff0};
#else
unsigned short INFINITY[4 ] = {0 xffff, 0 xffff, 0 xffff, 0 x7fef};
#endif
#ifdef NANS
unsigned short NAN[4 ] = {0 x0000, 0 x0000, 0 x0000, 0 x7ffc};
#else
unsigned short NAN[4 ] = {0 x0000, 0 x0000, 0 x0000, 0 x0000};
#endif
#ifdef MINUSZERO
unsigned short NEGZERO[4 ] = {0 x0000, 0 x0000, 0 x0000, 0 x8000};
#else
unsigned short NEGZERO[4 ] = {0 x0000, 0 x0000, 0 x0000, 0 x0000};
#endif
#endif
#ifdef MIEEE
/* 2**-53 = 1.11022302462515654042E-16 */
unsigned short MACHEP[4 ] = {0 x3ca0, 0 x0000, 0 x0000, 0 x0000};
unsigned short UFLOWTHRESH[4 ] = {0 x0010, 0 x0000, 0 x0000, 0 x0000};
#ifdef DENORMAL
/* log(2**1024) = 7.09782712893383996843E2 */
unsigned short MAXLOG[4 ] = {0 x4086, 0 x2e42, 0 xfefa, 0 x39ef};
/* log(2**-1074) = - -7.44440071921381262314E2 */
/* unsigned short MINLOG[4] = {0xc087,0x4385,0x446d,0x71c3}; */
unsigned short MINLOG[4 ] = {0 xc087, 0 x4910, 0 xd52d, 0 x3052};
#else
/* log(2**1022) = 7.08396418532264106224E2 */
unsigned short MAXLOG[4 ] = {0 x4086, 0 x232b, 0 xdd7a, 0 xbcd2};
/* log(2**-1022) = - 7.08396418532264106224E2 */
unsigned short MINLOG[4 ] = {0 xc086, 0 x232b, 0 xdd7a, 0 xbcd2};
#endif
/* 2**1024*(1-MACHEP) = 1.7976931348623158E308 */
unsigned short MAXNUM[4 ] = {0 x7fef, 0 xffff, 0 xffff, 0 xffff};
unsigned short PI[4 ] = {0 x4009, 0 x21fb, 0 x5444, 0 x2d18};
unsigned short PIO2[4 ] = {0 x3ff9, 0 x21fb, 0 x5444, 0 x2d18};
unsigned short PIO4[4 ] = {0 x3fe9, 0 x21fb, 0 x5444, 0 x2d18};
unsigned short SQRT2[4 ] = {0 x3ff6, 0 xa09e, 0 x667f, 0 x3bcd};
unsigned short SQRTH[4 ] = {0 x3fe6, 0 xa09e, 0 x667f, 0 x3bcd};
unsigned short LOG2E[4 ] = {0 x3ff7, 0 x1547, 0 x652b, 0 x82fe};
unsigned short SQ2OPI[4 ] = {0 x3fe9, 0 x8845, 0 x33d4, 0 x3651};
unsigned short LOGE2[4 ] = {0 x3fe6, 0 x2e42, 0 xfefa, 0 x39ef};
unsigned short LOGSQ2[4 ] = {0 x3fd6, 0 x2e42, 0 xfefa, 0 x39ef};
unsigned short THPIO4[4 ] = {0 x4002, 0 xd97c, 0 x7f33, 0 x21d2};
unsigned short TWOOPI[4 ] = {0 x3fe4, 0 x5f30, 0 x6dc9, 0 xc883};
#ifdef INFINITIES
unsigned short INFINITY[4 ] = {0 x7ff0, 0 x0000, 0 x0000, 0 x0000};
#else
unsigned short INFINITY[4 ] = {0 x7fef, 0 xffff, 0 xffff, 0 xffff};
#endif
#ifdef NANS
unsigned short NAN[4 ] = {0 x7ff8, 0 x0000, 0 x0000, 0 x0000};
#else
unsigned short NAN[4 ] = {0 x0000, 0 x0000, 0 x0000, 0 x0000};
#endif
#ifdef MINUSZERO
unsigned short NEGZERO[4 ] = {0 x8000, 0 x0000, 0 x0000, 0 x0000};
#else
unsigned short NEGZERO[4 ] = {0 x0000, 0 x0000, 0 x0000, 0 x0000};
#endif
#endif
#ifdef DEC
/* 2**-56 = 1.38777878078144567553E-17 */
unsigned short MACHEP[4 ] = {0022200 , 0000000 , 0000000 , 0000000 };
unsigned short UFLOWTHRESH[4 ] = {0 x0080, 0 x0000, 0 x0000, 0 x0000};
/* log 2**127 = 88.029691931113054295988 */
unsigned short MAXLOG[4 ] = {
041660 ,
007463 ,
0143742 ,
025733 ,
};
/* log 2**-128 = -88.72283911167299960540 */
unsigned short MINLOG[4 ] = {
0141661 ,
071027 ,
0173721 ,
0147572 ,
};
/* 2**127 = 1.701411834604692317316873e38 */
unsigned short MAXNUM[4 ] = {
077777 ,
0177777 ,
0177777 ,
0177777 ,
};
unsigned short PI[4 ] = {
040511 ,
007732 ,
0121041 ,
064302 ,
};
unsigned short PIO2[4 ] = {
040311 ,
007732 ,
0121041 ,
064302 ,
};
unsigned short PIO4[4 ] = {
040111 ,
007732 ,
0121041 ,
064302 ,
};
unsigned short SQRT2[4 ] = {
040265 ,
002363 ,
031771 ,
0157145 ,
};
unsigned short SQRTH[4 ] = {
040065 ,
002363 ,
031771 ,
0157144 ,
};
unsigned short LOG2E[4 ] = {
040270 ,
0125073 ,
024534 ,
013761 ,
};
unsigned short SQ2OPI[4 ] = {
040114 ,
041051 ,
0117241 ,
0131204 ,
};
unsigned short LOGE2[4 ] = {
040061 ,
071027 ,
0173721 ,
0147572 ,
};
unsigned short LOGSQ2[4 ] = {
037661 ,
071027 ,
0173721 ,
0147572 ,
};
unsigned short THPIO4[4 ] = {
040426 ,
0145743 ,
0174631 ,
007222 ,
};
unsigned short TWOOPI[4 ] = {
040042 ,
0174603 ,
067116 ,
042025 ,
};
/* Approximate infinity by MAXNUM. */
unsigned short INFINITY[4 ] = {
077777 ,
0177777 ,
0177777 ,
0177777 ,
};
unsigned short NAN[4 ] = {0000000 , 0000000 , 0000000 , 0000000 };
#ifdef MINUSZERO
unsigned short NEGZERO[4 ] = {0000000 , 0000000 , 0000000 , 0100000 };
#else
unsigned short NEGZERO[4 ] = {0000000 , 0000000 , 0000000 , 0000000 };
#endif
#endif
#ifndef UNK
extern unsigned short MACHEP[];
extern unsigned short UFLOWTHRESH[];
extern unsigned short MAXLOG[];
extern unsigned short UNDLOG[];
extern unsigned short MINLOG[];
extern unsigned short MAXNUM[];
extern unsigned short PI[];
extern unsigned short PIO2[];
extern unsigned short PIO4[];
extern unsigned short SQRT2[];
extern unsigned short SQRTH[];
extern unsigned short LOG2E[];
extern unsigned short SQ2OPI[];
extern unsigned short LOGE2[];
extern unsigned short LOGSQ2[];
extern unsigned short THPIO4[];
extern unsigned short TWOOPI[];
extern unsigned short INFINITY[];
extern unsigned short NAN[];
extern unsigned short NEGZERO[];
#endif
Messung V0.5 in Prozent C=87 H=100 G=93
¤ Dauer der Verarbeitung: 0.5 Sekunden
¤
*© Formatika GbR, Deutschland