1 /** machine.h version for vc++ **/
2 /* Copyright INRIA/ENPC */
9 /* Define if trailing underscores */
12 /* Define if use sharpsigns */
13 #define USE_SHARP_SIGN 1
15 /* Define if have exp10 */
16 /* #undef HAVE_EXP10 */
18 /* Define if have strerror: used in fileio/misc.c */
19 #define HAVE_STRERROR 1
21 /* Define if have termcap library */
22 #define HAVE_TERMCAP 1
24 /* CNAME(x,y) ==> xy **/
26 #if defined(USE_SHARP_SIGN)
27 #define CNAME(name1,name2) name1##name2
29 #define CNAME(name1,name2) name1/**/name2
32 /* Define C2F and F2C entry point conversion */
34 #if defined(USE_SHARP_SIGN)
35 #define C2F(name) name##_
36 #define F2C(name) name##_
38 #define C2F(name) name/**/_
39 #define F2C(name) name/**/_
42 #define C2F(name) name
43 #define F2C(name) name
46 /* Define some functions */
48 #if !defined(HAVE_EXP10)
49 /* #define exp10(x) pow( (double)10.0, (x) ) */
50 /* much faster than using pow */
51 #define log_10_ 2.3025850929940456840179914546844 /* log(10) */
52 #define exp10(x) exp( (log_10_) * (x) )
55 #if !defined(HAVE_GETWD)
56 #define getwd(x) getcwd(x,1024) /* you must define char x[1024] */
60 Define integer C type which must fit Fortran integer
61 For Scilab to work, the rule is:
62 size of Fortran double precision = 2 * size of Fortran integer
64 At the present time, we suppose:
65 size of Fortran integer = 4 bytes
66 size of Fortran double precision = 8 bytes
67 size of C int = 4 bytes
70 #define SHARED_LIB_EXT ".dll"
71 #define SHARED_LIB_EXTW L".dll"
73 /* PATH_SEPARATOR : Under Windows by default is ; */
74 #define PATH_SEPARATOR ";"
76 /* DIR_SEPARATOR : Under Windows by default is \ */
77 #define DIR_SEPARATOR "\\"
78 #define DIR_SEPARATORW L"\\"
80 #define HAVE_LIBINTL_H
82 #if defined( __INTEL_COMPILER) && !defined(_WIN64)
83 #define va_copy(x,y) (x=(y))
91 #endif /* MACHINE_H */