Changeset 31506 in project


Ignore:
Timestamp:
09/25/14 23:29:07 (5 years ago)
Author:
sjamaan
Message:

Add fixnum specializations (not going to help though)

Location:
release/4/numbers/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • release/4/numbers/trunk/numbers-c.c

    r31504 r31506  
    20872087  if (x & C_FIXNUM_BIT) {
    20882088    if (y & C_FIXNUM_BIT) {
    2089       C_kontinue(k, C_fix(C_unfix(x) & C_unfix(y)));
     2089      C_kontinue(k, C_u_fixnum_and(x, y));
    20902090    } else {
    20912091      x = C_a_u_i_fix_to_big(&a, x);
     
    21042104  if (x & C_FIXNUM_BIT) {
    21052105    if (y & C_FIXNUM_BIT) {
    2106       C_kontinue(k, C_fix(C_unfix(x) | C_unfix(y)));
     2106      C_kontinue(k, C_u_fixnum_or(x, y));
    21072107    } else {
    21082108      x = C_a_u_i_fix_to_big(&a, x);
     
    21212121  if (x & C_FIXNUM_BIT) {
    21222122    if (y & C_FIXNUM_BIT) {
    2123       C_kontinue(k, C_fix(C_unfix(x) ^ C_unfix(y)));
     2123      C_kontinue(k, C_u_fixnum_xor(x, y));
    21242124    } else {
    21252125      x = C_a_u_i_fix_to_big(&a, x);
  • release/4/numbers/trunk/numbers.types

    r31504 r31506  
    559559           (((struct bignum)) ((struct bignum)) #(1))
    560560           (((or fixnum (struct bignum))) #(1))
    561            ((fixnum fixnum) (fixnum) (numbers#@integer-2-bitwise-and #(1) #(2)))
     561           ((fixnum fixnum) (fixnum)
     562            (##core#inline "C_u_fixnum_and" #(1) #(2)))
    562563           (((struct bignum) (struct bignum)) ((struct bignum))
    563564            (numbers#@integer-2-bitwise-and #(1) #(2)))
     
    570571           (((struct bignum)) ((struct bignum)) #(1))
    571572           (((or fixnum (struct bignum))) #(1))
    572            ((fixnum fixnum) (fixnum) (numbers#@integer-2-bitwise-ior #(1) #(2)))
     573           ((fixnum fixnum) (fixnum)
     574            (##core#inline "C_u_fixnum_or" #(1) #(2)))
    573575           (((struct bignum) (struct bignum)) ((struct bignum))
    574576            (numbers#@integer-2-bitwise-ior #(1) #(2)))
     
    581583           (((struct bignum)) ((struct bignum)) #(1))
    582584           (((or fixnum (struct bignum))) #(1))
    583            ((fixnum fixnum) (fixnum) (numbers#@integer-2-bitwise-xor #(1) #(2)))
     585           ((fixnum fixnum) (fixnum)
     586            (##core#inline "C_fixnum_xor" #(1) #(2)))
    584587           (((struct bignum) (struct bignum)) ((struct bignum))
    585588            (numbers#@integer-2-bitwise-xor #(1) #(2)))
Note: See TracChangeset for help on using the changeset viewer.