guile-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile/guile-core/libguile unif.h


From: Marius Vollmer
Subject: guile/guile-core/libguile unif.h
Date: Sun, 25 Nov 2001 10:16:34 -0500

CVSROOT:        /cvs
Module name:    guile
Changes by:     Marius Vollmer <address@hidden> 01/11/25 10:16:34

Modified files:
        guile-core/libguile: unif.h 

Log message:
        (SCM_MAKE_BITVECTOR_TAG, SCM_MAKE_UVECTOR_TAG): New.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/unif.h.diff?cvsroot=OldCVS&tr1=1.45&tr2=1.46&r1=text&r2=text

Patches:
Index: guile/guile-core/libguile/unif.h
diff -u guile/guile-core/libguile/unif.h:1.45 
guile/guile-core/libguile/unif.h:1.46
--- guile/guile-core/libguile/unif.h:1.45       Thu Nov  1 19:19:11 2001
+++ guile/guile-core/libguile/unif.h    Sun Nov 25 10:16:34 2001
@@ -96,14 +96,16 @@
 #define SCM_SET_UVECTOR_BASE(v, b) (SCM_SET_CELL_WORD_1 ((v), (b)))
 #define SCM_UVECTOR_MAX_LENGTH SCM_I_MAX_LENGTH
 #define SCM_UVECTOR_LENGTH(x) (((unsigned long) SCM_CELL_WORD_0 (x)) >> 8)
-#define SCM_SET_UVECTOR_LENGTH(v, l, t) (SCM_SET_CELL_WORD_0 ((v), ((l) << 8) 
+ (t)))
+#define SCM_MAKE_UVECTOR_TAG(l,t)  (((l) << 8) + (t))
+#define SCM_SET_UVECTOR_LENGTH(v, l, t) (SCM_SET_CELL_WORD_0 ((v), 
SCM_MAKE_UVECTOR_TAG(l,t)))
 
 #define SCM_BITVECTOR_P(x) (!SCM_IMP (x) && (SCM_TYP7 (x) == scm_tc7_bvect))
 #define SCM_BITVECTOR_BASE(x) ((unsigned long *) (SCM_CELL_WORD_1 (x)))
 #define SCM_SET_BITVECTOR_BASE(v, b) (SCM_SET_CELL_WORD_1 ((v), (b)))
 #define SCM_BITVECTOR_MAX_LENGTH SCM_I_MAX_LENGTH
 #define SCM_BITVECTOR_LENGTH(x) (((unsigned long) SCM_CELL_WORD_0 (x)) >> 8)
-#define SCM_SET_BITVECTOR_LENGTH(v, l) (SCM_SET_CELL_WORD_0 ((v), ((l) << 8) + 
scm_tc7_bvect))
+#define SCM_MAKE_BITVECTOR_TAG(l)  (((l) << 8) + scm_tc7_bvect)
+#define SCM_SET_BITVECTOR_LENGTH(v, l) (SCM_SET_CELL_WORD_0 ((v), 
SCM_MAKE_BITVECTOR_TAG (l)))
 
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]