GNU bug report logs - #47851
[PACKAGE] Add cl-svg, inferior-shell, fare-mop, cl-png

Previous Next

Package: guix-patches;

Reported by: Sharlatan Hellseher <sharlatanus <at> gmail.com>

Date: Sat, 17 Apr 2021 21:09:02 UTC

Severity: normal

Done: Guillaume Le Vaillant <glv <at> posteo.net>

Bug is archived. No further changes may be made.

Full log


Message #10 received at 47851-done <at> debbugs.gnu.org (full text, mbox):

From: Guillaume Le Vaillant <glv <at> posteo.net>
To: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Cc: 47851-done <at> debbugs.gnu.org
Subject: Re: [bug#47851] [PACKAGE] Add cl-svg, inferior-shell, fare-mop, cl-png
Date: Mon, 19 Apr 2021 15:54:24 +0000
[Message part 1 (text/plain, inline)]
Patches pushed as 1cef75faaebec55d0c5f1c03aed8deebff1dbad4 and
following with a few fixes. Thanks

Sharlatan Hellseher <sharlatanus <at> gmail.com> skribis:

> Hi Guix team!
>
> Preparation list of patches for art generation system Weir
> I've packed it but it's failed on ECL build with
>
> ;;; Warning: ;;; in file various.lisp, position 144 ;;; at
> (DEFCONSTANT PII ...) ;;; ! The expression 6.283185307179586477l0 is
> not of the expected type DOUBLE-FLOAT ;;; Warning: ;;; in file
> various.lisp, position 195 ;;; at (DEFCONSTANT PI5 ...) ;;; ! The
> expression 1.5707963267948966193l0 is not of the expected type
> DOUBLE-FLOAT
>
> Maintainer has not option for opening an issue.
>
> For someone who has more knowledge in CL to check
> https://github.com/Hellseher/guix-channel/blob/main/ffab/packages/lisp-xyz.scm#L1467

I think it's a bug in the "various.lisp" file. Inside it there is:

--8<---------------cut here---------------start------------->8---
(declaim (type double-float PII PI5))

(defconstant PII (the double-float #.(* PI 2d0)))
(defconstant PI5 (the double-float #.(* PI 0.5d0)))
--8<---------------cut here---------------end--------------->8---

However the Common Lisp spec indicates that 'pi' is a 'long-float'. It
works with SBCL because it implements 'double-float' and 'long-float' as
the same type (which is allowed according to the spec). However in ECL
the types are different ('long-float' has more precision than
'double-float').

Converting 'pi' to a 'double-float' should make the code work in both
SBCL and ECL (note: I've not tested):

--8<---------------cut here---------------start------------->8---
(declaim (type double-float PII PI5))

(defconstant PII (the double-float #.(* (float PI 1.0d0) 2d0)))
(defconstant PI5 (the double-float #.(* (float PI 1.0d0) 0.5d0)))
--8<---------------cut here---------------end--------------->8---
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 4 years and 31 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.