Mercurial > projects > ldc
comparison dmd/root/port.h @ 1194:1853dcd9b944
Moved some DMDFE files into a seperate dmd/root subdir to closer match the DMD file structure since 1.041.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Fri, 03 Apr 2009 17:02:52 +0200 |
parents | dmd/port.h@c53b6e3fe49a |
children | e961851fb8be |
comparison
equal
deleted
inserted
replaced
1193:c271eca933fb | 1194:1853dcd9b944 |
---|---|
1 | |
2 // Copyright (c) 1999-2002 by Digital Mars | |
3 // All Rights Reserved | |
4 // written by Walter Bright | |
5 // www.digitalmars.com | |
6 | |
7 #ifndef PORT_H | |
8 #define PORT_H | |
9 | |
10 // Portable wrapper around compiler/system specific things. | |
11 // The idea is to minimize #ifdef's in the app code. | |
12 | |
13 #ifndef TYPEDEFS | |
14 #define TYPEDEFS | |
15 | |
16 #include <wchar.h> | |
17 | |
18 #if _MSC_VER | |
19 typedef __int64 longlong; | |
20 typedef unsigned __int64 ulonglong; | |
21 #else | |
22 typedef long long longlong; | |
23 typedef unsigned long long ulonglong; | |
24 #endif | |
25 | |
26 #endif | |
27 | |
28 typedef double d_time; | |
29 | |
30 struct Port | |
31 { | |
32 static double nan; | |
33 static double infinity; | |
34 static double dbl_max; | |
35 static double dbl_min; | |
36 | |
37 #if __GNUC__ | |
38 // These conflict with macros in math.h, should rename them | |
39 #undef isnan | |
40 #undef isfinite | |
41 #undef isinfinity | |
42 #undef signbit | |
43 #endif | |
44 static int isNan(double); | |
45 static int isFinite(double); | |
46 static int isInfinity(double); | |
47 static int Signbit(double); | |
48 | |
49 static double floor(double); | |
50 static double pow(double x, double y); | |
51 | |
52 static ulonglong strtoull(const char *p, char **pend, int base); | |
53 | |
54 static char *ull_to_string(char *buffer, ulonglong ull); | |
55 static wchar_t *ull_to_string(wchar_t *buffer, ulonglong ull); | |
56 | |
57 // Convert ulonglong to double | |
58 static double ull_to_double(ulonglong ull); | |
59 | |
60 // Get locale-dependent list separator | |
61 static char *list_separator(); | |
62 static wchar_t *wlist_separator(); | |
63 }; | |
64 | |
65 #endif |