<div dir="ltr">Would random testing help avoid some of the pain of writing a good initial set of tests?<div><br></div><div>Robby</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jan 28, 2013 at 7:18 PM, Matthew Flatt <span dir="ltr"><<a href="mailto:mflatt@cs.utah.edu" target="_blank">mflatt@cs.utah.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">At Sat, 29 Dec 2012 14:05:08 +0300, Michael Filonenko wrote:<br>
> I have prepared a new version of the patch (attached).<br>
<br>
</div>Thanks!<br>
<br>
I've merged your patch into the git repo, with some changes:<br>
<br>
* Abstracted more to both reduce code duplication and make the<br>
"product line" variation easier to read and write.<br>
<br>
* Renamed a few operations to consistently use "extfl", and added<br>
`extfl->inexact' and `extfl-available?'.<br>
<br>
* Changed the module organization, so that the extflonum bindings are<br>
always available, and operations raise `exn:fail:unsupported' when<br>
they are not supported. The operations `extflonum?', `extflvector?',<br>
and `extflonum-available?' always work.<br>
<br>
* Adjusted the reader to more completely isolate extflonums (e.g., no<br>
complex numbers with an extflonum part).<br>
<br>
* Changed "sconfig.h" and "scheme.h" to infer when extflonums can be<br>
supported (see also the new note in "src/README"), and added<br>
`--disable-extflonum' to `configure'.<br>
<br>
* Reorganized and expanded the documentation.<br>
<br>
I ran out of steam before trying a MinGW compile, so that's almost<br>
certainly broken. Meanwhile, I have some thoughts on making an MSVC<br>
build work with a MinGW-compiled support DLL (more later).<br>
<br>
Unboxing of locally-bound extflonums is still not implemented, but I<br>
think it's probably not too far away. If you want to give that a try, I<br>
recommend continuing in the direction of threading an `extfl' flag<br>
through the JIT, instead of duplicating functions.<br>
<br>
Finally, I think the test suite probably needs a lot more tests to<br>
cover the extflonum operations. Most of the flonum tests are in<br>
"optimize.rktl", and I think it would make sense to add similar tests<br>
there for extflonum operations --- guarded by `(when<br>
(extflonum-available?) ...)'.<br>
<div class="HOEnZb"><div class="h5"><br>
_________________________<br>
Racket Developers list:<br>
<a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</div></div></blockquote></div><br></div>