Cyclone Scheme  0.20

◆ return_copy

#define return_copy (   ptr,
 
)
Value:
{ \
tag_type t; \
object obj = o; \
if (!is_object_type(obj)) \
return obj; \
t = type_of(obj); \
if (t == double_tag) { \
((common_type *)ptr)->double_t.hdr.mark = gc_color_red; \
((common_type *)ptr)->double_t.hdr.grayed = 0; \
((common_type *)ptr)->double_t.tag = double_tag; \
((common_type *)ptr)->double_t.value = double_value(obj); \
return ptr; \
} else { \
return obj; \
} \
}
#define gc_color_red
Definition: types.h:296
Definition: types.h:58
#define type_of(obj)
Definition: types.h:91
#define double_value(x)
Definition: types.h:908
A union of all the constant-size objects.
Definition: types.h:1476
#define is_object_type(x)
Definition: types.h:643