Commit Graph

27284 Commits

Author SHA1 Message Date
J. Ian Johnson
a193cd9efb Peephole optimization for iterating over an empty set (no allocation). 2012-12-07 06:39:27 -06:00
Matthew Flatt
4721a79c8f define-logger: make (define-logger X)' define X-logger' 2012-12-07 06:36:31 -06:00
Matthew Flatt
ea79cc4417 benchmark noise
Remove an unnecessary manual unrolling
2012-12-07 06:36:31 -06:00
Matthew Flatt
a6eb219305 avoid spurious arity mismatch in {s,n}boyer benchmarks 2012-12-07 06:36:31 -06:00
Neil Toronto
769e8b47ec Added `array->list-array'
Cleaned up expected value code a little

Refactored running statistics objects (hid private fields, added
`update-statistics*')

Documented expected value functions and running statistics

Removed `bfpsi0' from bigfloat tests (DrDr's libmpfr doesn't have it)

Commented out custodian shutdown callback that frees MPFR's cache
(something's broken)
2012-12-06 22:52:22 -07:00
Neil Toronto
f607a3b061 Added stress test: libmpfr C struct accessor vs. Racket struct accessor 2012-12-06 22:52:22 -07:00
Vincent St-Amour
cc8bd4f294 Make srclocs serializable. 2012-12-06 17:53:04 -05:00
Neil Toronto
6e02d12beb Reimplemented `mpfr_set_z_2exp' in Racket as a fallback for older versions
of libmpfr (like DrDr's) that don't have it

Reimplemented really simple FFI functions (e.g. mpfr-prec, mpfr-exp) to
avoid calling overhead

Renamed `bigfloat-sign' to `bigfloat-signbit'

Renamed `bigfloat-sig+exp' to `bigfloat->sig+exp' (for symmetry with
`sig+exp->bigfloat')
2012-12-06 13:43:23 -07:00
Asumu Takikawa
c7162ec533 Fix TR error for missing mandatory keywords 2012-12-06 12:20:54 -05:00
Neil Toronto
2ac2262f00 Removed fallback to 'mpfr_set_z_exp - didn't work, probably never existed 2012-12-05 22:31:07 -07:00
Neil Toronto
fcc08fa89e Fixed bigfloats on Win64. Win64's long type is 32 bits and GMP's default is to
use longs for the "limbs" of bigints. However, when GMP's configure script
detects that mingw64 is compiling, it defines LONG_LONG_LIMB, which makes the
type of limbs long long, or 64 bits. This is fine; a 64-bit machine should use
64-bit ints for the digits of its bigints. It would have been nice to know
this special case earlier, though I can see why it's not advertised: most
users don't need to know, and it seems like it's obviously the right choice to
make when dealing with Win64's annoying ABI.

Made "mpfr.rkt" search for 'mpfr_set_z_exp if 'mpfr_set_z_2exp isn't found.
Hopefully this allows the bigfloat tests to finish on DrDr. If not, DrDr
will need a libmpfr upgrade.

Made some minor doc fixups
2012-12-05 20:29:59 -07:00
Philippe Mechai
00827a133a Fix language config dialog not showing when some languages are disabled 2012-12-05 18:45:04 -05:00
Ryan Culpepper
039abedc10 fix display when reader abbreviations disabled 2012-12-05 14:47:27 -05:00
Ryan Culpepper
dbf8026576 log time for macro-stepper gui steps 2012-12-05 12:19:18 -05:00
Ryan Culpepper
ce567c861e use define-logger 2012-12-05 12:19:16 -05:00
Matthew Flatt
fc7fa68039 remove test for removed library
And remove the `props' entry again.
2012-12-05 11:18:02 -06:00
Matthew Flatt
863af8c480 try again to fix props
I deleted the entry before.
2012-12-05 11:10:33 -06:00
Matthew Flatt
a559347f4c remove property for removed file 2012-12-05 08:33:50 -06:00
Matthew Flatt
8e5a42bb3c remove docs for removed library 2012-12-05 08:32:53 -06:00
Matthew Flatt
62019bbd0f raco setup: flush loaded "info-domain" when info is updated
Fixes problems updating user-specific documentation on a
package install, for example.
2012-12-05 08:26:40 -06:00
Matthew Flatt
64f0273829 fix printing problem with flvectors 2012-12-05 05:56:59 -06:00
Matthew Flatt
7a85072cf4 dist-specs and build: include math libs 2012-12-05 05:56:59 -06:00
Robby Findler
6b3b59e4a8 more "this function is useless" notes in old contract functions 2012-12-04 21:07:34 -06:00
Jay McCarthy
40964d766e Nicer indentation and fixing a typo in db reading 2012-12-04 19:41:00 -07:00
Nadeem Abdul Hamid
c0a412ed0e fix close parens behavior in interactions and comments 2012-12-04 20:39:10 -06:00
Robby Findler
d30e7c6771 clarify that flat-contract is essentially useless now 2012-12-04 19:58:19 -06:00
Vincent St-Amour
9a5db10124 Fix tests. 2012-12-04 19:29:16 -05:00
Vincent St-Amour
ac58c45477 Disable optimization of mixed-mode arithmetic that may involve exact 0.
Exact 0 turns out to also be a corner case for addition.

At this point, mixed-mode optimizations pretty much only apply for mixes
of floats and literal non-zero non-floats.
2012-12-04 19:29:16 -05:00
Vincent St-Amour
45a3b9f48d Don't warn about exact arithmetic for inexact numbers. 2012-12-04 19:29:16 -05:00
Vincent St-Amour
93939f45d0 Don't optimize mixed-mode arithmetic if it would change results. 2012-12-04 19:29:16 -05:00
Vincent St-Amour
fb73bc8b0e Fix partial bounds checking elimination.
Closes PR13341.
2012-12-04 19:29:16 -05:00
Vincent St-Amour
a84e04e1e4 Use the regular Racket reader, not TR's. 2012-12-04 19:29:16 -05:00
Vincent St-Amour
ca47b1c693 Be less aggressive about fixnum recommendations.
Reduces false positives.
2012-12-04 19:29:15 -05:00
Vincent St-Amour
6d231da14f Typo. 2012-12-04 19:29:15 -05:00
Vincent St-Amour
e4af200c89 Hide OC control panel if an error occurs during expansion. 2012-12-04 19:29:15 -05:00
Vincent St-Amour
d544e9fbe7 Fix source location information for do:' and let:'. 2012-12-04 19:29:15 -05:00
Danny Yoo
7beb132b66 Removes red-black from syntax-color/private; refactored into PLaneT2 as 'data-red-black' package. 2012-12-04 16:46:31 -07:00
Asumu Takikawa
5802b42f66 Support path/object reasoning for promises 2012-12-04 18:03:11 -05:00
Asumu Takikawa
04e8e33313 Provide a more informative internal error 2012-12-04 16:10:39 -05:00
Asumu Takikawa
3f2d4663a8 Fix call/comp's type 2012-12-04 16:10:39 -05:00
Carl Eastlund
46dc3ef33b Made Ryan responsible for unstable/cat. 2012-12-04 16:01:04 -05:00
Neil Toronto
055512b4e8 Renamed make-flexp/base' to make-flexpt'
Renamed `dist' struct type to `distribution' ("dist" is too common)
2012-12-03 22:45:31 -07:00
Neil Toronto
6ca52be0ae Stopped exporting `slice-indexes-array' 2012-12-03 22:45:31 -07:00
Neil Toronto
897ebeae83 Remove now-extraneous use of `flvector->list' in examples 2012-12-03 22:45:31 -07:00
Neil Toronto
d935bc0643 Split "mpfr.rkt" into "gmp.rkt" and "mpfr.rkt"
Fixed bigfloat functions that assumed (fixnum? x) means x fits in a _long
(not true on Win64)

Hopefully fixed dangling pointer errors that broke `math/bigfloat' on Win64.
It apparently had no _long/_int mismatches, but GC on Win64 will run between
creating an `_mpz' and using its value after passing it as an output argument
to MPFR functions. That doesn't seem to happen on 64-bit Linux or Mac. No
idea why, but Win64 exposed the problem so... that's good, I guess.

Rewrote `rational->bigfloat' to not use GMP's rationals

More/better bigfloat tests

Added bigfloat stress test w/ weak leak detection

Reenabled custodian shutdown callback that clears MPFR constants, because it
seems to work now

Removed `mpfr-available?' because it would only return non-#f
2012-12-03 22:45:31 -07:00
Matthew Flatt
bd1a63a43a racket/pretty: fix `print' mode for fxvectors and flvectors
Closes PR 13340
2012-12-03 22:44:21 -07:00
Jay McCarthy
ce7b9f7b6f Deal with bad metadata more gracefully
Without this patch, you can't uninstall or do anything if a single
package has broken metadata, because everything crashes.
2012-12-03 22:17:53 -07:00
Jay McCarthy
7235382107 Fixing typos in various places 2012-12-03 22:07:48 -07:00
Vincent St-Amour
ee0a1d4b89 Randomly test the TR optimizer.
Compares results of a Racket and a TR sandbox.
2012-12-03 21:54:01 -05:00
Matthew Flatt
cd257fe65b setup/xref: simplify db interaction
Relies on improvements to SQLite retry support.
2012-12-03 18:57:53 -07:00