Cyclone Scheme  0.28.0

◆ 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; \
} \
}
gc_color_red
#define gc_color_red
Definition: types.h:297
double_value
#define double_value(x)
Definition: types.h:910
double_tag
@ double_tag
Definition: types.h:58
is_object_type
#define is_object_type(x)
Definition: types.h:644
type_of
#define type_of(obj)
Definition: types.h:92
common_type
A union of all the constant-size objects.
Definition: types.h:1497