Skip to content

Commit

Permalink
fix conflicts and rebase
Browse files Browse the repository at this point in the history
  • Loading branch information
mforets committed Jan 16, 2019
2 parents caa0c7f + 3ff5b21 commit d864d3c
Show file tree
Hide file tree
Showing 51 changed files with 1,526 additions and 242 deletions.
4 changes: 3 additions & 1 deletion Project_tmp
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
# basic package information
name = "LazySets"
uuid = "b4f0291d-fe17-52bc-9479-3d1a343d9043"
version = "1.3.0"
version = "1.5.2"
author = ["Marcelo Forets",
"Christian Schilling",
"Frédéric Viry"]

[deps]
# add dependencies here
Compat = "34da2185-b29b-5c13-b0c7-acf172513d20"
Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b"
Expokit = "a1e7a1ef-7a5d-5822-a38c-be74e1bb89f4"
GLPKMathProgInterface = "3c7084bd-78ad-589a-b5bb-dbd673274bea"
IntervalArithmetic = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253"
MathProgBase = "fdba3010-5040-5b88-9595-932c9decdf73"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
SharedArrays = "1a1011a3-84de-559e-8e89-a11a2f7dc383"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"

[compat]
Expand Down
5 changes: 5 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[deps]
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"

[compat]
Documenter = "~0.19.7"
5 changes: 4 additions & 1 deletion docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,18 @@ makedocs(
"A Reachability Algorithm" => "man/reach_zonotopes.md",
"A Hybrid Reachability Algorithm" => "man/reach_zonotopes_hybrid.md",
"Concrete Polyhedra" => "man/concrete_polyhedra.md",
"Parallel Approximations" => "man/parallel_approximations.md"
],
"Library" => Any[
"Set Interfaces" => "lib/interfaces.md",
"Common Set Representations" => "lib/representations.md",
"Common Set Operations" => "lib/operations.md",
"Conversion between set representations" => "lib/conversion.md",
"Comparisons" => "lib/comparisons.md",
"Conversions between set representations" => "lib/conversion.md",
"Binary Functions on Sets" => "lib/binary_functions.md",
"Approximations" => "lib/approximations.md",
"Utility Functions" => "lib/utils.md",
"Parallel" => "lib/parallel.md"
],
"About" => "about.md"
]
Expand Down
2 changes: 1 addition & 1 deletion docs/make_doctests_only.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Documenter, LazySets
using Documenter, LazySets, Polyhedra, Optim

makedocs(
doctest = true,
Expand Down
4 changes: 2 additions & 2 deletions docs/src/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,8 @@ approximations computed with [SpaceEx](http://spaceex.imag.fr/).
These persons have contributed to `LazySets.jl` (in alphabetic order):

- Tomer Arnon
- [Marcelo Forets](http://marcelo-forets.fr)
- [Marcelo Forets](http://main.marcelo-forets.fr/)
- [Christian Schilling](https://schillic.github.io/)
- Frédéric Viry

We are also grateful to Goran Frehse for enlightening discussions.
We are also grateful to [Goran Frehse](https://sites.google.com/site/frehseg/) for enlightening discussions.
9 changes: 7 additions & 2 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,9 +185,11 @@ Pages = [
"man/iterative_refinement.md",
"man/interval_hulls.md",
"man/convex_hulls.md",
"man/set_operations.md",
"man/reach_zonotopes.md",
"man/reach_zonotopes_hybrid.md",
"man/concrete_polyhedra.md"
"man/concrete_polyhedra.md",
"man/parallel_approximations.md"
]
Depth = 2
```
Expand All @@ -199,9 +201,12 @@ Pages = [
"lib/interfaces.md",
"lib/representations.md",
"lib/operations.md",
"lib/comparisons.md",
"lib/conversion.md",
"lib/binary_functions.md",
"lib/approximations.md",
"lib/utils.md"
"lib/utils.md",
"lib/parallel.md"
]
Depth = 2
```
48 changes: 28 additions & 20 deletions docs/src/lib/binary_functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,26 +14,6 @@ DocTestSetup = quote
end
```

## Subset check

```@docs
⊆(::LazySet{N}, ::AbstractHyperrectangle{N}, ::Bool=false) where {N<:Real}
⊆(::AbstractPolytope{N}, ::LazySet{N}, ::Bool=false) where {N<:Real}
⊆(::AbstractPolytope{N}, ::AbstractHyperrectangle, ::Bool=false) where {N<:Real}
⊆(::AbstractHyperrectangle{N}, ::AbstractHyperrectangle{N}, ::Bool=false) where {N<:Real}
⊆(::LazySet{N}, ::Union{AbstractPolytope{N}, HPolyhedron{N}, HalfSpace{N}}, ::Bool=false) where {N<:Real}
⊆(::AbstractSingleton{N}, ::LazySet{N}, ::Bool=false) where {N<:Real}
⊆(::AbstractSingleton{N}, ::AbstractHyperrectangle{N}, ::Bool=false) where {N<:Real}
⊆(::AbstractSingleton{N}, ::AbstractSingleton{N}, ::Bool=false) where {N<:Real}
⊆(::Ball2{N}, ::Ball2{N}, ::Bool=false) where {N<:AbstractFloat}
⊆(::Union{Ball2{N}, Ballp{N}}, ::AbstractSingleton{N}, ::Bool=false) where {N<:AbstractFloat}
⊆(::LineSegment{N}, ::LazySet{N}, ::Bool=false) where {N<:Real}
⊆(::LineSegment{N}, ::AbstractHyperrectangle{N}, ::Bool=false) where {N<:Real}
⊆(::Interval, ::Interval)
⊆(::EmptySet{N}, ::LazySet{N}, ::Bool=false) where {N<:Real}
⊆(::LazySet{N}, ::EmptySet{N}, ::Bool=false) where {N<:Real}
```

## Check for emptiness of intersection

```@docs
Expand All @@ -53,6 +33,14 @@ is_intersection_empty(::LazySet{N}, ::Union{HPolyhedron{N}, HPolytope{N}, Abstra
is_intersection_empty(::HPolytope{N}, ::HPolytope{N}, ::Bool=false) where {N<:Real}
```

## Convex hull

```@docs
convex_hull(::HPoly{N}, ::HPoly{N}) where {N<:Real}
convex_hull(::VPolytope{N}, ::VPolytope{N}) where {N<:Real}
convex_hull(::VPolygon{N}, ::VPolygon{N}) where {N<:Real}
```

## Intersection of two sets

```@docs
Expand All @@ -66,3 +54,23 @@ intersection(::HPoly{N}, ::VPolytope{N}) where {N<:Real}
intersection(::HPoly{N}, ::AbstractPolytope{N}) where {N<:Real}
intersection(::S1, ::S2) where {N<:Real, S1<:AbstractPolytope{N}, S2<:AbstractPolytope{N}}
```

## Subset check

```@docs
⊆(::LazySet{N}, ::AbstractHyperrectangle{N}, ::Bool=false) where {N<:Real}
⊆(::AbstractPolytope{N}, ::LazySet{N}, ::Bool=false) where {N<:Real}
⊆(::AbstractPolytope{N}, ::AbstractHyperrectangle, ::Bool=false) where {N<:Real}
⊆(::AbstractHyperrectangle{N}, ::AbstractHyperrectangle{N}, ::Bool=false) where {N<:Real}
⊆(::LazySet{N}, ::Union{AbstractPolytope{N}, HPolyhedron{N}, HalfSpace{N}}, ::Bool=false) where {N<:Real}
⊆(::AbstractSingleton{N}, ::LazySet{N}, ::Bool=false) where {N<:Real}
⊆(::AbstractSingleton{N}, ::AbstractHyperrectangle{N}, ::Bool=false) where {N<:Real}
⊆(::AbstractSingleton{N}, ::AbstractSingleton{N}, ::Bool=false) where {N<:Real}
⊆(::Ball2{N}, ::Ball2{N}, ::Bool=false) where {N<:AbstractFloat}
⊆(::Union{Ball2{N}, Ballp{N}}, ::AbstractSingleton{N}, ::Bool=false) where {N<:AbstractFloat}
⊆(::LineSegment{N}, ::LazySet{N}, ::Bool=false) where {N<:Real}
⊆(::LineSegment{N}, ::AbstractHyperrectangle{N}, ::Bool=false) where {N<:Real}
⊆(::Interval, ::Interval)
⊆(::EmptySet{N}, ::LazySet{N}, ::Bool=false) where {N<:Real}
⊆(::LazySet{N}, ::EmptySet{N}, ::Bool=false) where {N<:Real}
```
25 changes: 25 additions & 0 deletions docs/src/lib/comparisons.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Comparisons

This section of the manual lists the comparison functions in floating point between scalars and between vectors.

```@contents
Pages = ["comparisons.md"]
Depth = 3
```

```@meta
CurrentModule = LazySets
DocTestSetup = quote
using LazySets
end
```

```@docs
_leq(x::N, y::N; kwargs...) where {N<:Real}
_leq(x::N, y::M; kwargs...) where {N<:Real, M<:Real}
_geq(x::Real, y::Real; kwargs...)
isapproxzero(x::Real; kwargs...)
isapproxzero(x::N; ztol::Real=ABSZTOL(N)) where {N<:AbstractFloat}
_isapprox(x::N, y::N; rtol::Real=Base.rtoldefault(N), ztol::Real=ABSZTOL(N), atol::Real=zero(N)) where {N<:AbstractFloat}
_leq(x::N, y::N; rtol::Real=Base.rtoldefault(N), ztol::Real=ABSZTOL(N), atol::Real=zero(N)) where {N<:AbstractFloat}
```
8 changes: 7 additions & 1 deletion docs/src/lib/interfaces.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,19 @@ diameter(::LazySet, ::Real=Inf)
isbounded(::LazySet)
isbounded_unit_dimensions(::LazySet{N}) where {N<:Real}
an_element(::LazySet{N}) where {N<:Real}
==(::LazySet, ::LazySet)
RecipesBase.apply_recipe(::Dict{Symbol,Any}, ::LazySet)
RecipesBase.apply_recipe(::Dict{Symbol,Any}, ::Vector{S}) where {S<:LazySet}
RecipesBase.apply_recipe(::Dict{Symbol,Any}, ::LazySet, ::Float64)
RecipesBase.apply_recipe(::Dict{Symbol,Any}, ::Vector{S}, ::Float64) where {S<:LazySet}
```

### Set functions that override Base functions

```@docs
==(::LazySet, ::LazySet)
copy(::LazySet)
```

### Aliases for set types

```@docs
Expand Down
22 changes: 22 additions & 0 deletions docs/src/lib/operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -305,3 +305,25 @@ Inherited from [`AbstractHyperrectangle`](@ref):
* [`vertices_list`](@ref vertices_list(::AbstractHyperrectangle{N}) where {N<:Real})
* [`high`](@ref high(::AbstractHyperrectangle{N}) where {N<:Real})
* [`low`](@ref low(::AbstractHyperrectangle{N}) where {N<:Real})

## Union

### Binary Set Union

```@docs
UnionSet
∪(::LazySet, ::LazySet)
dim(::Union)
σ(::AbstractVector{N}, ::UnionSet{N}; algorithm="support_vector") where {N<:Real}
ρ(::AbstractVector{N}, ::UnionSet{N}) where {N<:Real}
```

### ``n``-ary Set Union

```@docs
UnionSetArray
dim(::UnionSetArray)
array(::UnionSetArray{N, S}) where {N<:Real, S<:LazySet{N}}
σ(::AbstractVector{N}, ::UnionSetArray{N}; algorithm="support_vector") where {N<:Real}
ρ(::AbstractVector{N}, ::UnionSetArray{N}) where {N<:Real}
```
40 changes: 40 additions & 0 deletions docs/src/lib/parallel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Parallel

This section of the manual describes the parallel implementation of some
algorithms in the `LazySets` library. These algorithms are implemented in the
`LazySets.Parallel` module.

```@contents
Pages = ["parallel.md"]
Depth = 3
```

```@meta
CurrentModule = LazySets.Parallel
DocTestSetup = quote
using LazySets, LazySets.Parallel
end
```

```@docs
Parallel
```

## Box approximations

```@docs
LazySets.Parallel.interval_hull
LazySets.Parallel.box_approximation
LazySets.Parallel.symmetric_interval_hull
LazySets.Parallel.box_approximation_symmetric
LazySets.Parallel.box_approximation_helper_parallel
LazySets.Parallel.process_chunk!
```

## Distributed functions

```@docs
LazySets.Parallel.assign_chunk!
LazySets.Parallel.distribute_task!
LazySets.Parallel._prange
```
8 changes: 6 additions & 2 deletions docs/src/lib/representations.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ center(::Ball1{N}) where {N<:Real}
rand(::Type{Ball1})
constraints_list(::Ball1{N}) where {N<:Real}
```

Inherited from [`LazySet`](@ref):
* [`norm`](@ref norm(::LazySet, ::Real))
* [`radius`](@ref radius(::LazySet, ::Real))
Expand Down Expand Up @@ -241,6 +242,8 @@ vertices_list(::Interval{N}) where {N<:Real}
center(::Interval{N}) where {N<:Real}
min(::Interval{N}) where {N<:Real}
max(::Interval{N}) where {N<:Real}
low(::Interval{N}) where {N<:Real}
high(::Interval{N}) where {N<:Real}
radius_hyperrectangle(::Interval{N}) where {N<:Real}
radius_hyperrectangle(::Interval{N}, ::Int) where {N<:Real}
+(::Interval{N}, ::Interval{N}) where {N<:Real}
Expand Down Expand Up @@ -383,6 +386,8 @@ vertices_list(::VPolygon{N}) where {N<:Real}
tohrep(::VPolygon{N}, ::Type{HPOLYGON}=HPolygon) where {N<:Real, HPOLYGON<:AbstractHPolygon}
tovrep(::VPolygon{N}) where {N<:Real}
constraints_list(::VPolygon{N}) where {N<:Real}
remove_redundant_vertices(::VPolygon{N}; ::String="monotone_chain") where {N<:Real}
remove_redundant_vertices!(::VPolygon{N}; ::String="monotone_chain") where {N<:Real}
```
Inherited from [`LazySet`](@ref):
* [`norm`](@ref norm(::LazySet, ::Real))
Expand Down Expand Up @@ -430,11 +435,9 @@ dim(::HPoly{N}) where {N<:Real}
∈(::AbstractVector{N}, ::HPoly{N}) where {N<:Real}
addconstraint!(::HPoly{N}, ::LinearConstraint{N}) where {N<:Real}
constraints_list(::HPoly{N}) where {N<:Real}
copy(P::PT) where {N, PT<:HPoly{N}} where {N<:Real}
tosimplehrep(::HPoly{N}) where {N<:Real}
tohrep(::HPoly{N}) where {N<:Real}
isempty(::HPoly{N}) where {N<:Real}
convex_hull(::HPoly{N}, ::HPoly{N}) where {N<:Real}
cartesian_product(::HPoly{N}, ::HPoly{N}) where {N<:Real}
tovrep(::HPoly{N}) where {N<:Real}
polyhedron(::HPoly{N}) where {N<:Real}
Expand Down Expand Up @@ -483,6 +486,7 @@ dim(::VPolytope)
σ(::AbstractVector{N}, ::VPolytope{N}) where {N<:Real}
rand(::Type{VPolytope})
vertices_list(::VPolytope{N}) where {N<:Real}
remove_redundant_vertices(::VPolytope{N}) where {N<:Real}
constraints_list(::VPolytope{N}) where {N<:Real}
tohrep(::VPolytope{N}) where {N<:Real}
tovrep(::VPolytope)
Expand Down
Loading

0 comments on commit d864d3c

Please sign in to comment.