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

w,dF under Guile and Gauche



Hi,
I am trying to use SRFI-48 under Guile and Gauche for formatting fixed
point output. Thanks for creating the SRFI - here is some feedback,
I have tested SRFI-48 using the code posted here on Jun 5th (there is no
version in source code) using both Guile and Gauche Scheme interpreters
and I find the following apparent formatting errors:
=======================================================================

**FAIL: expected: "     1.026"
 got:  "     1.260"
 from: (format "~10,3F" 1.0256)

**FAIL: expected: "     1.002"
 got:  "     1.200"
 from: (format "~10,3F" 1.0025)

**FAIL: expected: "     1.003"
 got:  "     1.300"
 from: (format "~10,3F" 1.00256)

**FAIL: expected: "1.000012"
 got:  "1.120000"
 from: (format "~8,6F" 1.00001234)
=======================================================================
Here are the tests that were run:
=======================================================================
;;;
;;; test cases for srfi-48a.scm
;;; 22-Jun-2005 Stephen Lewis <lewis@xxxxxxxxxxx>
;;;
;;; run under Guile version 1.6.4 'guile -s test2-48.scm'
;;; and under Gauche version 0.8.4 'gosh test2-48.scm'
;;;
(load "./srfi-48a.scm")
;;;
;;; Guile and Gauche 'eval' takes 2 args
;;;
(define-macro (expect expected form . compare)
  (let* ( (same? (if (null? compare) equal? (eval (car `,compare) (current-module) )))
          (wanted (eval `,expected (current-module) ))
          (actual (eval `,form (current-module) ))
        )
    (if (same? wanted actual)
        (format #t "PASSED:  ~s~%" form)
        (format #t 
                "~%**FAIL: expected: ~s~% got:  ~s~% from: ~s~%"
                wanted
                actual
                form))
) )
;;;===================================================

(expect "     1.026" (format "~10,3F" 1.0256))

(expect "     1.002" (format "~10,3F" 1.0025))

(expect "     1.003" (format "~10,3F" 1.00256))

(expect "1.000012" (format "~8,6F" 1.00001234))
=======================================================================

Stephen Lewis