From: <no...@so...> - 2002-09-18 15:06:25
|
Bugs item #611141, was opened at 2002-09-18 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=611141&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: BFloat(1.11e-16) > zero divisor err Initial Comment: BFloat(1.11e-16) gives a zero divisor err inside maxima- rationalize, as does BFloat(1-1.11e-16) Maxima 5.5 on Windows ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=611141&group_id=4933 |
From: <no...@so...> - 2002-09-27 16:55:36
|
Bugs item #611141, was opened at 2002-09-18 10:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=611141&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: BFloat(1.11e-16) > zero divisor err Initial Comment: BFloat(1.11e-16) gives a zero divisor err inside maxima- rationalize, as does BFloat(1-1.11e-16) Maxima 5.5 on Windows ---------------------------------------------------------------------- Comment By: Barton Willis (willisb) Date: 2002-09-27 11:55 Message: Logged In: YES user_id=570592 I think the problem has to do with the value of $ratepsilon set by the function fixfloat (defined in float.lisp). One fix is to correct the value of $ratepsilon; another fix is to use Lisp's rational function instead of maxima-rationalize. ;; If this version of fixfloat is buggy, your Lisp may be ;; buggy! (function I added) #+cl (defun fixfloat (x) (cond ((floatp x) (setq x (rationalize x)) (cons (numerator x) (denominator x))) (t x))) ;; New machine-independent version of FIXFLOAT. This may be buggy. - CWH ;; It is buggy! On the PDP10 it dies on (RATIONALIZE -1.16066076E-7) ;; which calls FLOAT on some rather big numbers. ($RATEPSILON is approx. ;; 7.45E-9) - JPG #-(or PDP10 cl) (DEFUN FIXFLOAT (X) (LET (($RATEPSILON #.(EXPT 2.0 (f- MACHINE-MANTISSA-PRECISION)))) (MAXIMA-RATIONALIZE X))) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=611141&group_id=4933 |
From: <no...@so...> - 2003-01-02 06:27:30
|
Bugs item #611141, was opened at 2002-09-18 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=611141&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: BFloat(1.11e-16) > zero divisor err Initial Comment: BFloat(1.11e-16) gives a zero divisor err inside maxima- rationalize, as does BFloat(1-1.11e-16) Maxima 5.5 on Windows ---------------------------------------------------------------------- >Comment By: Stavros Macrakis (macrakis) Date: 2003-01-02 01:27 Message: Logged In: YES user_id=588346 Other cases worth trying. Using float.lisp 1.6, they either give very wrong answers or infinite loops: bfloat(1.0e-310) bfloat(1.0e-320) ---------------------------------------------------------------------- Comment By: Barton Willis (willisb) Date: 2002-09-27 12:55 Message: Logged In: YES user_id=570592 I think the problem has to do with the value of $ratepsilon set by the function fixfloat (defined in float.lisp). One fix is to correct the value of $ratepsilon; another fix is to use Lisp's rational function instead of maxima-rationalize. ;; If this version of fixfloat is buggy, your Lisp may be ;; buggy! (function I added) #+cl (defun fixfloat (x) (cond ((floatp x) (setq x (rationalize x)) (cons (numerator x) (denominator x))) (t x))) ;; New machine-independent version of FIXFLOAT. This may be buggy. - CWH ;; It is buggy! On the PDP10 it dies on (RATIONALIZE -1.16066076E-7) ;; which calls FLOAT on some rather big numbers. ($RATEPSILON is approx. ;; 7.45E-9) - JPG #-(or PDP10 cl) (DEFUN FIXFLOAT (X) (LET (($RATEPSILON #.(EXPT 2.0 (f- MACHINE-MANTISSA-PRECISION)))) (MAXIMA-RATIONALIZE X))) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=611141&group_id=4933 |
From: <no...@so...> - 2003-01-02 06:35:08
|
Bugs item #611141, was opened at 2002-09-18 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=611141&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: BFloat(1.11e-16) > zero divisor err Initial Comment: BFloat(1.11e-16) gives a zero divisor err inside maxima- rationalize, as does BFloat(1-1.11e-16) Maxima 5.5 on Windows ---------------------------------------------------------------------- >Comment By: Stavros Macrakis (macrakis) Date: 2003-01-02 01:35 Message: Logged In: YES user_id=588346 Other cases worth trying. Using float.lisp 1.6, they either give very wrong answers or infinite loops: bfloat(1.0e-310) bfloat(1.0e-320) ---------------------------------------------------------------------- Comment By: Stavros Macrakis (macrakis) Date: 2003-01-02 01:27 Message: Logged In: YES user_id=588346 Other cases worth trying. Using float.lisp 1.6, they either give very wrong answers or infinite loops: bfloat(1.0e-310) bfloat(1.0e-320) ---------------------------------------------------------------------- Comment By: Barton Willis (willisb) Date: 2002-09-27 12:55 Message: Logged In: YES user_id=570592 I think the problem has to do with the value of $ratepsilon set by the function fixfloat (defined in float.lisp). One fix is to correct the value of $ratepsilon; another fix is to use Lisp's rational function instead of maxima-rationalize. ;; If this version of fixfloat is buggy, your Lisp may be ;; buggy! (function I added) #+cl (defun fixfloat (x) (cond ((floatp x) (setq x (rationalize x)) (cons (numerator x) (denominator x))) (t x))) ;; New machine-independent version of FIXFLOAT. This may be buggy. - CWH ;; It is buggy! On the PDP10 it dies on (RATIONALIZE -1.16066076E-7) ;; which calls FLOAT on some rather big numbers. ($RATEPSILON is approx. ;; 7.45E-9) - JPG #-(or PDP10 cl) (DEFUN FIXFLOAT (X) (LET (($RATEPSILON #.(EXPT 2.0 (f- MACHINE-MANTISSA-PRECISION)))) (MAXIMA-RATIONALIZE X))) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=611141&group_id=4933 |
From: SourceForge.net <no...@so...> - 2004-02-16 17:43:53
|
Bugs item #611141, was opened at 2002-09-18 10:06 Message generated for change (Comment added) made by willisbl You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=611141&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: BFloat(1.11e-16) > zero divisor err Initial Comment: BFloat(1.11e-16) gives a zero divisor err inside maxima- rationalize, as does BFloat(1-1.11e-16) Maxima 5.5 on Windows ---------------------------------------------------------------------- >Comment By: Barton Willis (willisbl) Date: 2004-02-16 11:39 Message: Logged In: YES user_id=895922 One needn't work all that hard to break the float to bigfloat conversion --- (C4) 0.79999999999999999; (D4) 0.8 (C5) bfloat(%); Warning: Float to bigfloat conversion of 0.79999999999999993 Error: Zero divisor. Fast links are on: do (si::use-fast-links nil) for debugging Error signalled by CATCH. Broken at MACSYMA-TOP-LEVEL. Type :H for Help. MAXIMA>>:q (C6) build_info(); Maxima version: 5.9.0 Maxima build date: 19:10 2/9/2003 host type: i686-pc-mingw32 lisp-implementation-type: Kyoto Common Lisp lisp-implementation-version: GCL-2-5.0 I still think that the float --> rational --> bigfloat route is bad. I much prefer the integer-decode-float approach. Barton ---------------------------------------------------------------------- Comment By: Stavros Macrakis (macrakis) Date: 2003-01-02 00:35 Message: Logged In: YES user_id=588346 Other cases worth trying. Using float.lisp 1.6, they either give very wrong answers or infinite loops: bfloat(1.0e-310) bfloat(1.0e-320) ---------------------------------------------------------------------- Comment By: Stavros Macrakis (macrakis) Date: 2003-01-02 00:27 Message: Logged In: YES user_id=588346 Other cases worth trying. Using float.lisp 1.6, they either give very wrong answers or infinite loops: bfloat(1.0e-310) bfloat(1.0e-320) ---------------------------------------------------------------------- Comment By: Barton Willis (willisb) Date: 2002-09-27 11:55 Message: Logged In: YES user_id=570592 I think the problem has to do with the value of $ratepsilon set by the function fixfloat (defined in float.lisp). One fix is to correct the value of $ratepsilon; another fix is to use Lisp's rational function instead of maxima-rationalize. ;; If this version of fixfloat is buggy, your Lisp may be ;; buggy! (function I added) #+cl (defun fixfloat (x) (cond ((floatp x) (setq x (rationalize x)) (cons (numerator x) (denominator x))) (t x))) ;; New machine-independent version of FIXFLOAT. This may be buggy. - CWH ;; It is buggy! On the PDP10 it dies on (RATIONALIZE -1.16066076E-7) ;; which calls FLOAT on some rather big numbers. ($RATEPSILON is approx. ;; 7.45E-9) - JPG #-(or PDP10 cl) (DEFUN FIXFLOAT (X) (LET (($RATEPSILON #.(EXPT 2.0 (f- MACHINE-MANTISSA-PRECISION)))) (MAXIMA-RATIONALIZE X))) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=611141&group_id=4933 |