GNU bug report logs -
#69725
Incorrect comapration between exact and inexact numbers
Previous Next
Reported by: Maciej <m.kalandyk <at> outlook.com>
Date: Mon, 11 Mar 2024 07:53:02 UTC
Severity: normal
Done: lloda <lloda <at> sarc.name>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Tue, 19 Mar 2024 18:29:48 +0100
with message-id <85EFDB9B-A4A5-4FD8-A7B2-19E81C1AA302 <at> sarc.name>
and subject line Re: bug#69725: Incorrect comapration between exact and inexact numbers
has caused the debbugs.gnu.org bug report #69725,
regarding Incorrect comapration between exact and inexact numbers
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
69725: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=69725
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
description:
script(named main.scm):
(use-modules (srfi srfi-11))
(define* (newton-sqrt x #:optional (tolerance 0.001) (guess 1))
(if (< (abs (- x (* guess guess)))
tolerance)
(values guess (abs (- x (* guess guess))) tolerance)
(newton-sqrt x tolerance (/ (+ guess (/ x guess)) 2))))
(let-values ([(root diff tolerance)
(newton-sqrt 1000)])
(display (exact->inexact diff)) ;; 1.217168231948292
(newline)
(display tolerance) ;; 0.001
(newline)
;; bug here 1.217 in exact form apparently is smaller than 0.001
(display (< diff tolerance)) ;; #t
(newline)
(display (< diff (inexact->exact tolerance))) ;; #f
(newline)
(display (< (exact->inexact diff) tolerance)) ;; #f
(newline))
guile version:
guile --version
guile (GNU Guile) 3.0.9
machine-type:
./config.guess
x86_64-pc-linux-gnu
system package:
guix package -V guile
guix package (GNU Guix) f18d13b5f89c161c6ee88d15ecdaa8d973ee4503
additional system info:
guix channels.scm
(list (channel
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(branch "master")
(commit
"aeb494322ca9dec4a4d66a7d063239c8536bd538")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"
(openpgp-fingerprint
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))))
what i ran to run the script:
guix time-machine -C channels.scm -- shell --pure guile -- ./main.scm
1.217168231948292
0.001
#t
#f
#f
[Message part 3 (message/rfc822, inline)]
Patch committed to 54c4753dd3f7506bee2778b36d7263b613ffd579, with a couple extra tests.
Thanks
Daniel
This bug report was last modified 1 year and 63 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.