Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

upd #2

Merged
merged 215 commits into from
Feb 14, 2017
Merged

upd #2

merged 215 commits into from
Feb 14, 2017

Conversation

felixrehren
Copy link
Owner

No description provided.

timholy and others added 30 commits February 3, 2017 05:02
* Complete deprecation of stored zeros; IntSets now only support integers in the range `1:typemax(Int)`
* Complete deprecation of `complement`; removes all support for inverted IntSets
* Refactor internals to rely on a BitVector, allowing the use of highly optimized `map` methods. `IntSet` is now immutable. This significantly improves performance across varying [densities](http://imgur.com/a/uqv8A) and [sizes](http://imgur.com/a/iEgcr). These are compared against a modified Base with deprecation warnings removed for a fairer comparison. Testing code [available here](https://github.com/mbauman/IntSets.jl/tree/b50a7c97abbe9786e33221f723e107e266f31fe4/test).
* Add more tests and organize into testsets.
* Improve hashing; `hash(IntSet([1]))` is now distinct from `hash(IntSet([65]))`

This is a continuation of #10065. Now that complements are fully removed, making IntSet immutable solves the performance issue. I am keeping the name the same within this PR as it vastly simplifies comparisons between the two implementations; the name can later be changed to `IndexSet` if still desired. The naming story is now a bit more complicated since we support offset indices, but a future change could perhaps allow wrapping any `AbstractVector{Bool}` and base the supported `Int`s on those indices. Very few methods depend upon BitArray internals.
We were allocating enough memory to hold all eigenvectors even when only
computing only a range.
when reusing a _FDWatcher, the check for whether it is already in use needs to happen after we check if there's already an existing _FDWatcher
Fix `summary` for cases of mixed indices-types
add a fast path to typeintersect that works around #20450
remove 0.5 syntax deprecation warnings
* re-allow vector*(1-row matrix) and transpose (closes #20389)
add oneunit(x) for dimensionful version of one(x), and change one -> oneunit where appropriate.
…20248)

Only integer indices are supported by the generic interface, so better
raise a MethodError for other element types rather than failing later.
Ideally the Bool-specific method would not be needed, but it is required
as long as Bool<:Integer.
Previously a method for tuples existed which permited multidimensional
indexing. However, the method merely splatted the dimensions and ended
up calling itself, infinitely recursing. This commit replaces the method
with one that permits the desired behavior for broadcast without
permitting things like (1,)[1,1].
Allocate less memory in stegr! when range == 'I'
RFC: no longer prefix showed stackframes by "in"
vtjnash and others added 29 commits February 11, 2017 23:24
Throw informative error for `eltype(Union{})`
deprecate `typealias` in favor of `const` assignment or `A{B} = ...`
Call constructor instead of `oftype(..., nothing)` to construct a null Nullable.
GC marking micro optimizations
reorg code for builtins and intrinsics
better error message for using a non-symbol as a typevar name
minor codegen and inference changes
this logic needed to be updated for jb/subtype
fix #16424, allow redefining a type to an equivalent one
Loop over the arguments in `abstract_apply` and invoke the
modified/renamed `precise_container_type` for each individual argument.
Translate some cases where the container type cannot be inferred
precisely into Vararg's (instead of bailing out and inferring
`f(::Any...)`) and fuse Vararg's with further arguments into a single
trailing Vararg.
…20488)

* make sparse and dense arrays print more similarly

* update doctest after dropstored fix

* add extra method for isassigned for mixed indices

* change confusing doctest

* fixup

* change adding isassigned to Int on call ot it

* various fixes

* address review

* more .+1
Closes #20518 and improves inference when splatting genetal iterables.
RFC: Better inference of `_apply()` (splatting)
deprecate vectorized ! and ~ in favor of dot syntax
…whitespace and empty strings (#20588)

Make `parse` display specific error messages if string is empty or contains only whitespace
* Fix real Hermitian inverse error

* Test inverse of real Hermitian and Symmetric matrix constructed from an asymmetric matrix
@felixrehren felixrehren merged commit 2d17dd9 into felixrehren:master Feb 14, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.