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

*To*: srfi-33@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*Subject*: various comments*From*: Marc Feeley <feeley@xxxxxxxxxxxxxxxx>*Date*: Thu, 18 Jul 2002 09:52:40 -0400*Delivered-to*: srfi-33@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*Full-name*: Marc Feeley

Nice work Olin! In fact Gambit-C is already almost 100% compliant with SRFI 33. Here are my first comments. > Associative -- n-ary operators, for n >= 0 > bitwise-and i ... > bitwise-ior i ... Inclusive or > bitwise-xor i ... Exclusive or > bitwise-eqv i ... (not (i xor j)) This would be clearer: bitwise-eqv i ... (lambda args (bitwise-not (apply bitwise-xor args))) > Non-associative -- exactly two arguments > bitwise-nand i j (not (and i j)) > bitwise-nor i j (not (ior i j)) > bitwise-andc1 i j (and (not i) j) > bitwise-andc2 i j (and i (not j)) > bitwise-orc1 i j (ior (not i) j) > bitwise-orc2 i j (ior i (not j)) I don't understand why bitwise-nand and bitwise-nor are not n-ary. Also, this would be clearer: bitwise-nand i ... (lambda args (bitwise-not (apply bitwise-and args))) etc. > Trivial, hence not provided > bitwise-const0 i j (lambda (i j) 0) > bitwise-const1 i j (lambda (i j) -1) > bitwise-arg1 i j (lambda (i j) i) > bitwise-arg2 i j (lambda (i j) j) > bitwise-not1 i j (lambda (i j) (bitwise-not i)) > bitwise-not2 i j (lambda (i j) (bitwise-not j)) Given that these are so trivial, I would suggest that they be included in the SRFI. > arithmetic-shift i count -> exact-integer > Arithmetic left shift when COUNT>0; right shift when COUNT<0. Given that there is no logical shift, wouldn't it be better to call this simply "shift" or "integer-shift". I think the "arithmetic" prefix is confusing. > insert-bit-field size position new-field i -> exact-integer How about "replace-bit-field"? Marc

- Next by Date:
**bit operations in Kawa** - Next by thread:
**bit operations in Kawa** - Index(es):