ReactOS 0.4.15-dev-8349-g6f277e9
exp_special.c File Reference
#include <fpieee.h>
#include <excpt.h>
#include <float.h>
#include <math.h>
#include <errno.h>
#include "libm_new.h"
Include dependency graph for exp_special.c:

Go to the source code of this file.

Macros

#define EXP_X_NAN   1
 
#define EXP_Y_ZERO   2
 
#define EXP_Y_INF   3
 

Functions

float _expf_special (float x, float y, U32 code)
 
double _exp_special (double x, double y, U32 code)
 

Macro Definition Documentation

◆ EXP_X_NAN

#define EXP_X_NAN   1

Definition at line 39 of file exp_special.c.

◆ EXP_Y_INF

#define EXP_Y_INF   3

Definition at line 41 of file exp_special.c.

◆ EXP_Y_ZERO

#define EXP_Y_ZERO   2

Definition at line 40 of file exp_special.c.

Function Documentation

◆ _exp_special()

double _exp_special ( double  x,
double  y,
U32  code 
)

Definition at line 73 of file exp_special.c.

74{
75 switch(code)
76 {
77 case EXP_X_NAN:
78 {
79 UT64 ym; ym.f64 = y;
80 _handle_error("exp", _FpCodeExp, ym.u64, _DOMAIN, 0, EDOM, x, 0.0, 1);
81 }
82 break;
83
84 case EXP_Y_ZERO:
85 {
86 UT64 ym; ym.f64 = y;
88 }
89 break;
90
91 case EXP_Y_INF:
92 {
93 UT64 ym; ym.f64 = y;
95 }
96 break;
97 }
98
99
100 return y;
101}
double __cdecl _handle_error(char *fname, int opcode, unsigned long long value, int type, int flags, int error, double arg1, double arg2, int nargs)
Handles an error condition.
Definition: _handle_error.c:34
#define ERANGE
Definition: acclib.h:92
#define EDOM
Definition: errno.h:39
#define EXP_Y_ZERO
Definition: exp_special.c:40
#define EXP_X_NAN
Definition: exp_special.c:39
#define EXP_Y_INF
Definition: exp_special.c:41
@ _FpCodeExp
Definition: fpieee.h:49
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
#define _DOMAIN
Definition: math.h:39
#define _UNDERFLOW
Definition: math.h:42
#define _OVERFLOW
Definition: math.h:41
#define AMD_F_INEXACT
Definition: libm_new.h:82
#define AMD_F_UNDERFLOW
Definition: libm_new.h:84
#define AMD_F_OVERFLOW
Definition: libm_new.h:83
Definition: inflate.c:139
Definition: libm_new.h:47
F64 f64
Definition: libm_new.h:48
U64 u64
Definition: libm_new.h:49

◆ _expf_special()

float _expf_special ( float  x,
float  y,
U32  code 
)

Definition at line 43 of file exp_special.c.

44{
45 switch(code)
46 {
47 case EXP_X_NAN:
48 {
49 UT64 ym; ym.u64 = 0; ym.f32[0] = y;
50 _handle_errorf("expf", _FpCodeExp, ym.u64, _DOMAIN, 0, EDOM, x, 0.0, 1);
51 }
52 break;
53
54 case EXP_Y_ZERO:
55 {
56 UT64 ym; ym.u64 = 0; ym.f32[0] = y;
58 }
59 break;
60
61 case EXP_Y_INF:
62 {
63 UT64 ym; ym.u64 = 0; ym.f32[0] = y;
65
66 }
67 break;
68 }
69
70 return y;
71}
float __cdecl _handle_errorf(char *fname, int opcode, unsigned long long value, int type, int flags, int error, float arg1, float arg2, int nargs)
Definition: _handle_error.c:56
F32 f32[2]
Definition: libm_new.h:51