aboutsummaryrefslogtreecommitdiffstats
path: root/src/data.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c42
1 files changed, 21 insertions, 21 deletions
diff --git a/src/data.c b/src/data.c
index 2c789f37431..33dd11049ec 100644
--- a/src/data.c
+++ b/src/data.c
@@ -3018,62 +3018,62 @@ enum bool_vector_op { bool_vector_exclusive_or,
3018 bool_vector_subsetp }; 3018 bool_vector_subsetp };
3019 3019
3020static Lisp_Object 3020static Lisp_Object
3021bool_vector_binop_driver (Lisp_Object op1, 3021bool_vector_binop_driver (Lisp_Object a,
3022 Lisp_Object op2, 3022 Lisp_Object b,
3023 Lisp_Object dest, 3023 Lisp_Object dest,
3024 enum bool_vector_op op) 3024 enum bool_vector_op op)
3025{ 3025{
3026 EMACS_INT nr_bits; 3026 EMACS_INT nr_bits;
3027 bits_word *adata, *bdata, *cdata; 3027 bits_word *adata, *bdata, *destdata;
3028 ptrdiff_t i = 0; 3028 ptrdiff_t i = 0;
3029 ptrdiff_t nr_words; 3029 ptrdiff_t nr_words;
3030 3030
3031 CHECK_BOOL_VECTOR (op1); 3031 CHECK_BOOL_VECTOR (a);
3032 CHECK_BOOL_VECTOR (op2); 3032 CHECK_BOOL_VECTOR (b);
3033 3033
3034 nr_bits = bool_vector_size (op1); 3034 nr_bits = bool_vector_size (a);
3035 if (bool_vector_size (op2) != nr_bits) 3035 if (bool_vector_size (b) != nr_bits)
3036 wrong_length_argument (op1, op2, dest); 3036 wrong_length_argument (a, b, dest);
3037 3037
3038 nr_words = bool_vector_words (nr_bits); 3038 nr_words = bool_vector_words (nr_bits);
3039 bdata = bool_vector_data (op1); 3039 adata = bool_vector_data (a);
3040 cdata = bool_vector_data (op2); 3040 bdata = bool_vector_data (b);
3041 3041
3042 if (NILP (dest)) 3042 if (NILP (dest))
3043 { 3043 {
3044 dest = make_uninit_bool_vector (nr_bits); 3044 dest = make_uninit_bool_vector (nr_bits);
3045 adata = bool_vector_data (dest); 3045 destdata = bool_vector_data (dest);
3046 } 3046 }
3047 else 3047 else
3048 { 3048 {
3049 CHECK_BOOL_VECTOR (dest); 3049 CHECK_BOOL_VECTOR (dest);
3050 adata = bool_vector_data (dest); 3050 destdata = bool_vector_data (dest);
3051 if (bool_vector_size (dest) != nr_bits) 3051 if (bool_vector_size (dest) != nr_bits)
3052 wrong_length_argument (op1, op2, dest); 3052 wrong_length_argument (a, b, dest);
3053 3053
3054 switch (op) 3054 switch (op)
3055 { 3055 {
3056 case bool_vector_exclusive_or: 3056 case bool_vector_exclusive_or:
3057 while (adata[i] == (bdata[i] ^ cdata[i])) 3057 while (destdata[i] == (adata[i] ^ bdata[i]))
3058 if (! (++i < nr_words)) 3058 if (! (++i < nr_words))
3059 return Qnil; 3059 return Qnil;
3060 break; 3060 break;
3061 3061
3062 case bool_vector_subsetp: 3062 case bool_vector_subsetp:
3063 case bool_vector_union: 3063 case bool_vector_union:
3064 while (adata[i] == (bdata[i] | cdata[i])) 3064 while (destdata[i] == (adata[i] | bdata[i]))
3065 if (! (++i < nr_words)) 3065 if (! (++i < nr_words))
3066 return Qnil; 3066 return Qnil;
3067 break; 3067 break;
3068 3068
3069 case bool_vector_intersection: 3069 case bool_vector_intersection:
3070 while (adata[i] == (bdata[i] & cdata[i])) 3070 while (destdata[i] == (adata[i] & bdata[i]))
3071 if (! (++i < nr_words)) 3071 if (! (++i < nr_words))
3072 return Qnil; 3072 return Qnil;
3073 break; 3073 break;
3074 3074
3075 case bool_vector_set_difference: 3075 case bool_vector_set_difference:
3076 while (adata[i] == (bdata[i] &~ cdata[i])) 3076 while (destdata[i] == (adata[i] &~ bdata[i]))
3077 if (! (++i < nr_words)) 3077 if (! (++i < nr_words))
3078 return Qnil; 3078 return Qnil;
3079 break; 3079 break;
@@ -3084,7 +3084,7 @@ bool_vector_binop_driver (Lisp_Object op1,
3084 { 3084 {
3085 case bool_vector_exclusive_or: 3085 case bool_vector_exclusive_or:
3086 do 3086 do
3087 adata[i] = bdata[i] ^ cdata[i]; 3087 destdata[i] = adata[i] ^ bdata[i];
3088 while (++i < nr_words); 3088 while (++i < nr_words);
3089 break; 3089 break;
3090 3090
@@ -3093,19 +3093,19 @@ bool_vector_binop_driver (Lisp_Object op1,
3093 3093
3094 case bool_vector_union: 3094 case bool_vector_union:
3095 do 3095 do
3096 adata[i] = bdata[i] | cdata[i]; 3096 destdata[i] = adata[i] | bdata[i];
3097 while (++i < nr_words); 3097 while (++i < nr_words);
3098 break; 3098 break;
3099 3099
3100 case bool_vector_intersection: 3100 case bool_vector_intersection:
3101 do 3101 do
3102 adata[i] = bdata[i] & cdata[i]; 3102 destdata[i] = adata[i] & bdata[i];
3103 while (++i < nr_words); 3103 while (++i < nr_words);
3104 break; 3104 break;
3105 3105
3106 case bool_vector_set_difference: 3106 case bool_vector_set_difference:
3107 do 3107 do
3108 adata[i] = bdata[i] &~ cdata[i]; 3108 destdata[i] = adata[i] &~ bdata[i];
3109 while (++i < nr_words); 3109 while (++i < nr_words);
3110 break; 3110 break;
3111 } 3111 }