Re: [Chicken-hackers] [PATCH] Emit C99 constants for +nan.0 and [+-]inf.0 `##core#float' nodes

2019-06-27 Thread John Cowan
Done; < https://bugs.call-cc.org/ticket/1627#ticket >. On Thu, Jun 27, 2019 at 10:26 PM Evan Hanson wrote: > On 2019-06-27 21:27, John Cowan wrote: > > No, you do. If a Schemer writes (/ 1.0 -0.0) the result must be > > -inf.0, not +inf.0. > > OK, but I think that's a separate issue, because cu

Re: [Chicken-hackers] [PATCH] Emit C99 constants for +nan.0 and [+-]inf.0 `##core#float' nodes

2019-06-27 Thread Evan Hanson
On 2019-06-27 21:27, John Cowan wrote: > No, you do. If a Schemer writes (/ 1.0 -0.0) the result must be > -inf.0, not +inf.0. OK, but I think that's a separate issue, because currently if a CHICKEN user writes (/ 1.0 -0.0) they get +inf.0. And -0.0 gets them 0.0. It sounds like this might be wo

Re: [Chicken-hackers] [PATCH] Emit C99 constants for +nan.0 and [+-]inf.0 `##core#float' nodes

2019-06-27 Thread John Cowan
No, you do. If a Schemer writes (/ 1.0 -0.0) the result must be -inf.0, not +inf.0. But that fact leads to a better way to compile a negative zero into C: (1.0 / (-INFINITY)). No unions needed. On Thu, Jun 27, 2019 at 6:50 PM Evan Hanson wrote: > Hi John, > > On 2019-06-27 18:28, John Cowan w

Re: [Chicken-hackers] [PATCH] Emit C99 constants for +nan.0 and [+-]inf.0 `##core#float' nodes

2019-06-27 Thread Evan Hanson
Hi John, On 2019-06-27 18:28, John Cowan wrote: > Don't forget to cast them to double, however. Good point. Updated version attached. > To get a negative zero you need an initialized global variable: I'm not sure we need a negative zero here, do we? Evan >From 40ee7d67559a49515f2a8f6738f43139a

Re: [Chicken-hackers] [PATCH] Emit C99 constants for +nan.0 and [+-]inf.0 `##core#float' nodes

2019-06-27 Thread John Cowan
Don't forget to cast them to double, however. To get a negative zero you need an initialized global variable: double negative_zero = 1.0 / -INFINITY; and then negative_zero is the Right Thing. On Thu, Jun 27, 2019 at 5:20 PM Evan Hanson wrote: > Putting this here so it doesn't get lost. > >

[Chicken-hackers] [PATCH] Emit C99 constants for +nan.0 and [+-]inf.0 `##core#float' nodes

2019-06-27 Thread Evan Hanson
Putting this here so it doesn't get lost. Evan >From 8e226395197515fe5aac0ac6e0bf3a17a7584394 Mon Sep 17 00:00:00 2001 From: Evan Hanson Date: Thu, 27 Jun 2019 16:34:36 +1200 Subject: [PATCH] Emit C99 constants for +nan.0 and [+-]inf.0 `##core#float' nodes The unboxing pass added in 79cf7427 in

[Chicken-hackers] [PATCH] Sync "compile_r" behaviour in Windows and Unix test scripts

2019-06-27 Thread Evan Hanson
Hi there, Here's a fix for an issue I found while testing megane's inlining patch. It just makes the Windows tests match the Unix ones. Currently, %compile_r% always generates a file called a.out, which isn't correct, or at least isn't what we want for the new inlining test. Cheers, Evan >From

Re: [Chicken-hackers] [PATCH] Disable inlining for functions using foreign stubs

2019-06-27 Thread Evan Hanson
On 2019-06-27 7:31, megane wrote: > Good catch! Didn't intend to change other logic. > > Fixed version attached. Thanks, here's a sign-off. I put the variable-mark check back to the way it was, to minimise the diff, and added the new test for Windows. Evan >From 892bead3d97c6d006eea3540449e5326