19
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24
29
#if (SCM_ENABLE_DISCOURAGED == 1)
26
#define DEFFROM(t,f1,f2) SCM f1(t x) { return f2 (x); }
27
#define DEFTO(t,f1,f2) t f1(SCM x, unsigned long pos, const char *s_caller) \
30
DEFFROM (short, scm_short2num, scm_from_short);
31
DEFFROM (unsigned short, scm_ushort2num, scm_from_ushort);
32
DEFFROM (int, scm_int2num, scm_from_int);
33
DEFFROM (unsigned int, scm_uint2num, scm_from_uint);
34
DEFFROM (long, scm_long2num, scm_from_long);
35
DEFFROM (unsigned long, scm_ulong2num, scm_from_ulong);
36
DEFFROM (size_t, scm_size2num, scm_from_size_t);
37
DEFFROM (ptrdiff_t, scm_ptrdiff2num, scm_from_ssize_t);
39
DEFTO (short, scm_num2short, scm_to_short);
40
DEFTO (unsigned short, scm_num2ushort, scm_to_ushort);
41
DEFTO (int, scm_num2int, scm_to_int);
42
DEFTO (unsigned int, scm_num2uint, scm_to_uint);
43
DEFTO (long, scm_num2long, scm_to_long);
44
DEFTO (unsigned long, scm_num2ulong, scm_to_ulong);
45
DEFTO (size_t, scm_num2size, scm_to_size_t);
46
DEFTO (ptrdiff_t, scm_num2ptrdiff, scm_to_ssize_t);
32
scm_short2num (short x)
34
return scm_from_short (x);
38
scm_ushort2num (unsigned short x)
40
return scm_from_ushort (x);
46
return scm_from_int (x);
50
scm_uint2num (unsigned int x)
52
return scm_from_uint (x);
58
return scm_from_long (x);
62
scm_ulong2num (unsigned long x)
64
return scm_from_ulong (x);
68
scm_size2num (size_t x)
70
return scm_from_size_t (x);
74
scm_ptrdiff2num (ptrdiff_t x)
76
return scm_from_ssize_t (x);
80
scm_num2short (SCM x, unsigned long pos, const char *s_caller)
82
return scm_to_short (x);
86
scm_num2ushort (SCM x, unsigned long pos, const char *s_caller)
88
return scm_to_ushort (x);
92
scm_num2int (SCM x, unsigned long pos, const char *s_caller)
94
return scm_to_int (x);
98
scm_num2uint (SCM x, unsigned long pos, const char *s_caller)
100
return scm_to_uint (x);
104
scm_num2long (SCM x, unsigned long pos, const char *s_caller)
106
return scm_to_long (x);
110
scm_num2ulong (SCM x, unsigned long pos, const char *s_caller)
112
return scm_to_ulong (x);
116
scm_num2size (SCM x, unsigned long pos, const char *s_caller)
118
return scm_to_size_t (x);
122
scm_num2ptrdiff (SCM x, unsigned long pos, const char *s_caller)
124
return scm_to_ssize_t (x);
48
127
#if SCM_SIZEOF_LONG_LONG != 0
49
DEFFROM (long long, scm_long_long2num, scm_from_long_long);
50
DEFFROM (unsigned long long, scm_ulong_long2num, scm_from_ulong_long);
51
DEFTO (long long, scm_num2long_long, scm_to_long_long);
52
DEFTO (unsigned long long, scm_num2ulong_long, scm_to_ulong_long);
130
scm_long_long2num (long long x)
132
return scm_from_long_long (x);
136
scm_ulong_long2num (unsigned long long x)
138
return scm_from_ulong_long (x);
142
scm_num2long_long (SCM x, unsigned long pos, const char *s_caller)
144
return scm_to_long_long (x);
148
scm_num2ulong_long (SCM x, unsigned long pos, const char *s_caller)
150
return scm_to_ulong_long (x);