Vincent St-Amour
7e7bef773f
Have resource limits for individual test cases.
...
So that a term that takes too long doesn't doom the whole run.
2015-11-10 10:33:49 -06:00
Sam Tobin-Hochstadt
d9e3c2ac6a
Repair da574a4
again.
2015-11-10 08:59:18 -05:00
Sam Tobin-Hochstadt
983b509f2a
Repair da574a4
.
2015-11-09 23:28:00 -05:00
Vincent St-Amour
249ae295e8
DrDr has a different FPU than I do.
2015-11-09 21:36:28 -06:00
Sam Tobin-Hochstadt
da574a47d0
Handle in-vector
with range arguments.
...
* Add `normalise-inputs` to special function env.
* Treat eta-expansion specially. Now
`(lambda (x ...) (f x ...))`
will typecheck like `f` but with a type restricted to
the size of `x ...`.
Currently, this special case only works for non-polymorphic
functions.
2015-11-09 19:04:14 -05:00
ben
5d4477d08d
safe & efficient (-> Any Boolean) contract
...
New strategy for compiling the (-> Any Boolean) type to a contract.
When possible, uses `struct-predicate-procedure?` instead of
wrapping in `(-> any-wrap/c boolean?)`.
Makes exceptions for untyped chaperones/impersonators over struct predicates;
those are always wrapped with `(-> any-wrap/c boolean?)`.
This change also affects (require/typed ... [#:struct ...]), but not #:opaque
2015-11-09 19:04:02 -05:00
Georges Dupéron
67bd07a84a
Fixes type of member
and assoc
, plus some tests for them. See github bug #223 : “(member) has wrong type, exploiting the hole causes segfault”.
2015-11-09 19:04:02 -05:00
Vincent St-Amour
177fdb9684
More drdr-found counterexamples.
...
All fixed already, but were found before I pushed the fixes.
2015-11-09 17:24:12 -06:00
Vincent St-Amour
65b6d3e019
Abstract over operations properly.
...
Found using random testing.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
7346abf91c
Preserve sign better in real-complex ops.
...
Found using random testing.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
d91d89ffc1
Improve code gen for real-complex division.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
db79beaf12
Actual fix for not suppressing divide-by-0 errors.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
623a29eff4
Avoid dependency between non-float and is-real properties.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
36a39f7e5d
Simplify interface.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
d50ccec0b9
Revert div-by-0 fix. Breaks other things.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
63e26cf17a
Avoid suppressing divide-by-0 errors.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
6a2c8ca9f7
Fix the fix to flexpt.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
5fe4e6b03f
Add missing coercion.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
0b2ae25c92
Propagate fix to division.
...
Found using random testing, at least twice.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
7ef06f74c9
Extend this handling to multiplication.
...
Found using random testing.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
b101d396a3
Avoid premature float conversions.
...
Found using random testing.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
7ba1ab6e51
Use correct imaginary binding.
...
Fixes 13 bugs found using random testing.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
b6e6a6fa98
Add test for real-complex interaction.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
f2bb83b012
That bug has been fixed.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
f523fb1721
Recognize as real values that are not immediately consumed.
...
Fixes 18 bugs found via random testing.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
46f2ed95d3
Fix tests for more conservative types.
2015-11-09 17:16:08 -06:00
Vincent St-Amour
9385f6e350
Yet another fix for expt and complexes.
...
Found using random testing. Found once.
2015-11-09 17:16:08 -06:00
Vincent St-Amour
5ce00a90d2
Fix sign property of n-ary division.
...
Found using random testing. Found 4 times.
2015-11-09 17:16:08 -06:00
Vincent St-Amour
23de6a654e
Fix another NaN case in expt.
...
Found using random testing. Found 3 times.
2015-11-09 17:16:08 -06:00
Vincent St-Amour
3ef8fe1739
Fix type of expt for bignums that get converted to infinity.
...
Found using random testing. Found 10 times.
2015-11-09 17:16:08 -06:00
Vincent St-Amour
a0ef6b1d8c
Fix type of expt.
...
Found using random testing. Found 10 times.
2015-11-09 17:16:08 -06:00
Vincent St-Amour
ef80d61ae9
Fix port interleaving.
2015-11-09 17:16:08 -06:00
Vincent St-Amour
16a18d7648
Fix type of flexpt.
...
Found using random testing. Found 9 times.
2015-11-09 17:16:08 -06:00
Vincent St-Amour
bd12a1b928
Add a regression test suite with historical counterexamples found by DrDr.
2015-11-09 17:16:08 -06:00
Sam Tobin-Hochstadt
37bfd24a0b
Add test for or/c problem.
2015-11-06 14:35:46 -05:00
Alex Knauth
6c11b58f69
Merge pull request #236 from AlexKnauth/racket/unit-base
...
Don't provide Unit from typed/racket/base
2015-11-05 17:49:49 -05:00
Alex Knauth
43dc7632d4
don't provide Unit from typed/racket/base
2015-11-05 17:14:35 -05:00
Alex Knauth
390dc3a2b1
provide Unit from typed/racket/unit
2015-11-05 17:14:35 -05:00
Vincent St-Amour
2e100bcb33
Remove unsafety altogether.
...
The bytecode optimizer can do the same transformation.
2015-11-03 20:11:46 -06:00
Vincent St-Amour
2881cffdc2
Simplify unsafe op usage.
2015-11-03 18:27:20 -06:00
Vincent St-Amour
e4edf7a9ee
Remove tests made obsolete by safety improvements.
2015-11-03 18:04:44 -06:00
Vincent St-Amour
89a06cfae6
Fix bitwise-and on negative numbers.
...
Found using random testing.
2015-11-03 16:02:05 -06:00
Vincent St-Amour
58e97f83ea
Fix sign propagation for division.
...
Found using random testing.
2015-11-03 15:47:32 -06:00
Vincent St-Amour
207a12fa23
Fix the fix to compound pair optimimzations.
...
Previous version could drop code on the ground in some cases.
2015-11-03 14:35:32 -06:00
Vincent St-Amour
8f32aad3ee
Remove not-actually-unsafe unsafe operations.
2015-11-03 14:34:39 -06:00
Vincent St-Amour
5b57736af6
Guard some unsafe ops.
2015-11-03 14:32:23 -06:00
Vincent St-Amour
59b5cb7346
Remove unused dependency.
2015-11-03 14:25:49 -06:00
Vincent St-Amour
f14793c462
Remove potentially incorrect unsafe operation.
2015-11-03 14:11:49 -06:00
Vincent St-Amour
da97da5ff8
Fix type of expt when mixing floats and float complexes.
...
Found using random testing.
2015-11-02 19:31:00 -06:00
Vincent St-Amour
ca9306bb1d
Use more precise notion of "real argument" for multiplication too.
...
Found using random testing.
2015-11-02 19:31:00 -06:00