Commit Graph

28303 Commits

Author SHA1 Message Date
Robby Findler
5a55f64444 fix the random property; sadly still doesn't find the bug Danny found 2013-01-29 19:24:54 -06:00
Robby Findler
8013ccf60e improvements to union find suggested by Sam and Danny 2013-01-29 19:02:57 -06:00
Robby Findler
f0450d716b fixes the responsiveness optimization disabled in
c8bee5acf7
2013-01-29 19:02:32 -06:00
Matthew Flatt
ffb4b34494 another repair for extflonum support 2013-01-29 16:55:20 -07:00
Robby Findler
33747ec9ab added union-find to the data collection 2013-01-29 15:48:41 -06:00
Vincent St-Amour
5efaa004f0 Fix test for invalid fixnum quotient optimization.
The test depended on fixnum width, which is not portable.
2013-01-29 16:15:00 -05:00
Vincent St-Amour
0bc60a77c8 Improve type of exact? and exact->inexact.
Adapted from a pull request by Eric Dobson.
2013-01-29 12:35:29 -05:00
Vincent St-Amour
32b3dfc528 Fix type of quotient on fixnums.
Closes PR13466.
2013-01-29 12:35:29 -05:00
Robby Findler
32529d89c0 adjust randomized racket machine tests to print to
stderr on failure and to not print anything on success
2013-01-29 06:57:07 -06:00
Matthew Flatt
28493dcc88 repairs to extflonum changes 2013-01-29 05:53:30 -07:00
Matthew Flatt
74986a42e3 fix to use compiled startup code 2013-01-29 05:53:30 -07:00
Eric Dobson
10655a8373 Fix syntax/c. Closes PR13447. 2013-01-29 06:34:51 -06:00
Eli Barzilay
113077dc70 New Racket version 5.3.2.3. 2013-01-29 03:30:18 -05:00
Michael Filonenko
17b8092641 extflonums
An extflonum is like a flonum, but with 80-bit precision and
not a number in the sense of `number?': only operations such as
`extfl+' work on extflonums, and only on platforms where extflonums
can be implemented by hardware without interefering with flonums
(i.e., on platforms where SSE instructions are used for
double-precision floats).

[Patch provided by Michael Filonenko and revised by Matthew.]

The compiler tracks information about bindings that are known to
hold extflonums, but the JIT does not yet exploit this information
to unbox them (except as intermediate results).
2013-01-28 18:17:06 -07:00
Neil Toronto
aed3b39546 Added flexp2', fllog2', `fllogb'; refactored and documented flonum testing
Note: With this refactoring, `math/utils' no longer depends on `rackunit'.

* (flexp2 x) computes (flexpt 2.0 x) but in about 1/3 the time for integer
  `x' using a lookup table. Written for exact argument reduction in `fllog2'
  after discovering that (flexpt 2.0 x) was the main performance bottleneck.

* (fllog2 x) computes (/ (fllog x) (fllog 2.0)) with near perfect accuracy.
  Invented an algorithm to compute it with at least 8 extra bits before
  final rounding; quite pleased with the result. Needed `fllog2' to ensure
  (fllogb 2.0 x) would be exact when `x' is a power of two.

* (fllogb b x) computes (/ (fllog x) (fllog b)) with better accuracy, and
  also handles limit values in a way that's consistent with the mathematical
  limits. When those are ambiguous, it's consistent with `flexpt', which
  follows IEEE 754 and C99. Otherwise returns +nan.0. See docs for details.

* `bflogb' is currently just for testing `fllogb'.

* Refactored FPU testing and documented it. So far, the only documented way
  to do it is by calling `test-floating-point', which runs a comprehensive
  deterministic+randomized suite of tests and returns a list representing
  failed tests. I'll document individual tests after I document flonum
  expansions and result/error functions like `fl+/error'.

* Added `fllog2' and `fllogb' to the flonum tests.
2013-01-28 17:44:33 -07:00
chrdimo
e0a7329d86 Merge branch 'master' of pltgit:plt 2013-01-28 19:36:45 -05:00
chrdimo
7223c503f2 adding docs entry for blame update 2013-01-28 19:36:36 -05:00
chrdimo
b00810360b fixing backwards compatibility problems for blame-positive and blame-negative 2013-01-28 16:56:32 -05:00
chrdimo
5348a4d2de fixing docs and tests for maybe/c (old option/c) 2013-01-28 16:55:33 -05:00
Eric Dobson
3c02bb1abb Type check with expected type when checking recursive loops.
Closes PR12678.
2013-01-28 16:03:01 -05:00
Eric Dobson
13ff5883fe Do not update subtype and resolve caches when subtyping.
Closes PR13412.
2013-01-28 15:35:56 -05:00
Robby Findler
c8bee5acf7 disable a broken responsiveness optimization 2013-01-28 10:30:46 -06:00
chrdimo
5808b0c4a0 adding option contracts in unstable 2013-01-28 01:09:05 -05:00
chrdimo
5231e15a78 renaming unstable/contract's option/c to maybe/c 2013-01-28 01:08:17 -05:00
chrdimo
17e419e700 support for multiple blame parties 2013-01-28 01:07:03 -05:00
Robby Findler
3e5a9ca3cd unbreak check syntax
get-current-tab may not be the right tab to replay the trace,
now that online expansion runs other tabs when the current tab
is up to date.
2013-01-27 07:31:34 -06:00
Sam Tobin-Hochstadt
295bb1e85e Switch to pkg.racket-lang.org. 2013-01-26 15:59:33 -05:00
Stephen Chang
15d41a787e add examples for make-struct-info in docs 2013-01-26 14:06:04 -05:00
Robby Findler
2d2b3bee2f fix a bug in executable creation
The code used eq? to check to see if a given language was in
an list of allowed-to-create-executables languages. But the
language object was passing thru TR and so eq? didn't hold and
thus the check was buggy.
2013-01-26 10:47:59 -06:00
Robby Findler
aaf4a2e16d adjust find-next-outer-paren to avoid editing the buffer
related to PR 13454
2013-01-26 09:05:28 -06:00
Robby Findler
54fad8546a an attempt to change get-close-paren to not edit the buffer
related to PR 13454
2013-01-26 08:08:34 -06:00
Robby Findler
f90eb33d67 only when when there is something to undo
They hypothesis behind this change is that the undo is
undoing an edit that came before, not the temporary edit
that appears in insert-close-paren. So, when there are
no edits happening (ie when fixup? is #f) then don't
undo. This is only a hypothesis because we were not able
to find a small code sequence, outside of DrRacket to
cause the bad behavior, so possibly there is really more
going on here.

Thanks to Nadeem Abdul Hamid for finding this fix.

Closes PR 13454
2013-01-26 07:49:14 -06:00
Robby Findler
e43583c444 make sure the framework tests run with the proper environment 2013-01-26 07:49:14 -06:00
Robby Findler
88404f3b1f adjust dists to move picts into the mr distributions
This move moves a library from the plt distribution into the
mr distribution, which is a direction we do not generally
like to go, but the pict library is more core than slideshow
and the dependency that triggered this change is that the
2htdp/image library now interoperates with picts (hopefully
2htdp/universe will also work with them at some point).

So this teases out the pict part of slideshow (mostly,
but not completely the texpict collection) and moves only
that part to the mr distribution.
2013-01-25 19:07:50 -06:00
Matthew Flatt
e22977667d racket/gui gtk: fix canvas/panel border drawing
The code to draw a border has to determine the widget's position
within the drawing window. Gtk 3.0 has a function to provide that
transformation, but Gtk 2.0 doesn't seem to have one, and it seems
that the transformation implemented in `racket/gui' wasn't right.

Closes PR 13453
2013-01-25 14:21:57 -07:00
Danny Yoo
86203467a4 Restore functionality of quiet? argument for link-extension.
This appears to be artifact from a debugging session; the quiet? flag was being ignored.
2013-01-25 13:22:14 -07:00
Matthew Flatt
3777a6d3f0 fix problem with --enable-shared and CGC install 2013-01-25 12:10:36 -07:00
Philippe Meunier
6927923580 update, plus some typos and punctuation fixed 2013-01-26 03:32:19 +09:00
Jay McCarthy
49e517d362 Fixes PR13450, thanks Matthew 2013-01-25 08:11:26 -07:00
Jay McCarthy
8ce9b4eb10 Adding failing test for submodules in web-server lang 2013-01-25 07:42:05 -07:00
Jay McCarthy
3a69fb9191 Preserve exact stx obj for identifiers (and thus preserve properties like protected) 2013-01-25 07:42:05 -07:00
Jay McCarthy
74429db650 Ignoring submodules in web-server lang 2013-01-25 07:42:05 -07:00
Jay McCarthy
545009a48a Catching contract violation error discovered by Danny Yoo 2013-01-25 07:42:05 -07:00
Matthew Flatt
9210437b3f fix internal-definition expansion
The code added to handle expressions mixed with definitions was
not introduced in the right way; fix it to be like macro-introduced
code.

Closes PR 13452
2013-01-25 05:08:46 -07:00
Matthew Flatt
79266fcf36 ffi/com: improve handling of `type-described'
Use a type description when an automation-supplied type
is just 'any.
2013-01-25 05:08:46 -07:00
Matthew Flatt
0742424093 ffi/com: doc correction 2013-01-25 05:08:46 -07:00
Sam Tobin-Hochstadt
492bda2305 Avoid using unsafe structure access.
Moral: a little temporary speed should never be bought at the cost of safety.
2013-01-24 23:15:06 -05:00
Sam Tobin-Hochstadt
e75e494e6a Fix contracts and expected computation for tc-any-results. 2013-01-24 23:15:06 -05:00
Robby Findler
27442fa44c make contracts slightly more readable for
the get-location arguments to make-input-port
and make-output-port
2013-01-24 22:04:47 -06:00
Asumu Takikawa
a80830ab1d Error message typo 2013-01-24 09:28:03 -05:00