freenode/#sbcl - IRC Chatlog
Search
11:24:53
phoe
regarding my recent launchpad bug about FORMAT ~E, one of the smallest test cases I've found is (format t "~E" 1.365753E-29) ;=> 1.3657531e-29
12:14:45
flip214
phoe: a single-float only has 5 decimal digits in the mantissa, IIRC... should ~E output that many?
12:18:22
flip214
well, a single-float is 32bit, of which 1+7+1 are used for exponent and sign - so 23bits are left. that's 7 digits at most, including the ones before the comma
12:22:31
phoe
well anyway - there is a disparity between PRIN1 and FORMAT ~E in how they print that particular float
13:25:59
phoe
and I think that the issue is on the FORMAT ~E side because 1.3657531 has an unnecessary decimal digit, since 1.365753 is the same float
14:21:11
phoe
found a curious thing - #'format-exp-aux calls sb-impl::scale-exponent that transforms the number
14:27:15
phoe
is this result expected? it seems that this is where the error appears and then gets forwarded all into the flonum-to-string and printing machine
14:53:31
phoe
print-float calls %flonum-to-digits on the original value, but format-exp-aux calls %flonum-to-string on the modified value
18:22:00
Shinmera
Is there a way to force updating instances of a redefined class instantly? I don't care if it would be something slow like traversing the entire heap graph.
19:02:24
karlosz
what kind of ir1opt introduces new lambdas not in the source? im getting things like "string-dispatch-fun2153"
19:02:58
karlosz
im sure i wired the cfg wrong somehow, but its weird that im generating a ton of new blocks and even clambas
19:07:09
Shinmera
I have an object that generates other objects. When I redefine its class, I have hooks on u-i-f-r-c to update these "sub objects" to refer to the new specification stored in the class. I would like this change to be visible instantly in the sub objects.
19:07:27
Shinmera
Since I never actually access the generating object, the sub objects do not get updated however, so my changes do not become visible.
19:18:43
pfdietz
Can you also redefine the classes of those generated objects, and have that trigger changes when they are looked at?
19:38:24
Shinmera
Since the class description basically defines a bunch of initargs and initialisation functions for those sub objects
19:42:12
Shinmera
I could have a back-link from the sub-objects, but I wouldn't know when to check those, and I'd avoid having to check all the time.
19:48:24
Shinmera
Again, if I could just traverse all objects in some way to touch those I need I'd be fine. This is #sbcl, not #lisp after all.
20:21:50
karlosz
stassats: ah thanks. i was accidentally changing the combination kinds of transforms to :local
20:55:22
karlosz
so must not be a miscompile, but rather hitting an issue on compiling a warm only thing
20:56:13
stassats
i usually conditionalize out a change, compile, then turn it on when running tests
21:17:30
stassats
maybe the stack should be divided into two portions, the second one used for passing and returning values
21:18:13
stassats
the main source of copying comes from the things like ocfp/return-pc being intermixed with the values
21:20:16
stassats
the location can be stored in the thread register, kept in a wired register around calls/returns