e2faad97f12f6bc6ae3f5bc8ff374c87d6a5a83a
[scilab.git] / scilab / modules / core / includes / machine.h.vc
1 /** machine.h version for vc++ **/
2 /* Copyright INRIA/ENPC */
3
4 #ifndef MACHINE_H
5 #define MACHINE_H
6
7 #include <math.h>
8
9 /* Define if trailing underscores */
10 #define WTU 1
11
12 /* Define if use sharpsigns */
13 #define USE_SHARP_SIGN 1
14
15 /* Define if have exp10 */
16 /* #undef HAVE_EXP10 */
17
18 /* Define if have getwd */
19 #define HAVE_GETWD 1
20
21 /* Define if have strerror: used in fileio/misc.c */
22 #define HAVE_STRERROR 1
23
24 /* Define if have termcap library */
25 #define HAVE_TERMCAP 1
26
27 /* CNAME(x,y) ==> xy **/
28
29 #if defined(USE_SHARP_SIGN)
30 #define CNAME(name1,name2) name1##name2
31 #else
32 #define CNAME(name1,name2) name1/**/name2
33 #endif
34
35 /* Define  C2F and F2C entry point conversion */
36 #if defined(WTU)
37 #if defined(USE_SHARP_SIGN)
38 #define C2F(name) name##_
39 #define F2C(name) name##_
40 #else
41 #define C2F(name) name/**/_
42 #define F2C(name) name/**/_
43 #endif
44 #else
45 #define C2F(name) name
46 #define F2C(name) name
47 #endif
48
49 /* Define some functions */
50
51 #if !defined(HAVE_EXP10)
52 /* #define exp10(x) pow( (double)10.0, (x) ) */
53 /* much faster than using pow */
54 #define log_10_ 2.3025850929940456840179914546844 /* log(10) */
55 #define exp10(x) exp( (log_10_) * (x) )
56 #endif
57
58 #if !defined(HAVE_GETWD)
59 #define getwd(x) getcwd(x,1024) /* you must define char x[1024] */
60 #endif
61
62 /*
63    Define integer C type which must fit Fortran integer
64    For Scilab to work, the rule is:
65           size of Fortran double precision = 2 * size of Fortran integer
66
67    At the present time, we suppose:
68        size of Fortran integer = 4 bytes
69        size of Fortran double precision = 8 bytes
70        size of C int = 4 bytes
71 */
72
73 #define SHARED_LIB_EXT ".dll"
74 #define SHARED_LIB_EXTW L".dll"
75
76 /* PATH_SEPARATOR : Under Windows by default is ; */
77 #define PATH_SEPARATOR ";"
78
79 /* DIR_SEPARATOR : Under Windows by default is \ */
80 #define DIR_SEPARATOR "\\"
81 #define DIR_SEPARATORW L"\\"
82
83 #define HAVE_LIBINTL_H
84
85 #if defined( __INTEL_COMPILER) && !defined(_WIN64)
86 #define va_copy(x,y) (x=(y))
87 #endif
88
89 #define SIZEOF_INT 4
90 #define SIZEOF_LONG 4
91
92 #define bsiz 4096
93
94 #endif /* MACHINE_H  */