/*
* Copyright ( c ) 1998 , 2019 , Oracle and / or its affiliates . All rights reserved .
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER .
*
* This code is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License version 2 only , as
* published by the Free Software Foundation . Oracle designates this
* particular file as subject to the " Classpath " exception as provided
* by Oracle in the LICENSE file that accompanied this code .
*
* This code is distributed in the hope that it will be useful , but WITHOUT
* ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE . See the GNU General Public License
* version 2 for more details ( a copy is included in the LICENSE file that
* accompanied this code ) .
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work ; if not , write to the Free Software Foundation ,
* Inc . , 51 Franklin St , Fifth Floor , Boston , MA 02110 - 1301 USA .
*
* Please contact Oracle , 500 Oracle Parkway , Redwood Shores , CA 94065 USA
* or visit www . oracle . com if you need additional information or have any
* questions .
*/
#ifdef _ALLBSD_SOURCE
#include <machine/endian.h>
#elif defined (__linux__)
#define __USE_BSD 1
#include <endian.h>
#endif
#include "jfdlibm.h"
#ifdef __NEWVALID /* special setup for Sun test regime */
#if defined (i386) || defined (i486) || \
defined (intel) || defined (x86) || defined (arm) || \
defined (i86pc) || defined (ia64)
#define _LITTLE_ENDIAN
#endif
#endif
#ifdef _LITTLE_ENDIAN
#define __HI(x) *(1 +(int *)&x)
#define __LO(x) *(int *)&x
#define __HIp(x) *(1 +(int *)x)
#define __LOp(x) *(int *)x
#else
#define __HI(x) *(int *)&x
#define __LO(x) *(1 +(int *)&x)
#define __HIp(x) *(int *)x
#define __LOp(x) *(1 +(int *)x)
#endif
#ifndef __P
#ifdef __STDC__
#define __P(p) p
#else
#define __P(p) ()
#endif
#endif
/*
* ANSI / POSIX
*/
extern int signgam;
#define MAXFLOAT ((float )3 .40282346638528860 e+38 )
enum fdversion {fdlibm_ieee = -1 , fdlibm_svid, fdlibm_xopen, fdlibm_posix};
#define _LIB_VERSION_TYPE enum fdversion
#define _LIB_VERSION _fdlib_version
/* if global variable _LIB_VERSION is not desirable, one may
* change the following to be a constant by :
* # define _ LIB_VERSION_TYPE const enum version
* In that case , after one initializes the value _ LIB_VERSION ( see
* s_lib_version . c ) during compile time , it cannot be modified
* in the middle of a program
*/
extern _LIB_VERSION_TYPE _LIB_VERSION;
#define _IEEE_ fdlibm_ieee
#define _SVID_ fdlibm_svid
#define _XOPEN_ fdlibm_xopen
#define _POSIX_ fdlibm_posix
struct exception {
int type;
char *name;
double arg1;
double arg2;
double retval;
};
#define HUGE MAXFLOAT
/*
* set X_TLOSS = pi * 2 * * 52 , which is possibly defined in < values . h >
* ( one may replace the following line by " # include < values . h > " )
*/
#define X_TLOSS 1 .41484755040568800000 e+16
#define DOMAIN 1
#define SING 2
#define OVERFLOW 3
#define UNDERFLOW 4
#define TLOSS 5
#define PLOSS 6
/*
* ANSI / POSIX
*/
extern double acos __P((double ));
extern double asin __P((double ));
extern double atan __P((double ));
extern double atan2 __P((double , double ));
extern double cos __P((double ));
extern double sin __P((double ));
extern double tan __P((double ));
extern double cosh __P((double ));
extern double sinh __P((double ));
extern double tanh __P((double ));
extern double exp __P((double ));
extern double frexp __P((double , int *));
extern double ldexp __P((double , int ));
extern double log __P((double ));
extern double log10 __P((double ));
extern double modf __P((double , double *));
extern double sqrt __P((double ));
extern double ceil __P((double ));
extern double fabs __P((double ));
extern double floor __P((double ));
extern double fmod __P((double , double ));
extern double hypot __P((double , double ));
extern int isnan __P((double ));
extern int finite __P((double ));
extern double atanh __P((double ));
extern double cbrt __P((double ));
extern double logb __P((double ));
extern double nextafter __P((double , double ));
extern double remainder __P((double , double ));
#ifdef _SCALB_INT
extern double scalb __P((double , int ));
#else
extern double scalb __P((double , double ));
#endif
extern int matherr __P((struct exception *));
/*
* IEEE Test Vector
*/
extern double significand __P((double ));
/*
* Functions callable from C , intended to support IEEE arithmetic .
*/
extern double copysign __P((double , double ));
extern int ilogb __P((double ));
extern double rint __P((double ));
extern double scalbn __P((double , int ));
/*
* BSD math library entry points
*/
extern double expm1 __P((double ));
extern double log1p __P((double ));
/* ieee style elementary functions */
extern double __ieee754_sqrt __P((double ));
extern double __ieee754_acos __P((double ));
extern double __ieee754_log __P((double ));
extern double __ieee754_atanh __P((double ));
extern double __ieee754_asin __P((double ));
extern double __ieee754_atan2 __P((double ,double ));
extern double __ieee754_exp __P((double ));
extern double __ieee754_cosh __P((double ));
extern double __ieee754_fmod __P((double ,double ));
extern double __ieee754_log10 __P((double ));
extern double __ieee754_sinh __P((double ));
extern double __ieee754_hypot __P((double ,double ));
extern double __ieee754_remainder __P((double ,double ));
extern int __ieee754_rem_pio2 __P((double ,double *));
#ifdef _SCALB_INT
extern double __ieee754_scalb __P((double ,int ));
#else
extern double __ieee754_scalb __P((double ,double ));
#endif
/* fdlibm kernel function */
extern double __kernel_standard __P((double ,double ,int ));
extern double __kernel_sin __P((double ,double ,int ));
extern double __kernel_cos __P((double ,double ));
extern double __kernel_tan __P((double ,double ,int ));
extern int __kernel_rem_pio2 __P((double *,double *,int ,int ,int ,const int *));
Messung V0.5 in Prozent C=95 H=100 G=97
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-10-02)
¤
*© Formatika GbR, Deutschland