HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SYS_FastMath.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: SYS_FastMath.h ( SYS Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __SYS_FastMath__
12 #define __SYS_FastMath__
13 
14 #include "SYS_API.h"
15 
16 namespace SYS_FastMath
17 {
18 #if defined(__GNUC__)
19  static inline double ldexp(double x, int exp) { return __builtin_ldexp(x, exp); }
20  static inline float ldexpf(float x, int exp) { return __builtin_ldexpf(x, exp); }
21 
22  static inline double fabs(double x) { return __builtin_fabs(x); }
23  static inline float fabsf(float x) { return __builtin_fabsf(x); }
24 
25  static inline double sqrt(double x) { return __builtin_sqrt(x); }
26  static inline float sqrtf(float x) { return __builtin_sqrtf(x); }
27 #endif
28 
29  SYS_API double fmod(double x, double y);
30  SYS_API float fmodf(float x, float y);
31 
32  SYS_API double pow(double x, double y);
33  SYS_API float powf(float x, float y);
34 
35  SYS_API double trunc(double x);
36  SYS_API float truncf(float x);
37 
38  SYS_API double exp(double x);
39  SYS_API float expf(float x);
40 
41  SYS_API double expm1(double x);
42  SYS_API float expm1f(float x);
43 
44  SYS_API double log(double x);
45  SYS_API float logf(float x);
46 
47  SYS_API double log10(double x);
48  SYS_API float log10f(float x);
49 
50  SYS_API double log1p(double x);
51  SYS_API float log1pf(float x);
52 
53  SYS_API double cos(double x);
54  SYS_API float cosf(float x);
55 
56  SYS_API double cosh(double x);
57  SYS_API float coshf(float x);
58 
59  SYS_API double acos(double x);
60  SYS_API float acosf(float x);
61 
62  SYS_API double acosh(double x);
63  SYS_API float acoshf(float x);
64 
65  SYS_API double sin(double x);
66  SYS_API float sinf(float x);
67 
68  SYS_API double sinh(double x);
69  SYS_API float sinhf(float x);
70 
71  SYS_API double asin(double x);
72  SYS_API float asinf(float x);
73 
74  SYS_API double asinh(double x);
75  SYS_API float asinhf(float x);
76 
77  SYS_API double tan(double x);
78  SYS_API float tanf(float x);
79 
80  SYS_API double tanh(double x);
81  SYS_API float tanhf(float x);
82 
83  SYS_API double atan(double x);
84  SYS_API float atanf(float x);
85 
86  SYS_API double atanh(double x);
87  SYS_API float atanhf(float x);
88 
89  SYS_API double atan2(double y, double x);
90  SYS_API float atan2f(float y, float x);
91 
92  SYS_API double hypot(double x, double y);
93  SYS_API float hypotf(float x, float y);
94 
95  SYS_API void sincos(double x, double *s, double *c);
96  SYS_API void sincosf(float x, float *s, float *c);
97 
98  SYS_API double copysign(double x, double y);
99  SYS_API float copysignf(float x, float y);
100 };
101 
102 #endif // __SYS_FastMath__
SYS_API float acosf(float x)
SYS_API double asinh(double x)
SYS_API double cos(double x)
Definition: SYS_FPUMath.h:69
SYS_API float coshf(float x)
SYS_API double fmod(double x, double y)
Definition: SYS_FPUMath.h:85
SYS_API double atan2(double y, double x)
Definition: SYS_FPUMath.h:79
SYS_API double expm1(double x)
Definition: SYS_FPUMath.h:95
SYS_API float expf(float x)
SYS_API float log1pf(float x)
SYS_API void sincos(double x, double *s, double *c)
Definition: fmath.h:717
vfloat4 sqrt(const vfloat4 &a)
Definition: simd.h:7481
GLdouble s
Definition: glad.h:3009
SYS_API float atan2f(float y, float x)
SYS_API float powf(float x, float y)
GLint y
Definition: glcorearb.h:103
SYS_API float truncf(float x)
SYS_API double log10(double x)
Definition: SYS_FPUMath.h:89
SYS_API double pow(double x, double y)
Definition: SYS_FPUMath.h:101
SYS_API float sinf(float x)
SYS_API float log10f(float x)
SYS_API float hypotf(float x, float y)
SYS_API double log(double x)
Definition: SYS_FPUMath.h:87
SYS_API float acoshf(float x)
SYS_API double asin(double x)
Definition: SYS_FPUMath.h:81
SYS_API double acosh(double x)
SYS_API double sinh(double x)
SYS_API double copysign(double x, double y)
SYS_API float atanf(float x)
SYS_API double cosh(double x)
SYS_API void sincosf(float x, float *s, float *c)
SYS_API double exp(double x)
Definition: SYS_FPUMath.h:97
SYS_API float logf(float x)
SYS_API double acos(double x)
Definition: SYS_FPUMath.h:83
SYS_API double trunc(double x)
SYS_API double hypot(double x, double y)
GLint GLenum GLint x
Definition: glcorearb.h:409
SYS_API double log1p(double x)
Definition: SYS_FPUMath.h:93
SYS_API double tanh(double x)
Definition: SYS_FPUMath.h:103
SYS_API double tan(double x)
Definition: SYS_FPUMath.h:75
SYS_API float fmodf(float x, float y)
SYS_API float sinhf(float x)
SYS_API float copysignf(float x, float y)
SYS_API double atan(double x)
Definition: SYS_FPUMath.h:77
SYS_API float asinhf(float x)
SYS_API float asinf(float x)
#define SYS_API
Definition: SYS_API.h:11
SYS_API float expm1f(float x)
SYS_API float tanf(float x)
SYS_API double atanh(double x)
SYS_API float tanhf(float x)
SYS_API float cosf(float x)
SYS_API double sin(double x)
Definition: SYS_FPUMath.h:71
SYS_API float atanhf(float x)