SDL  2.0
e_log10.c File Reference
#include "math_libm.h"
#include "math_private.h"
+ Include dependency graph for e_log10.c:

Go to the source code of this file.

Functions

double attribute_hidden __ieee754_log10 (double x)
 

Variables

static const double two54 = 1.80143985094819840000e+16
 
static const double ivln10 = 4.34294481903251816668e-01
 
static const double log10_2hi = 3.01029995663611771306e-01
 
static const double log10_2lo = 3.69423907715893078616e-13
 
static const double zero = 0.0
 

Function Documentation

◆ __ieee754_log10()

double attribute_hidden __ieee754_log10 ( double  x)

Definition at line 61 of file e_log10.c.

62 {
63  double y,z;
64  int32_t i,k,hx;
65  u_int32_t lx;
66 
67  EXTRACT_WORDS(hx,lx,x);
68 
69  k=0;
70  if (hx < 0x00100000) { /* x < 2**-1022 */
71  if (((hx&0x7fffffff)|lx)==0)
72  return -two54/zero; /* log(+-0)=-inf */
73  if (hx<0) return (x-x)/zero; /* log(-#) = NaN */
74  k -= 54; x *= two54; /* subnormal number, scale up x */
75  GET_HIGH_WORD(hx,x);
76  }
77  if (hx >= 0x7ff00000) return x+x;
78  k += (hx>>20)-1023;
79  i = ((u_int32_t)k&0x80000000)>>31;
80  hx = (hx&0x000fffff)|((0x3ff-i)<<20);
81  y = (double)(k+i);
82  SET_HIGH_WORD(x,hx);
84  return z+y*log10_2hi;
85 }

References __ieee754_log, EXTRACT_WORDS, GET_HIGH_WORD, i, ivln10, k, log10_2hi, log10_2lo, SET_HIGH_WORD, two54, and zero.

Variable Documentation

◆ ivln10

const double ivln10 = 4.34294481903251816668e-01
static

Definition at line 55 of file e_log10.c.

Referenced by __ieee754_log10().

◆ log10_2hi

const double log10_2hi = 3.01029995663611771306e-01
static

Definition at line 56 of file e_log10.c.

Referenced by __ieee754_log10().

◆ log10_2lo

const double log10_2lo = 3.69423907715893078616e-13
static

Definition at line 57 of file e_log10.c.

Referenced by __ieee754_log10().

◆ two54

const double two54 = 1.80143985094819840000e+16
static

Definition at line 54 of file e_log10.c.

Referenced by __ieee754_log10().

◆ zero

const double zero = 0.0
static

Definition at line 59 of file e_log10.c.

Referenced by __ieee754_log10().

two54
static const double two54
Definition: e_log10.c:54
ivln10
static const double ivln10
Definition: e_log10.c:55
z
GLdouble GLdouble z
Definition: SDL_opengl_glext.h:407
log10_2hi
static const double log10_2hi
Definition: e_log10.c:56
EXTRACT_WORDS
#define EXTRACT_WORDS(ix0, ix1, d)
Definition: math_private.h:99
SET_HIGH_WORD
#define SET_HIGH_WORD(d, v)
Definition: math_private.h:137
log10_2lo
static const double log10_2lo
Definition: e_log10.c:57
zero
static const double zero
Definition: e_log10.c:59
x
GLint GLint GLint GLint GLint x
Definition: SDL_opengl.h:1574
int32_t
signed int int32_t
Definition: SDL_config_windows.h:62
u_int32_t
unsigned int u_int32_t
Definition: math_private.h:31
y
GLint GLint GLint GLint GLint GLint y
Definition: SDL_opengl.h:1574
k
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int int int return Display Window Cursor return Display Window return Display Drawable GC int int unsigned int unsigned int return Display Drawable GC int int _Xconst char int return Display Drawable GC int int unsigned int unsigned int return Display return Display Cursor return Display GC return XModifierKeymap return char Display Window int return Display return Display int int int return Display long XVisualInfo int return Display Window Atom long long Bool Atom Atom int unsigned long unsigned long k)
Definition: SDL_x11sym.h:80
GET_HIGH_WORD
#define GET_HIGH_WORD(i, d)
Definition: math_private.h:109
__ieee754_log
#define __ieee754_log
Definition: math_private.h:42
i
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
Definition: SDL_x11sym.h:50