libg722_1
0.0.1
Main Page
Related Pages
Classes
Files
File List
File Members
tgmath.h
1
/*
2
* SpanDSP - a series of DSP components for telephony
3
*
4
* tgmath.h - a fudge for MSVC, which lacks this header
5
*
6
* Written by Steve Underwood <steveu@coppice.org>
7
*
8
* Copyright (C) 2006 Michael Jerris
9
*
10
*
11
* This file is released in the public domain.
12
*
13
*/
14
15
#if !defined(_TGMATH_H_)
16
#define _TGMATH_H_
17
18
#include <math.h>
19
20
#if !defined(M_PI)
21
/* C99 systems may not define M_PI */
22
#define M_PI 3.14159265358979323846264338327
23
#endif
24
25
26
#ifdef __cplusplus
27
extern
"C"
{
28
#endif
29
30
/* A kindofa rint() for VC++ (only kindofa, because rint should be type generic,
31
and this one is purely float to int */
32
static
inline
long
int
lrintf(
float
a)
33
{
34
long
int
i;
35
36
__asm
37
{
38
fld a
39
fistp i
40
}
41
return
i;
42
}
43
44
static
inline
long
int
lrint(
double
a)
45
{
46
long
int
i;
47
48
__asm
49
{
50
fld a
51
fistp i
52
}
53
return
i;
54
}
55
56
static
inline
int
rintf(
float
a)
57
{
58
int
i;
59
60
__asm
61
{
62
fld a
63
fistp i
64
}
65
return
i;
66
}
67
68
static
inline
int
rint(
double
a)
69
{
70
int
i;
71
72
__asm
73
{
74
fld a
75
fistp i
76
}
77
return
i;
78
}
79
80
#ifdef __cplusplus
81
}
82
#endif
83
84
#endif
src
msvc
tgmath.h
Generated by
1.8.5