00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #if !defined(_TGMATH_H_)
00016 #define _TGMATH_H_
00017
00018 #include <math.h>
00019
00020 #if !defined(M_PI)
00021
00022 #define M_PI 3.14159265358979323846264338327
00023 #endif
00024
00025
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029
00030
00031
00032 static inline long int lrintf(float a)
00033 {
00034 long int i;
00035
00036 __asm
00037 {
00038 fld a
00039 fistp i
00040 }
00041 return i;
00042 }
00043
00044 static inline long int lrint(double a)
00045 {
00046 long int i;
00047
00048 __asm
00049 {
00050 fld a
00051 fistp i
00052 }
00053 return i;
00054 }
00055
00056 static inline int rintf(float a)
00057 {
00058 int i;
00059
00060 __asm
00061 {
00062 fld a
00063 fistp i
00064 }
00065 return i;
00066 }
00067
00068 static inline int rint(double a)
00069 {
00070 int i;
00071
00072 __asm
00073 {
00074 fld a
00075 fistp i
00076 }
00077 return i;
00078 }
00079
00080 #ifdef __cplusplus
00081 }
00082 #endif
00083
00084 #endif