Changeset 8595 in project


Ignore:
Timestamp:
02/20/08 23:25:36 (12 years ago)
Author:
Kon Lovett
Message:

Save.

Location:
release/3/mathh/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • release/3/mathh/trunk/bitwise-extras.scm

    r8594 r8595  
    248248  (##sys#check-integer obj loc) )
    249249
    250 (define-inline (check-non-negative-integer loc obj)
    251   (check-integer loc obj)
    252   (when (negative? obj)
     250(define-inline (check-fixnum loc obj)
     251  (unless (##core#inline "C_fixnump" obj)
    253252    (##sys#signal-hook #:type-error loc
    254      "bad argument type - not a non-negative integer" obj) ) )
    255 
    256 (define-inline (check-<= loc num1 num2)
    257   (when (< num2 num1)
     253                       "bad argument type - not a fixnum" obj) ) )
     254
     255(define-inline (check-non-negative-fixnum loc obj)
     256  (unless (and (##core#inline "C_fixnump" obj)
     257               (##core#inline "C_fixnum_less_or_equal_p" 0 obj))
    258258    (##sys#signal-hook #:type-error loc
    259      "bad argument type - not a valid interval" num1 num2) ) )
     259                       "bad argument type - not a non-negative fixnum" obj) ) )
     260
     261(define-inline (check-fixnum<= loc fx1 fx2)
     262  (unless (##core#inline "C_fixnum_less_or_equal_p" fx1 fx2)
     263    (##sys#signal-hook #:bounds-error loc
     264                       "not a fixnum interval" fx1 fx2) ) )
     265
     266(define-inline (check-word-bits loc fx)
     267  (unless (##core#inline "C_fixnum_less_or_equal_p" fx machine-word-bits)
     268    (##sys#signal-hook #:bounds-error loc
     269                       "out of integer range" fx) ) )
     270
     271(define %word-bits-end (##core#inline "C_fixnum_plus" machine-word-bits 1))
     272
     273(define-inline (check-word-bits+1 loc fx)
     274  (unless (##core#inline "C_fixnum_less_or_equal_p" fx %word-bits-end)
     275    (##sys#signal-hook #:bounds-error loc
     276                       "out of integer range" fx) ) )
    260277
    261278;;;
     
    319336(define %bitwise-rotate-bit-field
    320337  (foreign-lambda* integer ((integer value) (unsigned-int start) (unsigned-int end) (unsigned-int count))
    321     "#define ASH( n, s )  (0 < (s) ? (n) << (s) : (n) >> -(s))\n"
     338    "#define ASH( n, s )  ((0 < (s)) ? ((n) << (s)) : ((n) >> -(s)))\n"
    322339    "C_uword wid = end - start;\n"
    323340    "C_word cnt = count % wid;\n"
     
    325342    "C_uword fld = BITS( value, start, end );\n"
    326343    "return (((((msk & ASH( fld, cnt )) | ASH( fld, cnt - wid ))) << start)\n"
    327     "        | (value & ~ (msk << start)));\n"
     344    "           | (value & ~ (msk << start)));\n"
    328345    "#undef ASH"))
    329346
     
    343360
    344361(define (%bitwise-reverse value count)
    345   (let ([negval? (negative? value)])
    346     (do ([mask (if negval? (bitwise-not value) value) (arithmetic-shift mask -1)]
    347          [count (- count 1) (- count 1)]
    348          [revval 0 (bitwise-ior (arithmetic-shift revval 1) (bitwise-and 1 mask))])
    349         ((negative? count) (if negval? (bitwise-not revval) revval)) ) ) )
     362  (let ([negval? (##core#inline "C_i_negativep" value)])
     363    (do ([mask (if negval?
     364                   (##core#inline_allocate ("C_a_i_bitwise_not" 4) value)
     365                   value)
     366               (##core#inline_allocate ("C_a_i_arithmetic_shift" 4)
     367                mask
     368                -1)]
     369         [count (##core#inline "C_fixnum_difference" count 1)
     370                (##core#inline "C_fixnum_difference" count 1)]
     371         [revval 0
     372                 (##core#inline_allocate ("C_a_i_bitwise_ior" 4)
     373                  (##core#inline_allocate ("C_a_i_arithmetic_shift" 4)
     374                   revval
     375                   1)
     376                  (##core#inline_allocate ("C_a_i_bitwise_and" 4) 1 mask))] )
     377        [(##core#inline "C_i_negativep" count)
     378         (if negval?
     379             (##core#inline_allocate ("C_a_i_bitwise_not" 4) revval)
     380             revval ) ] ) ) )
    350381
    351382(define (%bitwise-reverse-bit-field value start end)
    352   (let* ([width (- end start)]
    353          [mask (bitwise-not (arithmetic-shift -1 width))]
    354          [field (bitwise-and mask (arithmetic-shift value (- start)))])
    355     (bitwise-ior (arithmetic-shift (%bitwise-reverse field width) start)
    356                  (bitwise-and (bitwise-not (arithmetic-shift mask start)) value)) ) )
    357 
    358 (define (%bitwise-list->integer lst)
     383  (let* ([width (##core#inline "C_fixnum_difference" end start)]
     384         [mask (##core#inline_allocate ("C_a_i_bitwise_not" 4)
     385                (##core#inline_allocate ("C_a_i_arithmetic_shift" 4)
     386                 -1
     387                 width))]
     388         [field (##core#inline_allocate ("C_a_i_bitwise_and" 4)
     389                 mask
     390                 (##core#inline_allocate ("C_a_i_arithmetic_shift" 4)
     391                  value
     392                  (##core#inline "C_fixnum_negate" start)))] )
     393    (##core#inline_allocate ("C_a_i_bitwise_ior" 4)
     394     (##core#inline_allocate ("C_a_i_arithmetic_shift" 4)
     395      (%bitwise-reverse field width)
     396      start)
     397     (##core#inline_allocate ("C_a_i_bitwise_and" 4)
     398      (##core#inline_allocate ("C_a_i_bitwise_not" 4)
     399       (##core#inline_allocate ("C_a_i_arithmetic_shift" 4)
     400        mask
     401        start))
     402      value)) ) )
     403
     404(define (%bitwise-list->integer lyst)
    359405  ; (list lsb .. msb)
    360   (let loop ([l lst] [i 0] [n 0])
    361     (if (null? l)
     406  (let loop ([l lyst]
     407             [i 0]
     408             [n 0])
     409    (if (eq? '() l)
    362410        n
    363         (loop (cdr l) (fx+ i 1) (%bitwise-copy-bit n i (%boolean->bit (car l)))) ) ) )
     411        (loop (##core#inline "C_i_cdr" l)
     412              (##core#inline "C_fixnum_plus" i 1)
     413              (%bitwise-copy-bit n i (%boolean->bit (##core#inline "C_i_car" l)))) ) ) )
    364414
    365415(define %bitwise-integer->list
    366416  (let ([zero-list (make-list machine-word-bits #f)])
    367     (lambda (value #!optional bitlen)
     417    (lambda (value . rest)
    368418      ; (list lsb .. msb)
    369419      (if (zero? value)
    370           (if bitlen
    371               (take zero-list bitlen)
    372               zero-list )
    373           (let ([bitlen (or bitlen (%bitwise-length value))])
    374             (let loop ([i 0] [l '()])
    375               (if (fx= bitlen i)
     420          (if (eq? '() rest)
     421              zero-list
     422              (take zero-list (##core#inline "C_i_car" rest)) )
     423          (let ([bitlen (if (eq? '() rest)
     424                            (%bitwise-length value)
     425                            (##core#inline "C_i_car" rest) ) ] )
     426            (let loop ([i 0]
     427                       [l '()])
     428              (if (##core#inline "C_eqp" bitlen i)
    376429                  l
    377                   (loop (fx+ i 1) (cons (%bitwise-bit-set? value i) l)) ) ) ) ) ) ) )
     430                  (loop (##core#inline "C_fixnum_plus" i 1)
     431                        (##core#inline_allocate ("C_a_i_cons" 3)
     432                         (%bitwise-bit-set? value i)
     433                         l)) ) ) ) ) ) ) )
    378434
    379435;;;
     
    425481(define (bitwise-bit-set? value index)
    426482  (check-integer 'bitwise-bit-set? value)
    427   (check-non-negative-integer 'bitwise-bit-set? index)
     483  (check-non-negative-fixnum 'bitwise-bit-set? index)
     484  (check-word-bits 'bitwise-bit-set? index)
    428485  (%bitwise-bit-set? value index))
    429486
    430487(define (bitwise-copy-bit to index bit)
    431488  (check-integer 'bitwise-copy-bit to)
    432   (check-non-negative-integer 'bitwise-copy-bit index)
     489  (check-non-negative-fixnum 'bitwise-copy-bit index)
     490  (check-word-bits 'bitwise-copy-bit index)
    433491  (%bitwise-copy-bit to index (boolean->bit bit)) )
    434492
    435493(define (bitwise-bit-field value start end)
    436494  (check-integer 'bitwise-bit-field value)
    437   (check-non-negative-integer 'bitwise-bit-field start)
    438   (check-non-negative-integer 'bitwise-bit-field end)
    439   (check-<= 'bitwise-bit-field start end)
     495  (check-non-negative-fixnum 'bitwise-bit-field start)
     496  (check-non-negative-fixnum 'bitwise-bit-field end)
     497  (check-fixnum<= 'bitwise-bit-field start end)
     498  (check-word-bits 'bitwise-bit-field start)
     499  (check-word-bits+1 'bitwise-bit-field end)
    440500  (%bitwise-bit-field value start end))
    441501
    442502(define (bitwise-copy-bit-field to start end from)
    443503  (check-integer 'bitwise-copy-bit-field to)
    444   (check-non-negative-integer 'bitwise-copy-bit-field start)
    445   (check-non-negative-integer 'bitwise-copy-bit-field end)
    446   (check-<= 'bitwise-copy-bit-field start end)
     504  (check-non-negative-fixnum 'bitwise-copy-bit-field start)
     505  (check-non-negative-fixnum 'bitwise-copy-bit-field end)
     506  (check-fixnum<= 'bitwise-copy-bit-field start end)
     507  (check-word-bits 'bitwise-copy-bit-field start)
     508  (check-word-bits+1 'bitwise-copy-bit-field end)
    447509  (check-integer 'bitwise-copy-bit-field from)
    448510  (%bitwise-copy-bit-field to start end from))
     
    450512(define (bitwise-rotate-bit-field value start end count)
    451513  (check-integer 'bitwise-rotate-bit-field value)
    452   (check-non-negative-integer 'bitwise-rotate-bit-field start)
    453   (check-non-negative-integer 'bitwise-rotate-bit-field end)
    454   (check-<= 'bitwise-rotate-bit-field start end)
    455   (check-integer 'bitwise-rotate-bit-field count)
     514  (check-non-negative-fixnum 'bitwise-rotate-bit-field start)
     515  (check-non-negative-fixnum 'bitwise-rotate-bit-field end)
     516  (check-fixnum<= 'bitwise-rotate-bit-field start end)
     517  (check-word-bits 'bitwise-rotate-bit-field start)
     518  (check-word-bits+1 'bitwise-rotate-bit-field end)
     519  (check-fixnum 'bitwise-rotate-bit-field count)
     520  (unless (##core#inline "C_fixnum_difference"
     521           count
     522           (##core#inline "C_fixnum_difference" end start))
     523    (##sys#signal-hook #:bounds-error 'bitwise-rotate-bit-field
     524                       "outside of interval" count start end) )
     525  (check-word-bits 'bitwise-rotate-bit-field count)
    456526  (%bitwise-rotate-bit-field value start end count) )
    457527
    458528(define (bitwise-reverse value count)
    459529  (check-integer 'bitwise-reverse value)
    460   (check-non-negative-integer 'bitwise-reverse count)
     530  (check-non-negative-fixnum 'bitwise-reverse count)
     531  (check-word-bits 'bitwise-reverse count)
    461532  (%bitwise-reverse value count) )
    462533
    463534(define (bitwise-reverse-bit-field value start end)
    464535  (check-integer 'bitwise-reverse-bit-field value)
    465   (check-non-negative-integer 'bitwise-reverse-bit-field start)
    466   (check-non-negative-integer 'bitwise-reverse-bit-field end)
    467   (check-<= 'bitwise-reverse-bit-field start end)
     536  (check-non-negative-fixnum 'bitwise-reverse-bit-field start)
     537  (check-non-negative-fixnum 'bitwise-reverse-bit-field end)
     538  (check-fixnum<= 'bitwise-reverse-bit-field start end)
     539  (check-word-bits 'bitwise-reverse-bit-field start)
     540  (check-word-bits+1 'bitwise-reverse-bit-field end)
    468541  (%bitwise-reverse-bit-field value start end) )
    469542
    470 (define (bitwise-list->integer lst)
    471   (check-list 'bitwise-list->integer lst)
    472   (%bitwise-list->integer lst) )
    473 
    474 (define (bitwise-integer->list value #!optional bitlen)
     543(define (bitwise-list->integer lyst)
     544  (check-list 'bitwise-list->integer lyst)
     545  (%bitwise-list->integer lyst) )
     546
     547(define (bitwise-integer->list value . rest)
    475548  (check-integer 'bitwise-integer->list value)
    476   (when bitlen (check-non-negative-integer 'bitwise-integer->list bitlen))
    477   (%bitwise-integer->list value bitlen) )
     549  (unless (eq? '() rest)
     550    (let ([bitlen (##core#inline "C_i_car" rest)])
     551      (check-non-negative-fixnum 'bitwise-integer->list bitlen)
     552      (check-word-bits 'bitwise-integer->list bitlen) ) )
     553  (apply %bitwise-integer->list value rest) )
    478554
    479555;;;
    480556
    481 (define bitwise-arithmetic-shift arithmetic-shift)
     557(define (bitwise-arithmetic-shift value amount)
     558  (check-integer 'bitwise-arithmetic-shift value)
     559  (check-fixnum 'bitwise-arithmetic-shift amount)
     560  (check-word-bits 'bitwise-arithmetic-shift
     561   (if (##core#inline "C_fixnum_lessp" amount 0)
     562       (##core#inline "C_fixnum_negate" amount)
     563       amount))
     564  (##core#inline_allocate ("C_a_i_arithmetic_shift" 4)
     565   value
     566   amount) )
    482567
    483568(define (bitwise-arithmetic-shift-left value amount)
    484   (check-non-negative-integer 'bitwise-arithmetic-shift-left amount)
    485   (arithmetic-shift value amount) )
     569  (check-integer 'bitwise-arithmetic-shift-left value)
     570  (check-non-negative-fixnum 'bitwise-arithmetic-shift-left amount)
     571  (check-word-bits 'bitwise-arithmetic-shift-left amount)
     572  (##core#inline_allocate ("C_a_i_arithmetic_shift" 4)
     573   value
     574   amount) )
    486575
    487576(define (bitwise-arithmetic-shift-right value amount)
    488   (check-non-negative-integer 'bitwise-arithmetic-shift-right amount)
    489   (arithmetic-shift value (- amount)) )
     577  (check-integer 'bitwise-arithmetic-shift-right value)
     578  (check-non-negative-fixnum 'bitwise-arithmetic-shift-right amount)
     579  (check-word-bits 'bitwise-arithmetic-shift-right amount)
     580  (##core#inline_allocate ("C_a_i_arithmetic_shift" 4)
     581   value
     582   (##core#inline "C_fixnum_negate" amount)) )
  • release/3/mathh/trunk/doc.scm

    r8594 r8595  
    283283          (p "") )
    284284
    285         (procedure "(fxmax-and-minFX ...)"
     285        (procedure "(fxmax-and-min FX ...)"
    286286          (p "") )
    287287
    288288        (procedure "(fxmodulo FX-N FX-D)"
     289          (p "") )
     290
     291        (procedure "(fxabs FX)"
    289292          (p "") )
    290293
     
    610613
    611614    (history
    612       (version "1.11" "Added argument checking to fix & flonum functions. [Kon Lovett]")
     615      (version "1.11" "Better argument checking. [Kon Lovett]")
    613616      (version "1.10" "Cygwin compile fix. Added \"fixnum/flonum/bitwise-extras\". Removed \"count-set-bits\" & \"count-unset-bits\". [Kon Lovett]")
    614617      (version "1.903" "Added C int & float types. [Kon Lovett]")
  • release/3/mathh/trunk/fixnum-extras.scm

    r8594 r8595  
    3131    *fxmin
    3232    fxmax-and-min
     33    fxabs
    3334    fxpow2log2
    3435    fxdiv
     
    9192                       "bad argument type - not a non-negative fixnum" obj) ) )
    9293
    93 (define-inline (check-fixnums-<= loc fx1 fx2)
     94(define-inline (check-fixnum<= loc fx1 fx2)
    9495  (unless (##core#inline "C_fixnum_less_or_equal_p" fx1 fx2)
    95     (##sys#signal-hook #:type-error loc
    96                        "bad argument type - not an interval" fx1 fx2) ) )
     96    (##sys#signal-hook #:bounds-error loc
     97                       "not a fixnum interval" fx1 fx2) ) )
     98
     99(define-inline (check-fixnum-bits loc fx)
     100  (unless (##core#inline "C_fixnum_less_or_equal_p" fx fixnum-bits)
     101    (##sys#signal-hook #:bounds-error loc
     102                       "out of fixnum range" fx) ) )
     103
     104(define %fixnum-bits-end (##core#inline "C_fixnum_plus" fixnum-bits 1))
     105
     106(define-inline (check-fixnum-bits+1 loc fx)
     107  (unless (##core#inline "C_fixnum_less_or_equal_p" fx %fixnum-bits-end)
     108    (##sys#signal-hook #:bounds-error loc
     109                       "out of fixnum range" fx) ) )
    97110
    98111(define-inline (check-zero-division loc fx1 fx2)
    99112  (when (##core#inline "C_eqp" 0 fx2)
    100113    (fixnum-zero-division-error loc fx1 fx2) ) )
     114
     115;;;
     116
     117#;
     118(define->inline (%->fixnum value)
     119  (if (##core#inline "C_fixnump" value)
     120      value
     121      (##core#inline_allocate ("C_a_i_bitwise_and" 4) value most-positive-machine-word) ) )
    101122
    102123;;;
     
    143164  (##core#inline "C_i_fixnum_min" x y) )
    144165
     166;;;
     167
    145168(define %fxnegprec (##core#inline "C_fixnum_negate" fixnum-precision))
     169
     170;;;
    146171
    147172(define-inline (%fxdiv0-and-mod0 fxn fxd)
     
    226251            ((##core#primitive "C_plus") rem fxd) ] ) ) )
    227252
     253;;;
     254
    228255(define (%fxand x y)
    229256  (##core#inline "C_fixnum_and" x y) )
     
    315342
    316343;;;
     344
     345(define (fxabs fx)
     346  (check-fixnum 'fxabs fx)
     347  (if (##core#inline "C_fixnum_lessp" fx 0)
     348      (##core#inline "C_fixnum_negate" fx)
     349      fx ) )
    317350
    318351(define (fxpow2log2 fx)
     
    488521                 (lambda (fx from to)
    489522                   (if (##core#inline "C_eqp" 0 fx)
    490                        (values (##sys#make-string from) to)
     523                       (values (##sys#make-string from)
     524                               to)
    491525                       (let* ([quo
    492526                                (##core#inline "C_fixnum_divide" fx radix)]
     
    500534                                         (fx-digits
    501535                                          quo
    502                                           (##core#inline "C_fixnum_plus" from 1) to)])
     536                                          (##core#inline "C_fixnum_plus" from 1)
     537                                          to)])
    503538                             (##core#inline "C_i_string_set" str to digit)
    504539                             (values str
     
    510545                         [(##core#inline "C_fixnum_lessp" 0 fx)
    511546                           (let ([str (fx-digits fx 0 0)])
     547                             (noop str)
    512548                             str ) ]
    513                          [(##core#inline "C_eqp" fx most-negative-fixnum)
     549                         [(##core#inline "C_eqp" most-negative-fixnum fx)
    514550                           (##sys#string-append
    515551                            (fx->str (##core#inline "C_fixnum_divide" fx radix))
     
    557593  (check-fixnum 'fxbit-set? fx)
    558594  (check-non-negative-fixnum 'fxbit-set? index)
     595  (check-fixnum-bits 'fxbit-set? index)
    559596        (%bitwise-bit-set? fx index) )
    560597
     
    562599  (check-fixnum 'fxcopy-bit fx)
    563600  (check-non-negative-fixnum 'fxcopy-bit index)
     601  (check-fixnum-bits 'fxcopy-bit index)
    564602  (check-fixnum 'fxcopy-bit bit)
    565603        (%bitwise-copy-bit fx index bit) )
     
    569607  (check-non-negative-fixnum 'fxbit-field start)
    570608  (check-non-negative-fixnum 'fxbit-field end)
    571   (check-fixnums-<= 'fxbit-field start end)
     609  (check-fixnum<= 'fxbit-field start end)
     610  (check-fixnum-bits 'fxbit-field start)
     611  (check-fixnum-bits+1 'fxbit-field end)
    572612        (%bitwise-bit-field fx start end) )
    573613
     
    576616  (check-non-negative-fixnum 'fxcopy-bit-field start)
    577617  (check-non-negative-fixnum 'fxcopy-bit-field end)
    578   (check-fixnums-<= 'fxcopy-bit-field start end)
     618  (check-fixnum<= 'fxcopy-bit-field start end)
     619  (check-fixnum-bits 'fxcopy-bit-field start)
     620  (check-fixnum-bits+1 'fxcopy-bit-field end)
    579621  (check-fixnum 'fxcopy-bit-field fxfrom)
    580622        (%bitwise-copy-bit-field fxto start end fxfrom) )
     
    584626  (check-non-negative-fixnum 'fxrotate-bit-field start)
    585627  (check-non-negative-fixnum 'fxrotate-bit-field end)
    586   (check-fixnums-<= 'fxrotate-bit-field start end)
     628  (check-fixnum<= 'fxrotate-bit-field start end)
     629  (check-fixnum-bits 'fxrotate-bit-field start)
     630  (check-fixnum-bits+1 'fxrotate-bit-field end)
    587631  (check-non-negative-fixnum 'fxrotate-bit-field count)
     632  (unless (##core#inline "C_fixnum_less_or_equal_p"
     633           count
     634           (##core#inline "C_fixnum_difference" end start))
     635    (##sys#signal-hook #:bounds-error 'fxrotate-bit-field
     636                       "outside of interval" count start end) )
    588637        (%bitwise-rotate-bit-field fx start end count) )
    589638
     
    592641  (check-non-negative-fixnum 'fxreverse-bit-field start)
    593642  (check-non-negative-fixnum 'fxreverse-bit-field end)
    594   (check-fixnums-<= 'fxreverse-bit-field start end)
     643  (check-fixnum<= 'fxreverse-bit-field start end)
     644  (check-fixnum-bits 'fxreverse-bit-field start)
     645  (check-fixnum-bits+1 'fxreverse-bit-field end)
    595646        (%bitwise-reverse-bit-field fx start end) )
  • release/3/mathh/trunk/flonum-extras.scm

    r8594 r8595  
    357357(define (flodd? fl)
    358358  (check-flonum 'flodd? fl)
    359   (eq? 1 (##core#inline_allocate ("C_a_i_bitwise_and" 4) (%fptrunc fl) #b1)) )
     359  (not (##core#inline "C_flonum_equalp" 0.0 (fpmod fl 2.0))) )
    360360
    361361(define (fleven? fl)
    362362  (check-flonum 'fleven? fl)
    363   (eq? 0 (##core#inline_allocate ("C_a_i_bitwise_and" 4) (%fptrunc fl) #b1)) )
     363  (##core#inline "C_flonum_equalp" 0.0 (fpmod fl 2.0)) )
    364364
    365365(define (flfinite? fl)
  • release/3/mathh/trunk/mathh.html

    r8594 r8595  
    637637<dd>
    638638<p></p></dd>
    639 <dt class="definition"><strong>procedure:</strong> (fxmax-and-minFX ...)</dt>
     639<dt class="definition"><strong>procedure:</strong> (fxmax-and-min FX ...)</dt>
    640640<dd>
    641641<p></p></dd>
    642642<dt class="definition"><strong>procedure:</strong> (fxmodulo FX-N FX-D)</dt>
     643<dd>
     644<p></p></dd>
     645<dt class="definition"><strong>procedure:</strong> (fxabs FX)</dt>
    643646<dd>
    644647<p></p></dd>
     
    957960<h3>Version</h3>
    958961<ul>
    959 <li>1.11 Added argument checking to fix &amp; flonum functions. [Kon Lovett]</li>
     962<li>1.11 Better argument checking. [Kon Lovett]</li>
    960963<li>1.10 Cygwin compile fix. Added &quot;fixnum/flonum/bitwise-extras&quot;. Removed &quot;count-set-bits&quot; &amp; &quot;count-unset-bits&quot;. [Kon Lovett]</li>
    961964<li>1.903 Added C int &amp; float types. [Kon Lovett]</li>
  • release/3/mathh/trunk/mathh.setup

    r8594 r8595  
    11(include "setup-header.scm")
    22
    3 #|
    43(copy-file "mathh-constants.scm" (chicken-home))
    54
     
    2827
    2928(install-dynld bitwise-extras *version* (documentation "mathh.html"))
    30 |#
    3129
    3230(install-dynld fixnum-extras *version* (documentation "mathh.html"))
Note: See TracChangeset for help on using the changeset viewer.