freenode/#clim - IRC Chatlog
Search
13:28:41
scymtym
do you have an example? i can't find one. (complex 1 0) returns a real and (coerce (complex 1 NOT-ERROR) 'real) returns an error
13:31:21
jackdaniel
I can help with that, coerce there was implemented for rounding to floats at the beginning
13:31:59
jackdaniel
but it was commented and as an oposite to double-float someone changed that to real
13:34:26
jackdaniel
which does "the right thing" (i.e in case of real it just returns n and is declared inline)
13:35:32
jackdaniel
in terms of spec there is no the right thing, implementations are allowed to approximate with floats but they doesn't have to do that
13:35:53
jackdaniel
as I said, I don't remember which chapter it's stated in, just remember the statement itself
13:37:23
scymtym
which makes sense assuming (coerce … 'real) never does anything. it should type-check, though
13:38:11
scymtym
even with type-check, this will result in a two-fold speedup for MAKE-BOUNDING-RECTANGLE (on SBCL)
13:38:53
jackdaniel
imho (coordinate n) should be simply called without additional checking in the said function
13:41:18
scymtym
ok, so just calling coordinate seems to be the way to go. i'm also replacing the min+max for each dimension with a single <=
13:47:21
jackdaniel
yes, in the instance, that's why they are called. I'm saying that make-bounding-rectangle arguments does not have this property guaratneed