VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/msvcrt/math.h@ 53201

最後變更 在這個檔案從53201是 53201,由 vboxsync 提交於 10 年 前

Devices/Main: vmsvga updates

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 4.7 KB
 
1/*
2 * Math functions.
3 *
4 * Derived from the mingw header written by Colin Peters.
5 * Modified for Wine use by Hans Leidekker.
6 * This file is in the public domain.
7 */
8
9#ifndef __WINE_MATH_H
10#define __WINE_MATH_H
11
12#include <crtdefs.h>
13
14#include <pshpack8.h>
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20#define _DOMAIN 1 /* domain error in argument */
21#define _SING 2 /* singularity */
22#define _OVERFLOW 3 /* range overflow */
23#define _UNDERFLOW 4 /* range underflow */
24#define _TLOSS 5 /* total loss of precision */
25#define _PLOSS 6 /* partial loss of precision */
26
27#ifndef _EXCEPTION_DEFINED
28#define _EXCEPTION_DEFINED
29struct _exception
30{
31 int type;
32 char *name;
33 double arg1;
34 double arg2;
35 double retval;
36};
37#endif /* _EXCEPTION_DEFINED */
38
39#ifndef _COMPLEX_DEFINED
40#define _COMPLEX_DEFINED
41struct _complex
42{
43 double x; /* Real part */
44 double y; /* Imaginary part */
45};
46#endif /* _COMPLEX_DEFINED */
47
48double __cdecl sin(double);
49double __cdecl cos(double);
50double __cdecl tan(double);
51double __cdecl sinh(double);
52double __cdecl cosh(double);
53double __cdecl tanh(double);
54double __cdecl asin(double);
55double __cdecl acos(double);
56double __cdecl atan(double);
57double __cdecl atan2(double, double);
58double __cdecl exp(double);
59double __cdecl log(double);
60double __cdecl log10(double);
61double __cdecl pow(double, double);
62double __cdecl sqrt(double);
63double __cdecl ceil(double);
64double __cdecl floor(double);
65double __cdecl fabs(double);
66double __cdecl ldexp(double, int);
67double __cdecl frexp(double, int*);
68double __cdecl modf(double, double*);
69double __cdecl fmod(double, double);
70
71double __cdecl hypot(double, double);
72double __cdecl j0(double);
73double __cdecl j1(double);
74double __cdecl jn(int, double);
75double __cdecl y0(double);
76double __cdecl y1(double);
77double __cdecl yn(int, double);
78
79#ifdef __x86_64__
80
81float __cdecl sinf(float);
82float __cdecl cosf(float);
83float __cdecl tanf(float);
84float __cdecl sinhf(float);
85float __cdecl coshf(float);
86float __cdecl tanhf(float);
87float __cdecl asinf(float);
88float __cdecl acosf(float);
89float __cdecl atanf(float);
90float __cdecl atan2f(float, float);
91float __cdecl expf(float);
92float __cdecl logf(float);
93float __cdecl log10f(float);
94float __cdecl powf(float, float);
95float __cdecl sqrtf(float);
96float __cdecl ceilf(float);
97float __cdecl floorf(float);
98float __cdecl fabsf(float);
99float __cdecl ldexpf(float, int);
100float __cdecl frexpf(float, int*);
101float __cdecl modff(float, float*);
102float __cdecl fmodf(float, float);
103
104#else
105
106#define sinf(x) ((float)sin((double)(x)))
107#define cosf(x) ((float)cos((double)(x)))
108#define tanf(x) ((float)tan((double)(x)))
109#define sinhf(x) ((float)sinh((double)(x)))
110#define coshf(x) ((float)cosh((double)(x)))
111#define tanhf(x) ((float)tanh((double)(x)))
112#define asinf(x) ((float)asin((double)(x)))
113#define acosf(x) ((float)acos((double)(x)))
114#define atanf(x) ((float)atan((double)(x)))
115#define atan2f(x,y) ((float)atan2((double)(x), (double)(y)))
116#define expf(x) ((float)exp((double)(x)))
117#define logf(x) ((float)log((double)(x)))
118#define log10f(x) ((float)log10((double)(x)))
119#define powf(x,y) ((float)pow((double)(x), (double)(y)))
120#define sqrtf(x) ((float)sqrt((double)(x)))
121#define ceilf(x) ((float)ceil((double)(x)))
122#define floorf(x) ((float)floor((double)(x)))
123#define frexpf(x) ((float)frexp((double)(x)))
124#define modff(x,y) ((float)modf((double)(x), (double*)(y)))
125#define fmodf(x,y) ((float)fmod((double)(x), (double)(y)))
126
127#endif
128
129#define fabsf(x) ((float)fabs((double)(x)))
130#define ldexpf(x,y) ((float)ldexp((double)(x),(y)))
131
132float __cdecl hypotf(float, float);
133
134int __cdecl _matherr(struct _exception*);
135double __cdecl _cabs(struct _complex);
136
137#ifndef HUGE_VAL
138# if defined(__GNUC__) && (__GNUC__ >= 3)
139# define HUGE_VAL (__extension__ 0x1.0p2047)
140# else
141static const union {
142 unsigned char __c[8];
143 double __d;
144} __huge_val = { { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f } };
145# define HUGE_VAL (__huge_val.__d)
146# endif
147#endif
148
149#ifdef __cplusplus
150}
151#endif
152
153#include <poppack.h>
154
155#ifdef _USE_MATH_DEFINES
156#ifndef _MATH_DEFINES_DEFINED
157#define _MATH_DEFINES_DEFINED
158#define M_E 2.71828182845904523536
159#define M_LOG2E 1.44269504088896340736
160#define M_LOG10E 0.434294481903251827651
161#define M_LN2 0.693147180559945309417
162#define M_LN10 2.30258509299404568402
163#define M_PI 3.14159265358979323846
164#define M_PI_2 1.57079632679489661923
165#define M_PI_4 0.785398163397448309616
166#define M_1_PI 0.318309886183790671538
167#define M_2_PI 0.636619772367581343076
168#define M_2_SQRTPI 1.12837916709551257390
169#define M_SQRT2 1.41421356237309504880
170#define M_SQRT1_2 0.707106781186547524401
171#endif /* !_MATH_DEFINES_DEFINED */
172#endif /* _USE_MATH_DEFINES */
173
174#endif /* __WINE_MATH_H */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette